Korzystanie z efektów 3D

Należy rozważyć możliwość ręcznego tworzenia efektów 3D.

W programie Flash Player 10 i środowisku AIR 1.5 wprowadzono mechanizm 3D, którzy umożliwia stosowanie przekształceń perspektywy do obiektów wyświetlanych. Takie transformacje można stosować za pomocą właściwości rotationX i rotationY lub za pomocą metody drawTriangles() klasy Graphics. W celu uzyskania wrażenia głębi można również korzystać z właściwości z . Należy pamiętać o tym, że każdy obiekt wyświetlany z przekształconą perspektywą jest rasteryzowany jako bitmapa i dlatego wymaga większej ilości pamięci.

Poniższy obraz ilustruje wygładzanie będące skutkiem rasteryzacji w przypadku stosowania transformacji perspektywy:

Powiększ obraz
Wygładzanie jako skutek transformacji perspektywy

Wygładzanie jest wynikiem dynamicznego rasteryzowania treści wektorowej, która jest traktowana jak bitmapa. Wygładzenie krawędzi jest stosowane w przypadku używania efektów 3D w wersjach środowiska AIR i programu Flash Player dla komputerów stacjonarnych, a także w środowisku AIR 2.0.1 i AIR 2.5 dla urządzeń przenośnych. Wygładzanie nie jest stosowane w programie Flash Player dla urządzeń przenośnych.

Jeśli efekt 3D zostanie utworzony ręcznie bez korzystania z macierzystego interfejsu API, możliwe jest ograniczenie zużycia pamięci. Nowe funkcje 3D wprowadzone w programie Flash Player 10 i środowisku AIR 1.5 ułatwiają odwzorowywanie tekstur dzięki metodom takim jak drawTriangles() , które oferują macierzystą obsługę odwzorowywania tekstur.

Programista musi zdecydować, czy tworzony efekt 3D będzie realizowany wydajniej, gdy zostanie utworzony za pomocą rodzimego interfejsu API, czy też gdy zostanie utworzony ręcznie. Należy rozważyć szybkość wykonywania kodu ActionScript oraz wydajność renderowania, a także ilość zajmowanej pamięci.

Jeśli dla aplikacji dla środowiska AIR 2.0.1 lub AIR 2.5 na urządzeniach przenośnych właściwość renderMode zostanie ustawiona na GPU , przekształcenia 3D będą obsługiwane przez GPU. W przypadku ustawienia właściwości renderMode na CPU to procesor, nie GPU, będzie realizować przekształcenia 3D. W aplikacjach dla programu Flash Player 10.1 przekształcenia 3D wykonuje procesor.

Gdy procesor wykonuje przekształcenia 3D, należy pamiętać, że zastosowanie jakiegokolwiek przekształcenia do obiektu wyświetlanego wymaga przechowywania w pamięci dwóch bitmap. Jedna bitmapa zawiera obraz źródłowy, a druga — wersję z przekształconą perspektywą. To sprawia, że przekształcenia 3D działają podobnie do filtrów. W przypadku realizowania przekształceń 3D przez procesor należy więc oszczędnie używać właściwości 3D.