Valutate la possibilità di creare manualmente gli effetti 3D.
In Flash Player 10 e AIR 1.5 è stato introdotto un motore 3D che consente di applicare una trasformazione prospettica agli oggetti di visualizzazione. Potete applicare queste trasformazioni utilizzando le proprietà
rotationX
e
rotationY
oppure il metodo
drawTriangles()
della classe Graphics. È anche possibile applicare la profondità mediante la proprietà
z
. Tenete presente che ogni oggetto di visualizzazione con trasformazione prospettica viene rasterizzato come bitmap e di conseguenza richiede una quantità maggiore di memoria.
La figura seguente illustra l'effetto di antialiasing prodotto dalla rasterizzazione quando si utilizza la trasformazione prospettica:
L'antialiasing è il risultato della rasterizzazione dinamica di un contenuto vettoriale come bitmap. Si verifica quando utilizzate effetti 3D nella versione desktop di AIR e Flash Player, oltre che in AIR 2.0.1 e AIR 2.5 per dispositivi mobili, mentre non viene applicato in Flash Player per dispositivi mobili.
Se create manualmente un effetto 3D senza avvalervi dell'API nativa, potete ridurre la quantità di memoria utilizzata. D'altra parte, le nuove funzioni 3D introdotte in Flash Player 10 e AIR 1.5 facilitano il mapping delle texture, grazie all'uso di metodi come
drawTriangles()
, che gestisce il mapping delle texture in modo nativo.
In qualità di sviluppatore, dovete decidere se l'effetto 3D che desiderate ottenere fornisce prestazioni migliori se elaborato con l'API nativa oppure manualmente. Valutate le prestazioni di rendering e di esecuzione di ActionScript, così come l'utilizzo della memoria.
Nelle applicazioni per dispositivi mobili AIR 2.0.1 e AIR 2.5 in cui impostate la proprietà dell'applicazione
renderMode
su
GPU
, le trasformazioni 3D vengono eseguite dalla GPU. Se però impostate la proprietà
renderMode
su
CPU
, sarà la CPU, e non la GPU, a eseguire le trasformazioni 3D. Nelle applicazioni Flash Player 10.1, le trasformazioni 3D vengono eseguite dalla CPU.
In questo caso, tenete presente che l'applicazione di una qualsiasi trasformazione 3D a un oggetto di visualizzazione richiede due bitmap in memoria: una per la bitmap di origine e una seconda per la versione risultante dalla trasformazione prospettica. In questo modo, le trasformazioni 3D funzionano in maniera simile ai filtri. Di conseguenza, è consigliabile utilizzare le proprietà 3D con moderazione quando le trasformazioni 3D vengono eseguite dalla CPU.