GIF89a-Browsertest

(geändert: )

Prolog

Diese Seite testet, mit welcher Qualität Ihr Browser GIF89a-Bilder darstellt. Ein „animiertes“ GIF-Bild wird dem Browser als GIF-Datei im Format der sogenannten „GIF89a-Definition“ übergeben. Eine GIF89a-Datei enthält mehrere Einzelbilder (auch „Frames“ genannt), die automatisch vom Browser nacheinander angezeigt werden. Dazu enthält die Datei neben den Frames eine für alle Frames geltende Anzeigedauer (in Millisekunden pro Frame) und für jeden Frame einen ganzzahligen Wiederholungsfaktor. Jedes der 15 unten gezeigten GIF89a-Bilder (Balken) enthält 400 Frames mit den links daneben stehenden Frame-Zeiten für einen Wiederholungsfaktor von 1. Von Frame zu Frame liegt der senkrechte Strich um ein Pixel weiter rechts. Im Balken für 20 ms z. B. sollte der Strich in einer Sollzeit von ca. 8 Sekunden einmal durchgelaufen sein (400 ∙ 20 ms = 8 s). Die Praxis sieht teilweise jedoch anders aus. (Wenn der „Restart“-Knopf nicht funktioniert, dann muß man den „Restart“ der GIFs und des Timers über ein Neuladen der Seite versuchen.)

Der Test

Windows

Firefox (3.5) schneidet nicht ganz befriedigend ab, weil die Frames zeitlich etwas ruckartig ablaufen. Für vorgegebene Frame-Zeiten < 20 ms wird eine Frame-Zeit von 100 ms benutzt (vergleiche Balken für 10 ms und für 100 ms). Mit dem Task-Manager ist praktisch keine CPU-Belastung zu messen! Und die Framezeiten werden einigermaßen genau eingehalten.

Opera (10.00) hat sich seit der Version 9.50 enorm verbessert und schneidet wegen des sehr gleichmäßigen Ablaufs der Frames am besten ab. Wärend in der Version vor 10.00 bestimmte Geschwindigkeitsbereiche seltsam gestaffelt sind (Bilder mit Vorgaben von 20 und 30 ms laufen beide in ca. 28 ms ab, Bilder mit 50 und 60 ms in ca. 57 ms, 80 und 90 ms führen zu ca. 86 ms usw.), ist seit Version 10.00 die Staffelung nicht mehr vorhanden. Dafür ist in Gegensatz zu frühheren Versionen aber die CPU-Belastung deutlich meßbar! Die Framezeiten werden bis auf ca. 10 % genau eingehalten. Der „Restart“-Knopf funktioniert seit der Version 9.50.

Der Internet Explorer (8.0.6001.18702) benutzt eine Frame-Zeit von 100 ms, wenn Frame-Zeiten < 60 ms im GIF vorgegeben wurden. Zudem fällt auf, daß schon kurz nach dem Start der GIFs die CPU-Belastung ständig wächst, bis sie sogar 100% erreicht! Dann wird auch die Sekundenanzeige, die auf der JavaScript-Methode window.setInterval() basiert, langsamer!

Safari (4.0.2) und Google Chrome (2.0.172.39) verhalten sich (bis auf einen Unterschied) wie der Internet Explorer. Der Unterschied ist, daß die CPU-Belastung im Mittel nicht über 50 % steigt, auch wird der JavaScript-Timer nicht gebremst.

Linux

Ich konnte mittels Knoppix (4.0.2 en) einige Browser testen, und zwar Firefox (1.0.6), Mozilla (1.7.10), Epiphany (1.4.8; basiert auf Mozilla) und Konqueror (3.4.1). Die ersten drei genannten Browser zeigten die GIFs genauso wie Firefox unter Windows, allerdings mit dem deutlichen Unterschied, daß alle Frame-Zeiten ≥ 20 ms sehr genau eingehalten wurden, die Frames liefen zudem auch zeitlich ganz gleichmäßig ab. GIFs unter Linux mit diesen Browsern anzusehen ist wahrlich ein Genuß!

Konqueror ersetzt vorgegebene Frame-Zeiten < 100 ms durch eine Frame-Zeit von 100 ms. Zudem funktioniert auch hier der „Restart“-Knopf nicht.

Mac OS

Michael Schmidt (TU Wien) hat mir seine Erfahrungen mit zwei Browsern unter dem Betriebssystem Mac OS X 10.4.7 mitgeteilt. Hier seine Befunde:

Firefox (1.5) verhält sich wie auf dem PC, aus 10 ms werden 100 ms, der Rest ist ziemlich genau, und es ruckelt nicht!

Safari (2.0.4): Der 10 ms Balken ist etwa gleich schnell wie der 100 ms Balken. Alle Balken sind zu langsam (14 s statt 8 s für den 20 ms Balken, 28 s statt 20 s für den 50 ms Balken), manchmal läuft auch ein eigentlich langsamerer Balken ein Weilchen etwas schneller als der im Bild darüber.

Epilog

Die Ergebnisse sind stark vom Browsertyp, aber auch vom Betriebssystem abhängig. Die GIF89a-Definition sieht keine minimale Frame-Zeit vor, aber Frame-Zeiten unter 20 ms (entsprechend 50 Frames/s) sind kaum sinnvoll, da dann praktisch kein Qualitätsgewinn mehr für das menschliche Auge erkennbar ist. Testen Sie bitte auch andere Browser, die Sie eventuell auf Ihrem Rechner haben, die Ergebnisse würden mich interessieren.

Kommentare aller Art an mich bitte per .