Envisagez de créer manuellement les effets 3D.
Flash Player 10 et AIR 1.5 ont introduit un nouveau moteur 3D, qui permet d’appliquer des transformations de perspective aux objets d’affichage. Vous pouvez appliquer ces transformations à l’aide des propriétés
rotationX
et
rotationY
ou de la méthode
drawTriangles()
de la classe Graphics. Vous pouvez aussi définir un effet de profondeur à l’aide de la propriété
z
. Gardez à l’esprit que chaque objet d’affichage auquel une transformation de perspective est appliquée est pixellisé en tant que bitmap et exige donc plus de mémoire.
La figure suivante illustre l’anticrènelage résultant de la pixellisation lors de l’application d’une transformation de perspective :
L’anticrènelage est produit par la pixellisation dynamique sous forme de bitmap du contenu du vecteur. L’anticrènelage est appliqué lors de l’utilisation d’effets 3D dans la version de bureau d’AIR et de Flash Player, et dans la version mobile d’AIR 2.0.1 et d’AIR 2.5. L’anticrènelage n’est toutefois pas appliqué dans la version mobile de Flash Player.
Vous pouvez économiser de la mémoire s’il vous est possible de créer l’effet 3D manuellement sans faire appel à l’API native. Toutefois, les nouvelles fonctions 3D introduites dans Flash Player 10 et AIR 1.5 facilitent le mappage des textures, car les méthodes comme
drawTriangles()
gèrent ce processus en natif.
Il vous appartient, en tant que développeur, de décider si les performances de l’effet 3D recherché sont optimisées par un traitement manuel ou via l’API native. Outre les considérations liées à la mémoire, tenez également compte des performances d’exécution et de rendu d’ActionScript.
Dans les applications mobiles d’AIR 2.0.1 et d’AIR 2.5 dans lesquelles vous définissez la propriété
renderMode
sur
GPU
, c’est le processeur graphique qui se charge des transformations 3D. En revanche, si la propriété
renderMode
est définie sur
CPU
, c’est l’unité centrale (et non le processeur graphique) qui effectue les transformations 3D. Dans les applications de Flash Player 10.1, c’est l’unité centrale qui effectue les transformations 3D.
Lorsque l’unité centrale effectue les transformations 3D, tenez compte du fait que l’application d’une transformation 3D à un objet d’affichage nécessite deux bitmaps en mémoire. Un bitmap est nécessaire pour le bitmap source et un autre pour la version à laquelle une transformation de perspective est appliquée. Le comportement des transformations 3D est similaire à celui des filtres. Par conséquent, utilisez les propriétés 3D avec modération lorsque c’est l’unité centrale qui effectue les transformations 3D.