Skip to main content

XDisplayTryEnableHdrMode

Tente d’activer le mode HDR (High Dynamic Range) pour l’écran connecté.

Syntaxe

Paramètres

displayModePreference   _In_
Type : XDisplayHdrModePreference
Énumération utilisée pour privilégier soit le HDR, soit une fréquence d’images améliorée allant jusqu’à 120 Hz, lorsque le téléviseur connecté ne prend pas en charge les deux. displayHdrModeInfo   _Out_opt_
Type : XDisplayHdrModeInfo*
Si le mode HDR est activé, les valeurs minimale et maximale de luminance de mappage de tons pour l’écran connecté.

Valeur de retour

Type : XDisplayHdrModeResult Si la fonction réussit, la valeur de retour est définie sur XDisplayHdrModeResult::Enabled si le mode HDR est activé, ou sur XDisplayHdrModeResult::Disabled si le mode HDR n’est pas activé. Si la fonction échoue, la valeur de retour est définie sur XDisplayHdrModeResult::Unknown.

Remarques

Il n’est pas sécuritaire d’appeler cette fonction sur un thread sensible au temps. Pour plus d’informations, consultez Threads sensibles au temps.
Le paramètre displayModePreference permet de privilégier le HDR ou les fréquences d’actualisation de 120 Hz pour les téléviseurs qui ne prennent pas en charge les deux simultanément. Dans l’exemple ci-dessous, le développeur tente d’activer le mode HDR pour le titre actuel, en indiquant une préférence pour le HDR plutôt que pour une fréquence d’images plus élevée (dans le cas où les deux ne peuvent pas être obtenus).
Les titres doivent utiliser XDisplayHdrModePreference::PreferHdr lorsque :
  • Votre titre implémente uniquement le HDR et ne prend pas du tout en charge le 120 Hz.
  • L’utilisateur final a défini un paramètre dans le jeu indiquant qu’il ne veut pas de fréquence d’actualisation de 120 Hz, ou qu’il préfère le HDR, par exemple une préférence pour la qualité plutôt que pour les performances.
  • Le titre est dans un mode de jeu qui ne prend pas en charge la fréquence d’actualisation de 120 Hz.
Les titres doivent utiliser XDisplayHdrModePreference::PreferRefreshRate lorsque :
  • Vous prenez en charge le 120 Hz et vous ou l’utilisateur final avez indiqué que cette option est préférée pour le scénario actuel (par exemple, en définissant Privilégier les performances dans un paramètre ou un mode de jeu).
Appelez XDisplayTryEnableHdrMode une deuxième fois avec une préférence différente si :
  • Un changement a modifié votre préférence. Le plus souvent, l’utilisateur a changé le paramètre dans le jeu de Privilégier la qualité à Privilégier les performances.
N’appelez pas XDisplayTryEnableHdrMode en alternant d’une valeur à l’autre à chaque image; ne changez la préférence que lorsqu’un événement précis le justifie.
Après avoir appelé XDisplayTryEnableHdrMode, appelez IDXGIOutput::GetDisplayModeList pour vérifier la prise en charge du 120 Hz. La fonction XDisplayTryEnableHdrMode retourne une valeur d’énumération XDisplayHdrModeResult qui indique si la fonction peut activer le mode HDR pour l’écran connecté. Si XDisplayHdrModeResult::Enabled est retourné, la fonction fournit également une structure XDisplayHdrModeInfo qui contient des informations sur le mode HDR de l’écran, notamment les valeurs minimale et maximale de luminance de mappage de tons pour le mode HDR. Par défaut, si le mode HDR est activé, la fonction XDisplayTryEnableHdrMode retourne les valeurs suivantes pour les membres de XDisplayHdrModeInfo : Pour plus d’informations sur les valeurs de luminance HDR et le mappage de tons, consultez la présentation For a Better HDR Gaming Experience sur le site Web du HDR Gaming Interest Group. L’exemple suivant tente d’activer le mode HDR pour l’écran connecté. Si XDisplayHdrModeInfo::Enabled est retourné, le mode HDR est activé pour l’écran et le jeu utilise les valeurs de luminance de la structure XDisplayHdrModeInfo retournée pour s’initialiser en mode HDR; sinon, le mode HDR n’est pas disponible ou est désactivé, et le jeu s’initialise en mode SDR (standard dynamic range).
Pour plus d’informations sur la prise en charge du HDR, consultez Sortie HDR (High Dynamic Range) (rubrique sous NDA).

Configuration requise

En-tête : XDisplay.h Bibliothèque : xgameruntime.lib Plateformes prises en charge : consoles de la famille XBOX One et consoles XBOX Series

Documentation conceptuelle

Voir aussi

XDisplayHdrModePreference
XDisplayHdrModeInfo
XDisplayHdrModeResult
XDisplay
Last modified on October 6, 2026