Leistungsoptimierung für die ADOBE FLASH-PLATTFORM
Leistungsoptimierung für die ADOBE® FLASH®-PLATTFORM
Leistungsoptimierung für die ADOBE® FLASH®-PLATTFORM
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
LEISTUNGSOPTIMIERUNG FÜR DIE <strong>FLASH</strong>-<strong>PLATTFORM</strong><br />
Einsparen von Arbeitsspeicher<br />
Hinweis: Das Mipmapping gilt nur <strong>für</strong> dynamisch geladene Bilder oder <strong>für</strong> eingebettete Bitmaps. Mipmapping ist nicht<br />
<strong>für</strong> Anzeigeobjekte verfügbar, <strong>die</strong> gefiltert oder zwischengespeichert wurden. Das Mipmapping kann nur verarbeitet<br />
werden, wenn Breite und Höhe der Bitmap einen geraden Wert aufweisen. Wird ein ungerader Wert <strong>für</strong> <strong>die</strong> Höhe oder<br />
Breite erkannt, wird das Mipmapping gestoppt. So kann ein Bild mit den Abmessungen 250 x 250 zwar per Mipmapping<br />
auf 125 x 125 verkleinert werden, ein weiteres Mipmapping ist jedoch nicht mehr möglich, da es sich bei mindestens einer<br />
Abmessung um eine ungerade Zahl handelt. Die besten Ergebnisse werden bei Bitmaps erzielt, deren Abmessungen eine<br />
Potenz von 2 sind, wie beispielsweise 256 x 256, 512 x 512 und 1024 x 1024.<br />
Angenommen, ein Bild mit den Abmessungen 1024 x 1024 wird geladen und soll <strong>für</strong> ein Miniaturbild in einer Galerie<br />
verkleinert werden. Beim Mipmapping wird das skalierte Bild korrekt gerendert, indem <strong>die</strong> per Downsampling<br />
erzielten Zwischenversionen der Bitmap als Texturen verwendet werden. Frühere Versionen der Laufzeitumgebung<br />
haben herunterskalierte Zwischenversionen der Bitmap im Arbeitsspeicher erstellt. Wenn ein Bild mit den<br />
Abmessungen 1024 x 1024 geladen und mit einer Größe von 64 x 64 angezeigt wurde, wurde in früheren Versionen<br />
der Laufzeitumgebung jede Bitmap mit der halben Größe erstellt; in <strong>die</strong>sem Beispiel wären <strong>die</strong>s Bitmaps mit den<br />
Abmessungen 512 x 512, 256 x 256, 128 x 128 und 64 x 64.<br />
Flash Player 10.1 und AIR 2.5 unterstützen jetzt das direkte Mipmapping von der Quelle zur erforderlichen Zielgröße.<br />
In unserem Beispiel würden nur <strong>die</strong> Originalbitmap mit 4 MB (1024 x 1024) und <strong>die</strong> per Mipmapping erstellte Bitmap<br />
mit 16 KB (64 x 64) erstellt.<br />
Die Mipmapping-Logik kann auch mit dem dynamischen Entladen von Bitmaps eingesetzt werden. Wenn nur <strong>die</strong><br />
Bitmap mit der Größe 64 x 64 verwendet wird, wird <strong>die</strong> ursprüngliche 4-MB-Bitmap im Arbeitsspeicher freigegeben.<br />
Wenn <strong>die</strong> Mipmapping-Bitmap neu erstellt werden muss, wird das Original neu geladen. Wenn weitere Mipmapping-<br />
Versionen der Bitmap in verschiedenen Größen benötigt werden, wird dazu <strong>die</strong> per Mipmapping erstellte Bitmap-<br />
Kette verwendet. Zum Beispiel: Wenn eine 1:8-Bitmap benötigt wird, werden <strong>die</strong> Bitmaps in den Größen 1:4, 1:2 und<br />
1:1 überprüft, um festzustellen, welche Bitmap zuerst in den Arbeitsspeicher geladen wird. Wenn keine anderen<br />
Versionen gefunden werden, wird <strong>die</strong> Originalbitmap mit 1:1 geladen und verwendet.<br />
Die JPEG-Dekomprimierung kann das Mipmapping im eigenen Format durchführen. Durch <strong>die</strong>ses direkte<br />
Mipmapping kann eine große Bitmap direkt in das Mipmap-Format dekomprimiert werden, ohne dass das ganze<br />
dekomprimierte Bild geladen werden muss. Die Mipmap wird wesentlich schneller erstellt und von großen Bitmaps<br />
belegter Speicher muss nicht zugewiesen und dann freigegeben werden. Die JPEG-Bildqualität ist mit der allgemeinen<br />
Mipmapping-Technik vergleichbar.<br />
Hinweis: Verwenden Sie das Mipmapping nicht zu häufig. Es verbessert zwar <strong>die</strong> Qualität verkleinerter Bitmaps, wirkt<br />
sich jedoch auf Bandbreite, Arbeitsspeicher und Geschwindigkeit aus. In manchen Fällen ist es besser, eine bereits<br />
skalierte Version der Bitmap aus einem externen Tool in Ihre Anwendung zu importieren. Beginnen Sie nicht mit großen<br />
Bitmaps, wenn Sie von Anfang an vorhaben, sie zu verkleinern.<br />
3D-Effekte<br />
In manchen Fällen kann es empfehlenswert sein, 3D-Effekte manuell zu erstellen.<br />
In Flash Player 10 und AIR 1.5 wurde eine 3D-Engine eingeführt, mit der Sie eine perspektivische Transformation auf<br />
Anzeigeobjekte anwenden können. Sie können <strong>die</strong>se Transformationen mit den Eigenschaften rotationX und<br />
rotationYoder mit der drawTriangles()-Methode der Graphics-Klasse anwenden. Außerdem können Sie Tiefe<br />
über <strong>die</strong> z-Eigenschaft anwenden. Beachten Sie jedoch, dass jedes perspektivisch transformierte Anzeigeobjekt als<br />
Bitmap gerastert wird und deshalb mehr Arbeitsspeicher belegt.<br />
Die folgende Abbildung veranschaulicht das Anti-Aliasing, das bei Verwendung der perspektivischen Transformation<br />
durch das Rastern entsteht:<br />
Letzte Aktualisierung 9.5.2012<br />
22