Aufbau einer animierten GIF-Datei | |
allgemeine Angaben | Geltungsbereich: für alle Einzelbilder gemeinsam |
Angaben zur (äußeren) Rahmengröße | erfolgt in Pixeln, zur Berechnung des Platzbedarfs bei der Anzeige im Browser |
zu verwendendeFarbpalette, transparente Farbe (d.h. Farbe, welche nicht dargestellt wird) | Angaben zum Rot/Grün/Blau-Anteil der Pixel.
Es können 2, 4, 8, 16, 64, 128 oder 256 Farben berücksichtigt werden. |
Kontrollangaben zur folgenden Grafik | je ein Eintrag pro darzustellendem Bild |
Zeitangabe (in Hundertstel Sekunden) bis zur Darstellung der nachfolgenden Grafik | Unterschiedliche Reaktionszeiten müssen also nicht durch wiederholtes Anzeigen der gleichen Grafik realisiert werden. |
Art des Übergangs zur nächsten Grafik | Die Grafik kann nach ihrer Darstellung weiterhin angezeigt oder durch den bisherigen Hintergrund wieder verdeckt werden |
Angaben zur eigentlichen Grafik | je ein Eintrag pro darzustellendem Bild |
Breite und Höhe der Grafik | Diese Angaben können innerhalb der äußeren Rahmengröße liegen |
Verschiebung der Grafik (Offset) bezüglich der äußeren Rahmengröße (in Pixeln) | Bewegungen können durch veränderte Offsetangaben erzeugt werden |
Text zum Grafikblock | Im Allgemeinen wird hier der Name der Grafikdatei gespeichert |
Die Farbangaben zu den einzelnen Bildpunkten | Die Angaben beziehen sich auf die allgemeine Farbtabelle oder auf eine zusätzliche lokale Farbtabelle |
Ursprungsvariante:
Die Grafikdatei besteht aus 63 Bildrahmen (Frames), jeweils in voller
Bildgröße (d.h. 350 x 140 Pixel) mit allen jeweiligen Bildbestandteilen
und Blocktexten, sowie einer Farbpalette aus 64 Farben (177.098 Bytes)
Reduzierung der Farbpalette:
In der Originalgrafik werden die Farben schwarz, weiß und blau
benötigt. Zur Vermeidung von unschönen Pixeltreppen bei schrägen
Linien bzw. am Rand des sich bewegenden Punktes (Alias-Effekt) werden Farbabstufungen
benötigt. Wenn zum Schwarz noch 4 Graustufen und zum Blau noch 4 Hellblaustufen
hinzukommen, sollten also insgesamt 16 Farben ausreichen.
Reduzierung der Anzahl von einzelnen Bildrahmen:
Die Gesamtgrafik wird als Abfolge von 5 schwarzen Flächen, 10
Positionen des sich bewegenden blauen Punktes, 10 Textbestandteilen und
einer (transparenten) Startfläche dargestellt. Dies sind insgesamt
26 verschiedene Frames. Somit können gegenüber der Ursprungsvariante
37(!) Frames eingespart werden.
Reduzierung der Größe der einzelnen Bildrahmen:
Da die schwarzen Flächen nacheinander aufgebaut werden, ist es
nicht notwendig, daß jeder Bildrahmen in der vollen Größe
von 350 x 140 Pixel dargestellt wird. Vielmehr kann innerhalb des ersten
(transparenten) Rahmens die jeweils hinzukommende Fläche mit dem entsprechenden
Offset eingeblendet werden. Hierdurch beschränkt sich die konkrete
Rahmengröße auf die darzustellende Flächengröße.
Analog wird beim einzublenden Text verfahren. Auch der sich bewegende blaue
Punkt wird nur in der Größe des Punktes als Grafik mit dem entsprechenden
Offset eingeblendet und nach Ablauf der Verzögerungszeit wieder ausgeblendet.
Die Einsparung an Speicherbedarf ist hier jeweils proportional zur tatsächlichen
Grafikgröße zu sehen. Die Übergangszeiten zwischen den
Bildrahmen sind entsprechend anzupassen.
Löschen von Blocktexten und Kommentaren:
Die meisten Grafikprogramme, welche das erstellen von animierten Grafiken
unterstützen, tragen in die GIF-Datei zu jedem Einzelbild den Dateinamen
samt der Verzeichnisangaben ein, sowie eventuelle zusätzliche Kommentare.
Durch Streichen dieser Blöcke wird die Grafikdatei um die Gesamtlänge
der Dateinamen und Kommentare kürzer.
Ergebnis:
Durch konsequente Anwendung der obigen Reduzierungsmöglichkeiten
wird der Speicherbedarf für die GIF-Datei reduziert.
Am konkreten Beispiel läßt sich die GIF-Datei auf eine Größe
von unter 6(!) Kilobyte bringen. Das bedeutet für den Seitenanbieter:
weniger Speicherverbrauch beim Provider und für den Seitenbesucher:
schnellerer Bildaufbau.
Ursprungsvariante mit 63 Frames, jeweils mit 350 x 140 Pixel, bestehend
aus 64 Farben und mit Blocktexten (177.098 Bytes)
Optimierte Variante: 26 Frames, davon 1 Frame mit 350 x 140 Pixel,
alle anderen nur in der Größe des Bildausschnitts, mit 16 Farben
ohne Blocktexte (5.942 Bytes)