JPEG-baseline standard VS progressive: Kompression Kosten
Wir sind JPEG-komprimiert, um eine große Menge von Bildern on-the-fly.
Dies ist ein server-Seite Prozess interaktiv zu bereiten Bilder an den Kunden-Browser.
Mit progressive Kompression verbessert die user experience.
Ich weiß, dass diese Komprimierung erfordert mehr Rechenzeit zur Dekomprimierung, aber das ist nicht ein Problem.
Ich würde gerne wissen, ob progressive Kompression ist kostspieliger zu, und wie viel (ohne meine eigene serie von tests und benchmarks).
- Was Kosten (Zeit/Größe)? Progressive JPEG-definitiv braucht mehr CPU-Zeit, Sie zu verwirklichen; ist das, was du fragst oder du fragst, wenn die Dateien größer werden?
- Ich Rede CPU-Zeit.
- Je nachdem, wie Sie es umsetzen, es muss nicht zu einer drastischen Unterschied, und es hängt davon ab, wie viele scans, die Sie erstellen für jedes Bild. Progressive Kodierung, braucht auch mehr Arbeitsspeicher, da der FDCT verwandelt MCUs müssen in Erinnerung bleiben. Jeder scan muss eine Schleife durch die einzelnen Koeffizienten für jede MCU und extrahieren Sie die richtigen bits, dann Entropie-Kodieren. Die tatsächliche Menge von Speicher-und CPU-Bedarf für die progressive Kodierung ist einzigartig für den jeweiligen codec, da gibt es mehr als einen Weg, es zu tun.
- Ich bin mit MAC OS X Core Graphics API zu tun, die Sache. Und ich erlebe eine deutliche Zunahme der Kompression Zeit. Ich werde auf jeden Fall laufen einige benchmarks. Doch mit Erstaunen bemerkte ich mehrere Browser nicht wiedergegeben progressive JPEG-Dateien Scannen von Scannen, ist Safari (mobile und desktop).
- Ich bin nicht vertraut mit Mac, also kann ich nicht kommentieren. Macht es Sinn, dass einige Browser nicht angezeigt, das Bild progressiv, weil es erfordern würde, um die Interaktion zwischen dem codec und der browser-rendering-engine. Wenn der verwendete codec ist eine externe Bibliothek, es kann nicht sein, eine option zu erhalten, werden die Bilder mit niedriger Auflösung, wie Sie entschlüsselt werden.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie das komprimieren im Laufenden Betrieb, dann baseline wird Ihnen erlauben, zu stream komprimierte Daten an den client sogar beenden, bevor Sie das herunterladen und konvertieren von rest des Bildes. So können Sie reduzieren die Latenz. OTOH, um progressive JPEG-komprimieren, die Sie benötigen zum download der gesamten Quelle Bild zuerst.
Für kleinere Bilder wie thumbnails und Avatare es wird nicht egal, so oder so.
Für große Bilder... es hängt davon ab, Kompressor, Anzahl der progressive scans und Bild-Größen. Kosten vernachlässigbar im Vergleich zu baseline optimiert oder könnte verdoppelt werden im Vergleich zu one-pass-streaming-encoder.
Nach dem ausführen von benchmarks ist mir aufgefallen, dass erzeugen ein JPEG benötigt eine bestimmte Menge an cpu-Zeit, der ungefähr proportional zu der Anzahl von progressiven scans
Was ich bereits in meiner Frage...
ist eigentlich falsch, da die meisten Browser zeigen das Bild nur, wenn Sie vollständig geladen durch den AUFTRAGGEBER.