Procesamiento de GPU en aplicaciones de AIR para móviles

Puede habilitar la aceleración de gráficos por hardware en una aplicación de AIR si incluye <renderMode>gpu</renderMode> en el archivo descriptor de la aplicación. No es posible cambiar los modos de visualización en tiempo de ejecución. En equipos de escritorio, el parámetro renderMode se omite; la aceleración de gráficos de GPU no se admite aún.

Limitaciones del modo de procesamiento de GPU

Se aplican las siguientes limitaciones cuando se utiliza el modo de procesamiento de GPU en AIR 2.5:

  • Si la GPU no puede procesar un objeto, no se visualizará. No hay parámetros de repuesto en el procesamiento de GPU.

  • No se admiten los siguientes modos de mezcla: capa, alfa, borrado, luz fuerte, aclarar y oscurecer.

  • No se admite el uso de filtros.

  • No se admite PixelBender.

  • Muchas unidades de GPU tienen un tamaño máximo de texto de 1024x1024. En ActionScript, esto se traduce en el tamaño máximo final de procesamiento de un objeto de visualización una vez concluidas todas las transformaciones.

  • Adobe no recomienda emplear el modo de procesamiento de GPU en aplicaciones de AIR que reproduzcan vídeo.

  • En el modo de procesamiento de GPU, los campos de texto no siempre se reubican en una posición visible cuando se abre el teclado virtual. Para garantizar que el campo de texto sea visible mientras el usuario introduce texto, realice una de estas acciones. Coloque el campo de texto en la mitad superior de la pantalla o muévalo a la mitad superior de la pantalla cuando quede seleccionado.

  • El modo de procesamiento de GPU está deshabilitado en algunos dispositivos en los que el modo no se ejecuta con fiabilidad. Consulte las notas de la versión del desarrollador de AIR para conocer la información más reciente.

Prácticas recomendadas para el modo de procesamiento de GPU

Las siguientes pautas aceleran el procesamiento de GPU:

  • Limite el número de elementos visibles en el escenario. Cada elemento tarda un tiempo en procesarse y componerse junto con los elementos que lo rodean. Si ya no quiere ver un objeto de visualización, defina su propiedad visible como false . No se limite a sacarlo de la pantalla, ocultarlo detrás de otro objeto o definir su propiedad alpha como 0. Si realmente ya no va a necesitar el objeto de visualización, elimínelo del escenario con removeChild() .

  • Reutilice objetos en vez destruirlos para luego volver a crearlos.

  • Establezca el tamaño de los mapas de bits en el rango (siempre por debajo) de 2 n por 2 m bits. Las dimensiones no tienen por qué ser potencia exacta de 2, pero sí deben acercarse a una potencia de 2, sin sobrepasarla. Por ejemplo, una imagen de 31x-15 píxeles se procesa más rápidamente que una de 33x-17 píxeles. (31 y 15 son valores por debajo de las potencias de 2: 32 y 16.)

  • Si es posible, establezca el parámetro repeat como false cuando llame al método Graphic.beginBitmapFill() .

  • No dibuje demasiado. Utilice el color de fondo como fondo. No coloque formas grandes encima de otras. Cada píxel dibujado tiene un coste.

  • Evite las formas con puntas finas y alargadas, los bordes intersecantes y especificar mucho detalle en los bordes. Se tarda más en representar estas formas que en visualizar objetos con bordes suaves.

  • Limite el tamaño de los objetos de visualización.

  • Active cacheAsBitMap y cacheAsBitmapMatrix para que muestren objetos cuyos gráficos no se actualicen con frecuencia.

  • No utilice la API de dibujo de ActionScript (clase Graphics) para crear gráficos. Si es posible, cree estos objetos estáticamente durante la fase de creación.

  • Escale los activos de mapa de bits a su tamaño final antes de importarlos.

Modo de procesamiento de GPU en AIR 2.0.3 para móvil

El procesamiento de GPU es más restrictivo en aplicaciones de AIR para móvil creadas con Packager for iPhone. La GPU sólo resulta eficaz para mapas de bits, formas sólidas y objetos de visualización que tienen definida la propiedad cacheAsBitmap . Asimismo, para los objetos que tienen establecido cacheAsBitmap y cacheAsBitmapMatrix , la GPU puede representar con eficacia objetos que giran o se escalan. La GPU se emplea en combinación con otros objetos de visualización y esto suele tener como resultado un peor rendimiento.