Uso de efeitos 3D

Considere criar efeitos 3D manualmente.

O Flash Player 10 e o AIR 1.5 introduzam um mecanismo 3D, o que permite aplicar transformação de perspectiva a objetos de exibição. Você pode aplicar essas transformações usando as propriedades rotationX e rotationY ou com o método drawTriangles() da classe Graphics. Também é possível aplicar profundidade com a propriedade z. Lembre-se de que cada objeto de exibição com a perspectiva transformada é rasterizado como um bitmap e, portanto, requer mais memória.

A figura a seguir ilustra a suavização de borda produzida pela rasterização quando se usa a transformação de perspectiva:

Exibir gráfico inteiro
Suavização de borda resultante da transformação de perspectiva

A suavização é um resultado do conteúdo de vetores sendo dinamicamente rasterizados como um bitmap. Essa suavização de borda acontece quando você usa efeitos 3D na versão para desktop do AIR e do Flash Player, e no AIR 2.0.1 e AIR 2.5 para celular. No entanto, a suavização de borda não é aplicada no Flash Player para dispositivos móveis.

Se você puder criar seu efeito 3D manualmente sem depender da API nativa, isso poderá reduzir o uso da memória. No entanto, os novos recursos 3D introduzidos no Flash Player 10 e no AIR 1.5 facilitam o mapeamento de texturas, graças a métodos como drawTriangles(), que lidam de maneira nativa com o mapeamento de texturas.

Como desenvolvedor, decida se o efeito 3D que deseja criar oferece melhor desempenho se processado por meio da API nativa ou manualmente. Considere a execução do ActionScript e o desempenho da renderização, bem como o uso de memória.

Em aplicativos móveis do AIR 2.0.1 e do AIR 2.5 em que você define a propriedade renderMode do aplicativo como GPU, a GPU faz as transformações 3D. No entanto, se o renderMode for CPU, a CPU, e não a GPU, executará as transformações 3D. Em aplicativos Flash Player 10.1, a CPU executa as transformações 3D.

Quando a CPU fizer as transformações 3D, considere que aplicar qualquer transformação 3D a um objeto de exibição exige dois bitmaps na memória. Um bitmap é para o bitmap de origem e o segundo pra a versão com a perspectiva transformada. Desta forma, transformações 3D funcionam de maneira similar aos filtros. Como resultado, use as propriedades 3D com moderação quando a CPU fizer as transformações 3D.