Interventions en mode Jeu

Les interventions en mode Jeu sont Optimisations propres aux jeux vidéo définies par les fabricants d'équipement d'origine (OEM) pour améliorer les performances des jeux qui ne sont plus mis à jour par développeurs. Exemple :

  • Utilisation du redimensionnement du tampon d'arrière-plan WindowManager
  • Utilisation d'ANGLE au lieu des pilotes GLES natifs

Votre jeu peut prendre en charge et gérer API Game Mode, pour qu'elle remplace Interventions en mode Jeu fournies par l'OEM.

L'API et les interventions Game Mode sont disponibles sur :

Chaque jeu peut:

  • Implémentez le comportement de l'API Game Mode
  • proposer des paramètres d'interventions en mode Jeu aux OEM ; ou
  • Désactiver explicitement les interventions en mode Jeu

Arrière-plan

Cette section décrit le fonctionnement des interventions Game Mode et explique comment les optimiser votre jeu pour chaque mode.

Redimensionnement du tampon d'arrière-plan WindowManager

L'intervention de redimensionnement du tampon d'arrière-plan WindowManager peut réduire la charge GPU d'un appareil. Elle permet également de réduire la consommation de la batterie lorsqu'un jeu respecte le nombre de frames par seconde cible.

L'activation du redimensionnement peut entraîner une réduction allant jusqu'à 30% de l'utilisation du GPU et 10% du volume global la consommation d'énergie du système. Les résultats peuvent varier en fonction de l'appareil utilisé, des conditions environnementales et d'autres facteurs, tels que le traitement simultané.

Un jeu sans nombre de frames par seconde défini et reposant sur le GPU est susceptible d'afficher une fréquence de frames plus élevée lors des charges de GPU réduites.

Nous recommandons vivement que tous les jeux soient bien rythmé, car les fréquences d'images inégales sont considérablement sur la façon dont les utilisateurs perçoivent les performances.

Limitation du FPS

La limitation du FPS Android est une intervention du mode Jeu qui aide les jeux à s'exécuter une fréquence d'images plus stable pour réduire la consommation de la batterie. L'intervention est disponible sur Android 13 ou version ultérieure. Pour plus en savoir plus, consultez la présentation de la limitation FPS.

Évaluer les interventions en mode Jeu

Cette section utilise la commande adb.

Configurer les modes

Vous devez désactiver Game Mode Fichier de configuration Game Mode avant de tester les interventions en mode Jeu. Sinon, la plate-forme contournera et de ne respecter que les optimisations dans le jeu.

<?xml version="1.0" encoding="UTF-8"?>
<game-mode-config
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:supportsBatteryGameMode="false"
    android:supportsPerformanceGameMode="false"
/>

(Facultatif) Sauvegarder la configuration existante de l'appareil

Pour les Pixel ou d'autres appareils, une intervention peut être proposée dans la configuration de votre appareil. Vous pouvez interroger la configuration à l'aide de la commande suivante:

adb shell device_config get game_overlay <PACKAGE_NAME>

Si la requête renvoie null, ignorez la configuration préexistante. Sinon, enregistrez-le. et réinitialisés après l'évaluation.

Évaluer les interventions

Pour évaluer seule l'intervention de redimensionnement du tampon d'arrière-plan WindowManager, utilisez la pour définir différentes valeurs de redimensionnement de la mémoire tampon WindowManager différents modes de jeu.

adb shell device_config put game_overlay <PACKAGE_NAME>
mode=2,downscaleFactor=0.9:mode=3,downscaleFactor=0.5

Dans l'exemple ci-dessus, mode=2 correspond à "Performances" et mode=3 est "Économiseur de batterie". La valeur downscaleFactor est spécifiée sous forme de pourcentage s'applique au paramètre de redimensionnement (par exemple, 0,7 correspond à 70% et 0,8 à 80%). A 90% (0,9) est presque négligeable, tandis qu'un redimensionnement de 50% (0,5) est significatif.

Avertissement:Il est possible que les processus enfants ne soient pas redimensionnés correctement dans Android 12. Dans en particulier, assurez-vous que les toasts et les pop-ups s'affichent correctement. Mer nous vous recommandons de limiter le paramètre de redimensionnement à 70 % minimum.

Une fois les nouvelles valeurs de redimensionnement configurées, passez d'un mode de jeu à un autre pour voir votre jeu est affecté par l'intervention de redimensionnement du tampon d'arrière-plan WindowManager:

adb shell cmd game mode [standard|performance|battery] <PACKAGE_NAME>

Veillez à redémarrer le jeu après chaque sélection de mode de jeu. La l'intervention de réduction de la capacité nécessite le redémarrage de l'application.

Désactiver les interventions

Vous pouvez contrôler si une intervention est appliquée à votre jeu en vous désactivant. Chaque intervention a son propre paramètre de désactivation.

  1. Le même fichier XML de configuration que celui utilisé pour contrôler l'activation et la désactivation de Game Les modes sont également utilisés pour les paramètres d'intervention:
<?xml version="1.0" encoding="UTF-8"?>
<game-mode-config
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:allowGameDownscaling="false"
    android:allowGameFpsOverride="false"
/>
  1. Recompilez votre jeu et renvoyez-le pour le désactiver l'intervention.

Par défaut, les interventions définies par les fabricants d'équipement d'origine (OEM) seront utilisés, sauf si vous désactivez explicitement leur utilisation pour votre jeu.

Ressources

Pour en savoir plus sur la mesure et l'optimisation des performances des jeux, consultez les liens suivants :