Amélioration des performances pour les jeux

À 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:

mode-jeu

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:

Optimisation 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.