30.07.2012 Aufrufe

Leistungsoptimierung für die ADOBE FLASH-PLATTFORM

Leistungsoptimierung für die ADOBE® FLASH®-PLATTFORM

Leistungsoptimierung für die ADOBE® FLASH®-PLATTFORM

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!