Ative a aceleração gráfica por hardware em um aplicativo AIR incluindo
<renderMode>gpu</renderMode>
no descritor do aplicativo. É possível alterar os modos de renderização no tempo de execução. Em computadores desktop, a configuração
renderMode
é ignorada; no momento, não há suporte para a aceleração gráfica pela GPU.
Limitações do modo de renderização pela GPU
As seguintes limitações existem ao usar o modo de renderização pela GPU no AIR 2.5:
-
Se a GPU não puder renderizar um objeto, ele não será exibido. Não há uma alternativa em caso de falha da renderização pela CPU.
-
Não há suporte para os seguintes modos de mistura: camada, alfa, apagar, sobrepor, realçar, clarear e escurecer.
-
Não existe suporte para filtros.
-
Não há suporte para PixelBender.
-
Muitas unidades de GPU têm tamanho de textura máximo de 1024x1024. No ActionScript, isso se converte no tamanho máximo final renderizado de um objeto de exibição após todas as transformações.
-
A Adobe não recomenda usar o modo de renderização pela GPU em aplicativos AIR que reproduzam vídeo.
-
No modo de renderização pela GPU, os campos de texto nem sempre são movidos para um local visível quando o teclado virtual é aberto. Para garantir que seu campo de texto fique visível enquanto o usuário insere texto, execute um dos procedimentos a seguir. Posicione o campo de texto na metade superior da tela ou mova-o para lá quando ele receber o foco.
-
O modo de renderização pela GPU é desativado para alguns dispositivos nos quais o modo não funciona de maneira confiável. Consulte as notas da versão do AIR para o desenvolvedor para obter as informações mais recentes.
Melhores práticas do modo de renderização pela GPU
As orientações a seguir podem acelerar a renderização pela GPU:
-
Limite o número de itens visíveis no palco. Cada item demora algum tempo para ser renderizado e composto com outros itens ao seu redor. Quando não quiser mais exibir um objeto de exibição, defina sua propriedade
visible
como
false
. Não basta movê-lo para fora do palco, ocultá-lo atrás de outro objeto ou definir sua propriedade
alpha
como 0. Se o objeto de exibição não for mais necessário, remova-o do palco com
removeChild()
.
-
Reutilize objetos em vez de criá-los e destruí-los.
-
Crie bitmaps com tamanhos próximos, porém, menores que 2
n
por 2
m
bits. As dimensões não precisam ser potências exatas de 2, mas devem ser próximas a uma potência de 2, sem serem maiores. Por exemplo, uma imagem com 31 por 15 pixels é renderizada mais rápido do que uma imagem de 33 por 17 pixels. (31 e 15 são justamente potências menores de 2: 32 e 16).
-
Se possível, defina o parâmetro repeat como false ao chamar o método
Graphic.beginBitmapFill()
.
-
Não exagere. Use a cor do fundo como fundo. Não estenda em camadas formas grandes umas em cima das outras. Há um custo para cada pixel a ser desenhado.
-
Evite formas com pontas longas e finas, bordas com autointerseção ou muitos detalhes ao longo das bordas. Essas formas demoram mais para serem renderizadas do que os objetos de exibição com bordas suaves.
-
Limite o tamanho dos objetos de exibição.
-
Ative cacheAsBitMap e cacheAsBitmapMatrix para objetos de exibição cujos gráficos não sejam atualizados com frequência.
-
Evite usar o API de desenho do ActionScript (classe Graphics) para criar gráficos. Em vez disso, quando possível, crie esses objetos estaticamente no tempo de autoria.
-
Dimensione ativos de bitmap com o tamanho final antes de importá-los.
Modo de renderização pela GPU no AIR 2.0.3 móvel
A renderização pela GPU é more restritiva em aplicativos AIR móveis criados com o Packager para iPhone. A GPU é eficaz apenas para bitmaps, formas sólidas e objetos de exibição que têm a propriedade
cacheAsBitmap
definida. Também, para objetos que têm
cacheAsBitmap
e
cacheAsBitmapMatrix
definidas, a GPU pode renderizar com eficácia objetos que giram ou são dimensionados. A GPU é usada em tandem para outros objetos de exibição e isso normalmente resulta em um desempenho insatisfatório da renderização.
|
|
|