A partir de Android 14, un nuevo modo de energía llamado GAME
del framework de rendimiento dinámico de Android (ADPF) permite la personalización
el rendimiento del teléfono
durante el uso de un juego. GAME
le indica a la HAL de energía que un
de juegos está en primer plano. Esta indicación permite que la HAL de energía
adoptar estrategias de administración de energía cuando se está jugando un juego, para que el usuario
ofrece un rendimiento estable y mejorado.
Para mejorar el tiempo de carga de un juego, Android
13 presenta un nuevo modo de energía llamado GAME_LOADING
en ADPF. GAME_LOADING
indica si una app de juego está en estado de carga para que
la HAL de energía puede proporcionar un aumento de carga. Esta indicación permite que la HAL de energía
para brindar medidas que permitan mejorar el rendimiento y acelerar la carga del juego
tiempo.
En esta página, se describe cómo pasa la app el estado del juego a la HAL de energía, se explica cómo configurarla para cómo aprovecharla en tus dispositivos y cómo probar la HAL de energía para implementarlos.
Detección y notificación del modo de encendido
En esta sección, se describe cómo el administrador de energía controla los modos GAME
y GAME_LOADING
.
Modo potencia de GAME
El nuevo modo de energía GAME
en Android 14 indica lo siguiente:
el servicio de Power Manager
que el usuario está jugando un juego. Cuando se notifica a la HAL de energía del GAME
ajusta la energía para mejorar el rendimiento, bajar la temperatura y extender
la duración de batería mientras se juega.
En la siguiente figura, se explica el flujo de información a la HAL de energía para
indica el modo de encendido de GAME
:
Figura 1: Flujo de información para indicar que se está jugando un juego.
El modo de encendido de GAME
siempre está configurado para las apps con un appCategory
de GAME
en AndroidManifest.xml
.
Modo de ahorro de GAME_LOADING
El modo mejorado de carga detecta el momento en que la app de un juego está
actual y notificar a la HAL de energía. Android 13
presenta un nuevo estado del juego llamado isLoading
en la API para desarrolladores.
Este estado de juego usa el nuevo GAME_LOADING
.
modo de encendido en el servicio de Power Manager para notificar a la HAL de energía sobre la parte superior
estado del juego en nivel. Una vez que la HAL de energía reciba la notificación del estado de carga del juego,
puede ajustar la configuración de rendimiento
de la plataforma y la frecuencia del reloj de la CPU
en tiempos de carga mejorados.
Para indicar que un juego se está cargando, la app usa el Panel de juego para establecer
un isLoading
en el Administrador de juegos. El Administrador de juegos pasa este estado al
Servicio de administrador, que usa setPowerMode
con el nuevo GAME_LOADING
el modo de encendido para invocar el servicio de Power Manager. El modo de consumo de GAME_LOADING
le indica a la HAL de energía que el juego está en una
estado de carga para que la HAL de energía pueda proporcionar un aumento de carga.
En la siguiente figura, se explica el flujo de información desde la app hasta la fuente de alimentación. HAL para indicar el estado de carga:
Figura 2: Flujo de información para indicar que un juego se encuentra en estado de carga.
El panel de juego permite a los usuarios activar o desactivar la función de mejora de la carga con la Configuración de rendimiento. La configuración de rendimiento siempre está desactivada de forma predeterminada.
Personaliza la HAL de energía con GAME y GAME_LOADING
Para aprovechar los modos GAME
y GAME_LOADING
, los OEMs deben
personalizar la implementación de la HAL de energía.
Como la administración de energía y la mejora del rendimiento son específicas del hardware, no tienen referencia
las implementaciones para los modos GAME
o GAME_LOADING
estarán disponibles hasta
se lanza una implementación de referencia para el dispositivo Google Pixel.
Para mejorar el rendimiento en los modos GAME
y GAME_LOADING
, los OEMs pueden elegir lo siguiente:
implementar una combinación de las siguientes medidas:
- Estabiliza la velocidad de fotogramas
- Aumenta la velocidad del reloj de la CPU
- Reducir temporalmente la limitación de temperatura
- Asigna una prioridad de CPU más alta a la app de juego en primer plano
- Reduce el aumento de CPU ajustado para apps normales que no son juegos
- Optimiza la estrategia de distribución de energía térmica
Prueba la implementación del modo GAME.
Para probar la implementación del modo GAME
, usa pruebas con el prefijo
testGamePowerMode_
en GameManagerServiceTests.java
.
Probar la implementación de GAME_LOADING
Para probar la implementación del modo GAME_LOADING
, usa android.gamemanager.cts.GameManagerTest#testSetGameContext
.
Esta prueba verifica si GameManager::setGameContext()
con un isLoading
invoca el modo de carga del juego en la HAL de energía en el modo de rendimiento.