Rendering tramite GPU nelle applicazioni AIR mobili

Potete abilitare l'accelerazione grafica hardware in un'applicazione AIR includendo <renderMode>gpu</renderMode> nel descrittore dell'applicazione. Le modalità di rendering non possono essere modificate in fase di runtime. Sui computer desktop, l'impostazione renderMode viene ignorata; l'accelerazione grafica tramite GPU non è attualmente supportata.

Limitazioni della modalità di rendering tramite GPU

L'uso della modalità di rendering tramite GPU in AIR 2.5 presenta le seguenti limitazioni:

  • Un oggetto che non può essere renderizzato tramite GPU non viene visualizzato del tutto. Non esiste alcun metodo di riserva per il rendering tramite CPU.

  • I seguenti metodi di fusione non sono supportati: Livello, Alfa, Cancella, Sovrapponi, Luce intensa, Schiarisci e Scurisci.

  • I filtri non sono supportati.

  • PixelBender non è supportato.

  • Molte GPU hanno dimensioni massime delle texture di 1024x1024. In ActionScript, si traduce nelle dimensioni massime finali di un oggetto di visualizzazione sottoposto a rendering, dopo tutte le trasformazioni.

  • Adobe non consiglia di utilizzare la modalità di rendering tramite GPU nelle applicazioni AIR che riproducono video.

  • Nella modalità di rendering tramite GPU, i campi di testo non vengono sempre spostati in un'area visibile quando si apre la tastiera virtuale. Per avere la certezza che i campi di testo siano visibili mentre l'utente immette il testo, effettuate una delle seguenti operazioni. Posizionate il capo di testo nella metà superiore dello schermo o spostatelo nella metà superiore dello schermo quando viene attivato.

  • La modalità di rendering tramite GPU è disabilitata per alcuni dispositivi nei quali non funziona correttamente. Per informazioni aggiornate, vedete le note sulla versione per gli sviluppatori AIR.

Procedure ottimali relative alla modalità di rendering tramite GPU

Le seguenti linee guida possono velocizzare il rendering tramite GPU:

  • Limitate il numero di elementi visibili sullo stage. Il rendering e la composizione di ciascun elemento richiedono tempo quando intorno sono presenti altri elementi. Quando non desiderate più vedere un oggetto di visualizzazione, impostate la relativa proprietà visible su false . Evitate di spostarlo semplicemente fuori dallo stage, nasconderlo dietro un altro oggetto o impostare la relativa proprietà alpha su 0. Se un oggetto di visualizzazione non è più necessario, potete rimuoverlo definitivamente dallo stage tramite removeChild() .

  • Riutilizzate gli oggetti, anziché crearli ed eliminarli.

  • Create bitmap le cui dimensioni siano prossime, ma non inferiori, a 2 n x 2 m bit. Le dimensioni devono essere prossime alla potenza di 2, senza che siano esattamente uguali o superiori. Ad esempio, il rendering di un'immagine 31 x 15 pixel viene eseguito più rapidamente rispetto a un'immagine 33 x 17 pixel. (31 e 15 sono appena inferiori alle potenze di 2: 32 e 16.)

  • Se possibile, impostate il parametro repeat su false durante la chiamata del metodo Graphic.beginBitmapFill() .

  • Non eccedete nel disegno. Utilizzate il colore di sfondo come sfondo. Non sovrapponete forme di grandi dimensioni una sopra l'altra. Ad ogni pixel da disegnare è associato un costo,

  • Evitate forme con lunghe punte sottili, bordi che si auto intersecano o molti dettagli fini lungo i bordi. Il rendering di queste forme richiede più tempo rispetto a quello degli oggetti di visualizzazione con bordi arrotondati.

  • Limitate le dimensioni degli oggetti di visualizzazione.

  • Abilitate cacheAsBitMap e cacheAsBitmapMatrix per gli oggetti di visualizzazione contenenti grafica che non viene aggiornata di frequente.

  • Evitate di utilizzare le API di disegno ActionScript (la classe Graphics) per creare grafici. Se possibile, create invece tali oggetti in modo statico in fase di authoring.

  • Modificate in scala le risorse bitmap alle dimensioni finali prima di importarle.

Rendering tramite GPU nelle applicazioni AIR 2.0.3 mobili

Il rendering tramite GPU è più restrittivo nelle applicazioni AIR mobili create con Packager per iPhone. La GPU è efficace solo per le bitmap, le forme solide e gli oggetti di visualizzazione per i quali è impostata la proprietà cacheAsBitmap . Inoltre, per gli oggetti per i quali sono impostate le proprietà cacheAsBitmap e cacheAsBitmapMatrix , la GPU può eseguire in modo efficace il rendering degli oggetti che vengono ruotati o ridimensionati. La GPU viene utilizzata insieme ad altri oggetti di visualizzazione, fornendo in genere prestazioni di rendering scadenti.