Para proporcionar una mejora en el tiempo de carga de un juego, Android 13 presenta un nuevo modo de energía llamado GAME_LOADING
en Android Dynamic Performance Framework (ADPF). GAME_LOADING
le indica a Power HAL si la aplicación del juego está en estado de carga para que Power HAL pueda proporcionar un impulso de carga. Esta indicación permite que Power HAL proporcione medidas de mejora del rendimiento que pueden acelerar el tiempo de carga del juego.
Esta página describe cómo la aplicación del juego pasa el estado del juego a Power HAL, explica cómo configurar Power HAL para aprovecharlo en sus dispositivos y cómo probar su implementación de Power HAL.
Detección y notificación del estado de carga
El modo de impulso de carga funciona detectando cuando una aplicación de juego está en estado de carga y notificando a Power HAL. Android 13 presenta un nuevo estado de juego llamado isLoading
en la API orientada al desarrollador. Este estado del juego usa el nuevo modo de energía GAME_LOADING
en el servicio Power Manager para notificar a Power HAL sobre el estado del juego de nivel superior. Una vez que se notifica a Power HAL sobre el estado de carga del juego, puede ajustar la configuración de rendimiento de la plataforma y la velocidad del reloj de la CPU, lo que da como resultado tiempos de carga mejorados. Los OEM pueden optar por implementar y personalizar el impulso de carga en Power HAL. Consulte la sección Personalizar la implementación de Power HAL para obtener más información.
Para indicar que un juego se está cargando, la aplicación del juego usa el Tablero del juego para establecer un estado isLoading
en el Administrador del juego. El Game Manager pasa este estado al Game Manager Service, que utiliza setPowerMode
con el nuevo modo de energía GAME_LOADING
para invocar el Power Manager Service. El modo de energía GAME_LOADING
le indica a Power HAL que el juego está en un estado de carga para que Power HAL pueda proporcionar un impulso de carga.
La siguiente figura explica el flujo de información desde la aplicación hasta Power HAL para indicar el estado de carga:
Figura 1. Flujo de información para indicar que un juego está en estado de carga.
Personaliza Power HAL para mejorar los tiempos de carga del juego
Para aprovechar el modo GAME_LOADING
, los OEM deben personalizar su implementación de Power HAL cuando se encuentran en el modo de carga del juego. Medidas como el aumento de la velocidad del reloj de la CPU, la reducción temporal de la aceleración de la temperatura y el aumento de la prioridad de la CPU a la tarea de primer plano ayudan a mejorar el rendimiento.
Como la mejora del rendimiento es específica del hardware, no hay implementaciones de referencia para el modo de mejora, hasta que se publique una implementación de referencia para el dispositivo Google Pixel.
El tablero del juego permite a los usuarios activar o desactivar la función de impulso de carga con la configuración de rendimiento. La configuración de rendimiento siempre está desactivada por defecto.
Probar y validar la implementación de carga de juegos
Para probar la implementación, use android.gamemanager.cts.GameManagerTest#testSetGameContext
. Esta prueba verifica si GameManager::setGameContext()
con un contexto isLoading
invoca el modo de carga del juego en Power HAL en modo de rendimiento.
Sin embargo, dado que la implementación de esta función es específica del hardware, los OEM deben realizar sus propias pruebas manuales para ver si los tiempos de carga del juego disminuyen al usar esta función.