Sugerencias de optimización de rendimiento del procesamiento de GPU

Aunque el procesamiento de GPU puede mejorar significativamente el rendimiento del contenido SWF, es importante precisar que el diseño del contenido desempeña un papel muy importante. Debe recordar que la configuración que históricamente ha funcionado bien en el procesamiento por software en ocasiones no produce tan buenos resultado en el procesamiento de GPU. Las siguientes sugerencias le ayudarán a lograr un rendimiento óptimo con procesamiento de GPU sin que el rendimiento del procesamiento por software se vea mermado.

Nota: Los dispositivos móviles que admiten procesamiento por hardware suelen acceder al contenido SWF en la web. Por ello, se recomienda tener en cuenta estas sugerencias a la hora de crear cualquier contenido SWF para garantizar la mejor experiencia en todas las pantallas.
  • Evite utilizar wmode=transparent o wmode=opaque en parámetros HTML incorporados. Estos modos pueden reducir el rendimiento. Asimismo, pueden producir como resultado pérdidas de sincronización de audio y vídeo tanto en el procesamiento por hardware y por software. Además, muchas plataformas no admiten el procesamiento de GPU si estos modos están activados, lo que merma considerablemente el rendimiento.

  • Utilice solo los modos de mezcla normal y alfa. Evite utilizar otros modos de mezcla, especialmente el modo de mezcla de capas. No todos los modos de mezcla se pueden reproducir de forma fiel cuando se procesan con la GPU.

  • Cuando la GPU procesa gráficos vectoriales, los divide en mallas formadas por pequeños triángulos antes de dibujarlos. Este proceso recibe el nombre de teselado. El teselado produce una pequeña pérdida de rendimiento que aumenta a medida que se eleva la complejidad de la forma. Para minimizar su impacto en el rendimiento, evite las formas moldeadas, ya que el procesamiento de GPU les aplica teselado en todos los fotogramas.

  • Se deben evitar también las curvas que interseccionen entre sí, las regiones curvadas muy finas (por ejemplo, una luna creciente muy delgada) y figuras con mucho detalle en los bordes de la forma. Si lo hace, el proceso de teselado de la GPU para convertirlas en mallas de triángulos se complica en exceso. Para entender el motivo, imagine dos vectores: un cuadrado de 500 × 500 y una luna creciente de 100 × 10. Una GPU es capaz de procesar fácilmente el cuadrado más grande porque lo divide en solo dos triángulos. Sin embargo, se necesitan muchos triángulos para describir la curva de la luna creciente. Por ello, procesar la forma es más complicado aunque el número de píxeles involucrados sea menor.

  • Evite cambios importantes en la escala. Dichos cambios pueden hacer que la GPU tenga que volver a aplicar teselado a los gráficos.

  • En la medida de lo posible, evite sobredibujar. Sobredibujar es poner varios gráficos en capas superpuestas para que se oscurezcan unas a otras. Si se utiliza el procesador de software, cada píxel se dibuja una sola vez. Así, en el caso del procesamiento por software, la aplicación no ve reducido su rendimiento independientemente del número de elementos gráficos que se cubran en cada posición del píxel. Por el contrario, el procesamiento por hardware dibuja el píxel de cada elemento tanto si el resto de elementos oscurecen la región como si no. Si dos rectángulos se solapan entre sí, el procesador por hardware dibuja la región solapada dos veces, mientras que el procesador por software dibuja la región una sola vez.

    Por lo tanto, en el escritorio (que utiliza el procesador por software), no se suelen detectar pérdidas de rendimiento al sobredibujar. No obstante, la existencia de muchas formas que se solapan puede afectar negativamente al rendimiento en dispositivos que utilicen procesamiento de GPU. Lo recomendable es quitar objetos de la lista de visualización en vez de ocultarlos.

  • Evite utilizar un rectángulo grande con relleno como fondo. Mejor, defina el color de fondo del escenario.

  • Siempre que sea posible, evite el modo predeterminado de relleno de mapa de bits en mapas de bits repetidos. Utilice el modo de fijación para lograr un mejor rendimiento.