Passer au contenu principal
DPS est disponible uniquement sur les consoles XBOX Series. Il n’a aucun effet sur les consoles XBOX antérieures.
Dynamic Power States (DPS) ajuste dynamiquement le niveau de puissance du GPU en fonction de la charge de rendu. Lorsque le GPU n’est pas pleinement utilisé, DPS abaisse l’état d’alimentation, ce qui économise de l’énergie sans compromettre les performances. Le pilote graphique effectue cet ajustement automatiquement, en se basant sur 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 que nécessaire. DPS déverrouille des é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 stocke sous forme de données historiques.
  3. Le GPU change automatiquement d’état d’alimentation en fonction de la demande actuelle et de l’historique, ce qui économise de l’énergie.
Les jeux peuvent réduire davantage leur consommation d’énergie en adoptant le reste du XBOX Sustainability Toolkit.

É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 DPS et les résultats étaient prometteurs. Plus précisément, nous avons constaté 10 à 15 % d’économies d’énergie supplémentaires dans des zones au-delà de celles que nous avions introduites à l’aide du XBOX Sustainability Toolkit. Nous réduisions déjà certaines parties du moteur de jeu (par exemple, dans les menus ou les écrans d’accueil), sans changement de fréquence d’images pour les joueurs, ce qui nous a fait économiser beaucoup d’énergie, mais DPS nous a permis d’obtenir des économies supplémentaires sans aucun effort.
Au moment de la sortie, le plan de l’équipe de Black Ops 6 était le suivant :
  • Activer DPS dans toutes les zones où des mesures d’économie d’énergie étaient déjà appliquées.
  • Exposer un indicateur permettant d’activer DPS en permanence, désactivé par défaut, pendant la poursuite des tests de performances sur plusieurs jours.

Two Point Museum

Ben Hymers, directeur technique et cofondateur de Two Point Studios, a déployé DPS via un paramètre cloud géré par l’équipe XBOX, sans aucune modification de code :
Nous avons testé Dynamic Power States en combinaison avec le mode Constrained+ pour 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 gameplay. Par exemple, la consommation de la XBOX Series X est passée d’une moyenne de 135 W à 125 W. Sur l’ensemble de nos joueurs, cela représente une économie d’énergie annuelle d’environ 6,5 mégawattheures, soit l’équivalent de 65 000 heures de télévision sans interruption, ou près de 7,5 années d’affilée.
Two Point Museum a été le premier studio tiers à adopter DPS à distance via une configuration cloud.

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

Vous pouvez activer DPS globalement sur un devkit sans recompiler votre titre :
1

Mettre à jour votre devkit

Assurez-vous que votre devkit dispose au minimum de la Recovery d’août 2024.
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. DPS est maintenant actif.
5

Désactiver DPS une fois terminé

Relancez le jeu.

Observer DPS en temps réel

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

Activer 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 DPS

Désactiver DPS

DPS peut être activé ou désactivé en cours de jeu, mais le laisser activé en permanence permet d’obtenir un maximum d’économies.
Si votre jeu active et désactive DPS, réappliquez la valeur souhaitée dans le gestionnaire PLM Resume(). L’état de DPS n’est pas conservé lors d’une suspension/reprise.

Détecter 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 de DPS.

GetFrameStatisticsX

Un nouveau type de statistiques d’image est disponible :
Ainsi que la structure associée :
La structure existante D3D12XBOX_RENDER_STATISTICS renvoie GPUBusyDuration :
GPUBusyDuration est normalisé : il suppose que l’horloge du GPU est à P4 et ne dépend pas de l’état d’alimentation actuel. Les statistiques d’image de mise à l’échelle de la puissance sont soumises aux changements d’état d’alimentation et diffèrent 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, car 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 dans lesquelles un état d’alimentation inférieur ferait baisser continuellement la résolution dynamique jusqu’à atteindre le minimum.

Étapes suivantes

Dernière modification le 6 octobre 2026