3D-Effekte

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:

Grafik in Originalgröße anzeigen
Resultierendes Anti-Aliasing nach perspektivischer Transformation

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.