Skip to main content
Le DPS est offert uniquement sur les consoles XBOX Series. Il n’a aucun effet sur les consoles XBOX antérieures.
Les états d’alimentation dynamiques (DPS, Dynamic Power States) ajustent dynamiquement le niveau d’alimentation du GPU selon la charge de rendu. Lorsque le GPU n’est pas pleinement utilisé, le DPS réduit l’état d’alimentation, ce qui économise de l’énergie sans compromettre les performances. Le pilote graphique effectue l’ajustement automatiquement, en fonction de l’historique récent des temps d’image. Sans DPS, le GPU est verrouillé à l’état d’alimentation P4, ce qui signifie que même un GPU inactif consomme plus d’énergie que nécessaire. Le DPS déverrouille les états d’alimentation inférieurs (P0 à P3) chaque fois que la charge de travail le permet.

Fonctionnement

  1. Le jeu active les états d’alimentation dynamiques du GPU.
  2. Le GPU calcule des statistiques d’image normalisées et les conserve comme données historiques.
  3. Le GPU change automatiquement d’état d’alimentation selon la demande actuelle et l’historique, ce qui économise de l’énergie.
Les jeux peuvent réduire davantage leur consommation d’énergie en adoptant le reste de la trousse d’outils de durabilité XBOX.

Études de cas

Call of Duty: Black Ops 6

Rulon Raymond, directeur principal de la technologie pour Call of Duty :
Nous avons passé quelques jours à expérimenter avec le DPS et les résultats étaient prometteurs. Plus précisément, nous avons constaté des économies d’énergie supplémentaires de 10 à 15 % dans des zones au-delà de celles que nous avions introduites à l’aide de la trousse d’outils de durabilité XBOX. Nous ralentissions déjà certaines parties du moteur de jeu (par exemple, dans les menus ou les écrans d’accueil), sans changement de la fréquence d’images pour les joueurs, ce qui nous a fait économiser beaucoup d’énergie, mais le DPS nous a permis d’obtenir des économies supplémentaires sans aucun effort.
Au lancement, le plan de l’équipe de Black Ops 6 était le suivant :
  • Activer le DPS dans toutes les zones où des mesures d’économie d’énergie étaient déjà appliquées.
  • Exposer un indicateur permettant d’activer le DPS en tout temps, désactivé par défaut, pendant que les tests de performance sur plusieurs jours se poursuivent.

Two Point Museum

Ben Hymers, directeur technique et cofondateur de Two Point Studios, a déployé le DPS au moyen d’un paramètre infonuagique géré par l’équipe XBOX, sans modification du code :
Nous avons testé les états d’alimentation dynamiques conjointement avec le mode Constrained+ afin de maximiser l’efficacité énergétique. Ensemble, ces fonctionnalités ont réduit la consommation d’environ 50 à 58 % dans le menu principal et diminué la consommation d’énergie en mode contraint de 39 à 63 %. Depuis le déploiement, nous avons observé une baisse notable de la consommation d’énergie moyenne sans dégrader la fidélité du jeu. Par exemple, la consommation de la XBOX Series X est passée d’une moyenne de 135 W à 125 W. À l’échelle de notre base de joueurs, cela se traduit par une économie d’énergie annuelle d’environ 6,5 mégawattheures, ce qui équivaut à regarder la télévision sans arrêt pendant 65 000 heures, soit près de 7,5 années consécutives.
Two Point Museum a été le premier studio tiers à adopter le DPS à distance au moyen d’une configuration infonuagique.

Tester le DPS sans modifier le code (développement seulement)

Vous pouvez activer le DPS globalement sur une console de développement sans régénérer votre titre :
1

Mettre à jour votre console de développement

Assurez-vous qu’au moins la récupération d’août 2024 est installée sur votre console de développement.
2

Créer le fichier indicateur

Créez un fichier vide nommé DynamicPowerEnable sur votre PC.
3

Le copier sur le lecteur D: de la console

4

Lancer et profiler

Lancez votre jeu. Le DPS est maintenant actif.
5

Désactiver le DPS une fois terminé

Relancez le jeu.

Observer le DPS en temps réel

Activez la superposition de performances du titre (Title Performance Overlay) au moyen de PIX ou des paramètres de la console dans XBOX Manager.
  • Si le DPS est activé, la superposition comprend une ligne rouge et une mesure GPU power state (0 à 4) dans le coin inférieur droit. 4 signifie pleine vitesse; une valeur inférieure signifie une économie d’énergie.
  • Si le DPS est désactivé, l’état d’alimentation du GPU affiche N/A.
Utilisez la mesure Power Load % de PIX pour mesurer les changements de consommation d’énergie du GPU dans des parties précises du jeu.
Les titres ne peuvent pas utiliser le fichier DynamicPowerEnable pour activer le DPS en version commerciale. Pour les versions commerciales, utilisez SetDriverHintX (ci-dessous).

Activer le DPS dans votre jeu (version commerciale)

Utilisez l’API existante SetDriverHintX() sur le périphérique graphique.

API

Avec le GDK de juin 2024 ou une version ultérieure, utilisez l’énumération :
Pour les GDK antérieurs à juin 2024 (ou les titres XDK plus anciens), utilisez directement la valeur :

Activer le DPS

Désactiver le DPS

Le DPS peut être activé ou désactivé pendant le jeu, mais le laisser activé en tout temps procure les économies maximales.
Si votre jeu active et désactive le DPS, réinitialisez la valeur souhaitée dans le gestionnaire PLM Resume(). L’état du DPS n’est pas conservé lors d’une suspension et d’une reprise.

Détecter le DPS à l’exécution avec les statistiques d’image

Les jeux peuvent interroger les statistiques d’image pour prendre des décisions de rendu (résolution dynamique, etc.) en fonction du comportement du DPS.

GetFrameStatisticsX

Un nouveau type de statistiques d’image est offert :
Ainsi que sa structure associée :
La structure existante D3D12XBOX_RENDER_STATISTICS retourne GPUBusyDuration :
GPUBusyDuration est normalisée : elle suppose que l’horloge du GPU est à P4 et elle est indépendante de l’état d’alimentation actuel. Les statistiques d’image de mise à l’échelle de l’alimentation sont soumises aux changements d’état d’alimentation et différeront de GPUBusyDuration.

Exemple

Une charge de travail GPU qui prend 8 ms à P4 s’allonge à 12 ms à P2 (horloge plus basse) :
La valeur normalisée GPUBusyDuration est conservée parce que les moteurs de jeu l’utilisent pour les calculs de résolution dynamique. Séparer les mesures normalisées et mises à l’échelle évite les boucles de rétroaction où un état d’alimentation inférieur ferait baisser continuellement la résolution dynamique jusqu’à atteindre la plus basse.

Étapes suivantes

Last modified on October 6, 2026