In manchen Fällen kann es empfehlenswert sein, 3D-Effekte manuell zu erstellen.
In Flash Player 10 und AIR 1.5 wurde eine 3D-Engine eingeführt, mit der Sie eine perspektivische Transformation auf Anzeigeobjekte anwenden können. Sie können diese Transformationen mit den Eigenschaften
rotationX
und
rotationY
oder mit der
drawTriangles()
-Methode der Graphics-Klasse anwenden. Außerdem können Sie Tiefe über die
z
-Eigenschaft anwenden. Beachten Sie jedoch, dass jedes perspektivisch transformierte Anzeigeobjekt als Bitmap gerastert wird und deshalb mehr Arbeitsspeicher belegt.
Die folgende Abbildung veranschaulicht das Anti-Aliasing, das bei Verwendung der perspektivischen Transformation durch das Rastern entsteht:
Das Anti-Aliasing entsteht, da Vektorinhalt dynamisch als Bitmap gerastert wird. Dieses Anti-Aliasing erfolgt, wenn Sie 3D-Effekte in der Desktopversion von AIR und Flash Player verwenden, sowie in AIR 2.0.1 und AIR 2.5 für mobile Geräte. Anti-Aliasing wird jedoch nicht in Flash Player für mobile Geräte angewendet.
Bei einer manuellen Erstellung des 3D-Effekts ohne Verwendung der nativen API wird möglicherweise weniger Arbeitsspeicher benötigt. Die in Flash Player 10 und AIR 1.5 eingeführten neuen 3D-Funktionen vereinfachen jedoch die Texturzuordnung durch Methoden wie
drawTriangles()
, die die Texturzuordnung nativ verarbeiten.
Entwickler müssen entscheiden, ob der gewünschte 3D-Effekt leistungsfähiger ist, wenn er manuell oder über die native API verarbeitet wird. Dabei müssen auch Aspekte wie die ActionScript-Ausführung, die Renderleistung sowie die Arbeitsspeicherbelegung berücksichtigt werden.
In mobilen AIR 2.0.1- und AIR 2.5-Anwendungen, in denen Sie die
renderMode
-Anwendungseigenschaft auf
GPU
einstellen, übernimmt die GPU die 3D-Transformationen. Wenn
renderMode
jedoch den Wert
CPU
hat, übernimmt die CPU und nicht die GPU die 3D-Transformationen. In Flash Player 10.1-Anwendungen führt die CPU die 3D-Transformationen aus.
Wenn die CPU die 3D-Transformationen ausführt, bedenken Sie, dass die Anwendung von 3D-Transformationen auf ein Anzeigeobjekt zwei Bitmaps im Arbeitsspeicher erfordert. Eine Bitmap ist für die Quellbitmap und eine zweite für die perspektivisch transformierte Version. So funktionieren 3D-Transformationen ähnlich wie Filter. Deshalb sollten Sie 3D-Eigenschaften sparsam einsetzen, wenn die CPU die 3D-Transformationen ausführt.