Velocidad de fotogramas de la aplicación

En general, utilice la menor velocidad de fotogramas posible para obtener un mejor rendimiento..

La velocidad de fotogramas de la aplicación determina cuánto tiempo hay disponible para cada ciclo de “representación y código de la aplicación”, tal y como se describe en Fundamentos de la ejecución de código del motor de ejecución . Con una velocidad de fotogramas más elevada se crea una animación más fluida. Sin embargo, cuando no se está produciendo la animación ni otros cambios visuales, no suele haber motivos para utilizar una velocidad de fotogramas elevada. Una mayor velocidad de fotogramas supone más ciclos de CPU y más energía de la batería que una velocidad inferior.

A continuación se incluyen algunas instrucciones generales para una velocidad de fotogramas adecuada para la aplicación:

  • Si está utilizando la arquitectura de Flex, deje la velocidad de fotogramas inicial con el valor predeterminado..

  • Si la aplicación incluye animación, una velocidad de fotogramas adecuada debe ser como mínimo de 20 fotogramas por segundo. Un valor superior a 30 fotogramas por segundo suele ser innecesario.

  • Si la aplicación no incluye animación, probablemente una velocidad de fotogramas de 12 fotogramas por segundo sea suficiente.

Se debe tener en cuenta que la “menor velocidad de fotogramas posible” puede variar dependiendo de la actividad actual de la aplicación. Para obtener más información, consulte la siguiente sugerencia “Cambio dinámico de la velocidad de fotogramas de la aplicación”.

Utilice una velocidad de fotogramas baja si el vídeo es el único contenido dinámico en la aplicación..

El motor de ejecución reproduce el contenido de vídeo cargado a su velocidad de fotogramas nativa, independientemente de la velocidad de fotogramas de la aplicación. Si la aplicación no tiene animación ni cambia rápidamente el contenido visual, el uso de una velocidad de fotogramas baja no degrada la experiencia del usuario.

Cambio dinámico de la velocidad de fotogramas de la aplicación.

La velocidad de fotogramas inicial de la aplicación se define en un proyecto o configuración del compilador, pero la velocidad no se fija en ese valor. La velocidad de fotogramas se puede modificar estableciendo la propiedad Stage.frameRate (o la propiedad WindowedApplication.frameRate en Flex).

La velocidad de fotogramas se debe cambiar en función de las necesidades actuales de la aplicación. Por ejemplo, durante un tiempo en el que la aplicación no esté realizando ninguna animación, reduzca la velocidad de fotogramas. Si una transición animada está a punto de empezar, aumente la velocidad de fotogramas. Del mismo modo, si la aplicación se está ejecutando en segundo plano (tras dejar de ser la primera selección), generalmente se puede reducir aún más la velocidad de fotogramas. El probable que el usuario se centre en otra aplicación o tarea.

A continuación se incluyen algunas instrucciones generales para utilizar como punto de partida a la hora de determinar la velocidad de fotogramas adecuada para diferentes tipos de actividades:

  • Si está utilizando la arquitectura de Flex, deje la velocidad de fotogramas inicial con el valor predeterminado..

  • Cuando se está reproduciendo una animación, la velocidad de fotogramas debe ser de al menos 20 fotogramas por segundo. Un valor superior a 30 fotogramas por segundo suele ser innecesario.

  • Cuando no se está reproduciendo ninguna animación, probablemente una velocidad de 12 fotogramas por segundo sea suficiente.

  • El vídeo cargado se reproduce en su velocidad de fotogramas nativa independientemente de la velocidad de fotogramas de la aplicación. Si el vídeo es el único contenido en movimiento en la aplicación, probablemente una velocidad de 12 fotogramas por segundo sea suficiente.

  • Cuando la aplicación no tiene ninguna selección de entrada, probablemente una velocidad de 5 fotogramas por segundo sea suficiente.

  • Cuando una aplicación de AIR no está visible, una velocidad de 2 fotogramas por segundo o menos resulta adecuada probablemente. Por ejemplo, esta directriz se aplica al minimizar una aplicación. También se aplica en dispositivos de escritorio si la propiedad visible de la ventana nativa es false .

Para las aplicaciones creadas en Flex, la clase spark.components. WindowedApplication tiene compatibilidad incorporada para cambiar dinámicamente la velocidad de fotogramas de la aplicación. La propiedad backgroundFrameRate define la velocidad de fotogramas de la aplicación cuando ésta no se encuentra activa. El valor predeterminado es 1, lo que cambia la velocidad de fotogramas de una aplicación creada con la arquitectura de Spark a 1 fotograma por segundo. Se puede cambiar la velocidad de fotogramas en segundo plano, estableciendo la propiedad backgroundFrameRate . La propiedad se puede establecer en otro valor, o bien, defínalo en -1 para desactivar la limitación automática de velocidad de fotogramas.

Para obtener más información sobre el cambio dinámico de la velocidad de fotogramas de una aplicación, consulte los siguientes artículos:

Grant Skinner ha creado una clase limitadora de la velocidad de fotogramas. Esta clase se puede utilizar en las aplicaciones para reducir automáticamente la velocidad de fotogramas cuando la aplicación está en segundo plano. Para obtener más información y poder descargar el código fuente de la clase FramerateThrottler, consulte el artículo de Grant sobre el uso de CPY inactiva en Adobe AIR y Flash Player en http://gskinner.com/blog/archives/2009/05/idle_cpu_usage.html .