Dicas para otimizar o desempenho de renderização da GPU

Embora a renderização da GPU possa aumentar muito o desempenho do conteúdo de SWF, o projeto do conteúdo tem um papel importante. Lembre-sd de que as configuração que historicamente funcionaram bem na renderização de software às vezes não funcionam bem na renderização da GPU. As seguintes dicas podem ajudá-lo a obter um bom desempenho na renderização da GPU sem causar nenhum prejuízo à renderização don software.

Nota: Os dispositivos móveis que suportam renderização de hardware frequentemente acessam o conteúdo de SWF dos sites da web. Portanto, uma melhor prática é considerar essas dicas ao criar qualquer conteúdo de SWF, garantindo a melhor experiência em todas as telas.
  • Evite usar wmode=transparent ou wmode=opaque em parâmetros HTML incorporados. Esses modos podem causar diminuição de desempenho. Eles também podem causar uma pequena perda de sincronização de áudio e vídeo nas renderizações de software e hardware. Além disso, muitas plataformas não suportam a renderização da GPU quando esses modos estão ativos, prejudicando significativamente o desempenho.

  • Use somente os modos de mesclagem normal e alfa. Evite usa outros modos de mesclagem, especialmente o modo de mesclagem de camadas. Nem todos os modos de mesclagem podem ser reproduzidos fielmente quando renderizados com a GPU.

  • Ao renderizar imagens vetoriais, a GPU as divide em malhas feitas de pequenos triângulos antes de desenhá-las. Esse processo é denominado tecelagem. A tecelagem tem um baixo custo de desempenho, que aumenta proporcionalmente à complexidade dos formatos. Para minimizar o impacto no desempenho, evite formatos mórficos, cuja tecelagem seja renderizada pela GPU em todos os quadros.

  • Evite curvas autointersecionáveis, regiões curvas muito estreitas (tais como uma estreita lua crescente) e detalhes intrincados ao longo das bordas de um formato. Esses formatos são complexos para que a GPU os teça em malhas triangulares. Para entender o motivo, considere dois vetores: um quadrado de 500 × 500 e uma lua crescente de 100 × 10. Uma GPU pode renderizar facilmente o quadrado maior porque ele é simplesmente dois triângulos. No entanto, são necessários muitos triângulos para descrever a curva da lua crescente. Portanto, a renderização desse formato é mais complicada, embora envolva menos pixels.

  • Evite grandes alterações na escala, porque essas alterações também podem fazer a GPU tecer as imagens novamente.

  • Evite desenhos sobrepostos sempre que possível. Desenho sobreposto é a disposição de vários elementos gráficos em camadas para que ocultem um ao outro. Usando o renderizador de software, cada pixel é desenhado somente uma vez. Portanto, para a renderização do software o aplicativo não incorre em prejuízo ao desempenho, independentemente de quantos elementos gráficos estejam se cobrindo reciprocamente em uma localização de pixel. Por contraste, o renderizador de hardware desenha cada pixel para cada elemento, estejam outros elementos ocultando aquela região ou não. Se dois retângulos se sobrepuserem reciprocamente, o renderizador de hardware desenhará a região renderizada duas vezes, enquanto que o renderizador de software desenhará a região somente uma vez.

    Portanto, no computador pessoal, que usa o renderizador de software, geralmente você não observa um impacto do desenho sobreposto no desempenho. Contudo, muitas formas sobrepostas podem afetar negativamente o desempenho em dispositivos que usam renderização de GPU. Uma boa prática é remover os objetos da lista de exibição, em vez de ocultá-los.

  • Evite usar um retângulo grande preenchido como plano de fundo. Em vez disso, defina a cor de fundo do Palco.

  • Evite a repetição do modo de preenchimento bitmap padrão sempre que possível. Em vez disso, use o modo de fixação de bitmap para obter um desempenho melhor.