À partir d'Android 14, un nouveau mode d'alimentation nommé GAME
dans le framework de performances dynamiques Android (ADPF) permet de personnaliser
les performances du téléphone
pendant l'utilisation du jeu. GAME
indique au Power HAL qu'un
est exécutée au premier plan. Cette indication permet au système d'alimentation de
d'adopter des stratégies de gestion de l'alimentation lorsqu'un jeu est en cours, afin que l'utilisateur
bénéficie de performances stables et améliorées.
Pour améliorer le temps de chargement d'un jeu, Android
13 introduit un nouveau mode d'alimentation nommé GAME_LOADING
dans l'ADF. GAME_LOADING
indique si une application de jeu est en cours de chargement.
la Power HAL peut
augmenter la charge. Cette indication autorise l'alimentation
pour fournir des mesures d'amélioration des performances pouvant accélérer le chargement du jeu
en temps réel.
Cette page décrit comment l'application de jeu l'état du jeu au Power HAL, explique comment configurer Power HAL pour : d'en profiter sur vos appareils, et de tester votre Power HAL la mise en œuvre.
Détection du mode d'alimentation et notifications
Cette section décrit comment Power Manager gère les modes GAME
et GAME_LOADING
.
Mode GAME Power
Le nouveau mode d'alimentation GAME
d'Android 14 indique
le service Power Manager
que l'utilisateur joue à un jeu. Lorsque la fonction HAL de l'alimentation reçoit une notification de GAME
il peut ajuster la puissance pour améliorer les performances, baisser la température
l'autonomie de la batterie lorsque vous jouez.
La figure suivante illustre le flux d'informations vers le Power HAL pour
indiquent le mode d'alimentation GAME
:
Figure 1 : Flux d'informations indiquant qu'un jeu est en cours.
Le mode d'alimentation GAME
est toujours défini pour les applis avec un appCategory
sur GAME
en AndroidManifest.xml
.
Mode d'alimentation GAME_LOADING
Le mode d'amélioration du chargement détecte quand une application de jeu est en cours de chargement
et en notifiant l'HAL d'alimentation. Android 13
introduit un nouvel état de jeu appelé isLoading
dans l'API destinée aux développeurs.
Cet état de jeu utilise le nouveau GAME_LOADING
le mode d'alimentation dans le service Power Manager pour indiquer au système d'alimentation
l'état du jeu. Une fois que l'HAL d'alimentation est informée de l'état de chargement du jeu,
peut ajuster les paramètres de performances de la plate-forme et la fréquence d'horloge du processeur, ce qui entraîne
pour réduire le temps de chargement.
Pour indiquer qu'un jeu est en cours de chargement, l'application de jeu utilise le Tableau de bord Jeux pour définir
un isLoading
dans le Gestionnaire de jeux. Le gestionnaire de jeu transmet cet état au jeu.
Manager Service, qui utilise setPowerMode
grâce au nouveau GAME_LOADING
pour appeler le service Power Manager. Mode d'alimentation GAME_LOADING
indique au Power HAL que le jeu se trouve dans un
l'état de chargement afin que l'HAL d'alimentation puisse
booster le chargement.
La figure suivante illustre le flux d'informations de l'application vers le bouton Marche/Arrêt HAL pour indiquer l'état de chargement:
Figure 2. Flux d'informations pour indiquer qu'un jeu est en cours de chargement.
Le tableau de bord Jeux permet aux utilisateurs d'activer ou de désactiver la fonctionnalité d'amélioration du chargement avec le paramètre de performances. Le paramètre de performances est toujours désactivé par défaut.
Personnaliser Power HAL avec GAME et GAME_LOADING
Pour profiter des modes GAME
et GAME_LOADING
, les OEM doivent
personnaliser l'implémentation de Power HAL.
La gestion de l'alimentation et l'amélioration des performances étant spécifiques au matériel, aucune référence
les implémentations pour les modes GAME
ou GAME_LOADING
sont mises à disposition jusqu'à
nous proposons une implémentation de référence pour l'appareil Google Pixel.
Pour améliorer les performances en mode GAME
et GAME_LOADING
, les OEM peuvent choisir de :
mettre en œuvre une combinaison des mesures suivantes:
- Stabiliser la fréquence d'images
- Augmenter la vitesse d'horloge du processeur
- Réduire temporairement la limitation de température
- Attribuer une priorité de processeur plus élevée à l'application de jeu au premier plan
- Réduction de l'optimisation du processeur optimisée pour les applications standards hors jeu
- Optimiser la stratégie de distribution de l'énergie thermique
Tester l'implémentation du mode JEU
Pour tester l'implémentation du mode GAME
, utilisez des tests précédés du préfixe
testGamePowerMode_
dans GameManagerServiceTests.java
.
Tester l'implémentation de GAME_LOADING
Pour tester l'implémentation du mode GAME_LOADING
, utilisez android.gamemanager.cts.GameManagerTest#testSetGameContext
.
Ce test vérifie si GameManager::setGameContext()
avec un isLoading
appelle le mode de chargement du jeu sur le Power HAL en mode Performances.