Passer au contenu principal
Cette rubrique décrit comment le matériel d’affichage de XBOX Series X|S offre des possibilités d’améliorer la qualité visuelle et les performances GPU d’un jeu. Découvrez comment économiser du temps de traitement GPU et de la mémoire :
  • En déchargeant une partie du traitement HDR (High Dynamic Range) vers le matériel d’affichage.
  • En tirant parti des possibilités de fréquence d’images offertes par les écrans 120 Hertz (Hz).
  • En utilisant des fonctionnalités telles que Dolby Vision et Auto HDR.
Ces informations étaient à jour en avril 2022. Plusieurs fonctionnalités ont pu être modifiées ou mises à jour depuis.
La XBOX comporte de nombreux composants matériels, dont le CPU et le GPU. Cependant, comme le matériel d’affichage est une nouveauté de XBOX Series X|S, il est souvent négligé. Il s’agit d’un bloc matériel distinct de la console. Le pilote d’affichage contrôle et programme le matériel d’affichage. Il est chargé de traiter l’image finale rendue par le jeu et de la transformer en données transmises par le câble HDMI à un écran. Le matériel d’affichage de XBOX Series X|S comporte des parties programmables. Par exemple, des tables de correspondance (LUT) 1D et 3D et des opérations mathématiques telles que la mise à l’échelle, les multiplications de matrices et les interpolations. Il est ainsi bien plus capable d’afficher les détails d’une image que le matériel d’affichage de XBOX One. Utilisez cette programmabilité pour des options avancées, comme l’implémentation d’Auto HDR dans le matériel d’affichage.

Décharger le travail du GPU vers le matériel d’affichage

Cette section décrit comment déplacer une partie du traitement du GPU vers le matériel d’affichage.

Rendu de scène HDR

La plupart des jeux effectuent le rendu des valeurs HDR dans leurs back buffers intermédiaires en utilisant des formats de render target haute précision. Certains jeux PC utilisent des formats de 64 bits par pixel (bpp) ou 128 bpp. Sur console, lors du rendu de scènes HDR, nous vous recommandons de limiter l’utilisation de render targets 64 bpp et 128 bpp. Nous vous recommandons plutôt d’utiliser 32 bpp ou moins pour les raisons suivantes.
  • Vous bénéficiez d’une exportation de couleur à double débit avec le render backend plus (RB+) lorsque l’alpha blending est désactivé.
  • La pression sur la mémoire, la bande passante et le cache est réduite.
  • C’est particulièrement important sur XBOX Series S.
Une autre optimisation consiste à remplacer le format de render target R11G11B10, très répandu, par R9G9B9E5_SHAREDEXP. Il présente les avantages suivants.
  • Une précision des couleurs supérieure, sauf pour les bleus très lumineux
  • Des lectures, écritures et fusions à plein débit
Pour un exemple de R9G9B9E5_SHAREDEXP, consultez l’exemple HDRPrecision dans les exemples console du Microsoft Game Development Kit (GDK). Cet exemple permet de basculer entre différents formats, soit pour le format de render target, soit pour le format de swap chain. Il montre les avantages en matière de performances GPU et de précision des couleurs lorsque différentes combinaisons de formats de render target sont utilisées. Figure 1. Visualisation exagérée du banding de valeurs linéaires. Visualisation exagérée du banding de valeurs linéaires La figure 1 compare la précision des couleurs de R11G11B10 à celle de R9G9B9E5, telle qu’elle apparaît dans une capture PIX. L’image R11G11B10 du haut présente des artefacts de banding. L’image R9G9B9E5 en dessous n’en présente pas, ce qui indique que le format R9G9B9E5 offre une meilleure précision des couleurs que le format R11G11B10.

Buffers de swap chain

L’une des normes HDR prises en charge sur XBOX est HDR10. Elle exige que les consoles envoient les images aux écrans HDR10 en utilisant l’espace colorimétrique Rec.2020 et la courbe gamma ST.2084. Le matériel d’affichage peut effectuer des conversions de couleurs et appliquer des courbes gamma, ce qui améliore les performances. Pour les conversions d’espace colorimétrique, deux options sont possibles.
  • Traiter la conversion sur le GPU
  • Traiter la conversion sur le matériel d’affichage.

Conversions d’espace colorimétrique : option 1

Les titres peuvent utiliser le calcul GPU pour effectuer les conversions d’espace colorimétrique dans une passe de rendu de post-traitement. Figure 2. Conversions d’espace colorimétrique à l’aide du calcul GPU. Conversions d'espace colorimétrique à l'aide du calcul GPU La figure 2 montre la séquence de conversion d’espace colorimétrique à l’aide du calcul GPU.
  1. Le titre effectue le rendu de la scène en Rec.709.
  2. Le shader convertit Rec.709 en Rec.2020 sur le GPU.
  3. Les valeurs de couleur de la swap chain sont en Rec.2020.
  4. Le matériel d’affichage transmet les valeurs à l’écran.
Dans cette séquence, vous devez utiliser l’indicateur Present DXGI_COLOR_SPACE_RGB_FULL_*_NONE_P2020. Il indique au pilote que votre swap chain contient des valeurs dans l’espace colorimétrique Rec.2020.

Conversions d’espace colorimétrique : option 2

La conversion d’espace colorimétrique peut également être effectuée par le matériel d’affichage.
  • Les valeurs de la swap chain sont soit en Rec.709, soit en P3-D65.
  • Present utilise l’un des indicateurs suivants.
    • DXGI_COLOR_SPACE_RGB_FULL_*_NONE_P709.
    • DXGI_COLOR_SPACE_RGB_FULL_*_NONE_D65P3.
Figure 3. Conversions d’espace colorimétrique à l’aide du matériel d’affichage. Conversions d'espace colorimétrique à l'aide du matériel d'affichage La figure 3 montre la séquence de conversion d’espace colorimétrique à l’aide du matériel d’affichage de la console. Elle évite d’utiliser le GPU.
  1. Le titre effectue le rendu de la scène en Rec.709 ou en P3-D65.
  2. Aucun traitement n’est effectué sur le GPU. La swap chain contient des valeurs dans l’espace colorimétrique Rec.709 ou P3-D65.
  3. Le matériel d’affichage convertit l’espace colorimétrique vers l’espace Rec.2020 requis par l’écran.
  4. Present utilise l’un des indicateurs suivants.
  • DXGI_COLOR_SPACE_RGB_FULL_*_NONE_P709
  • DXGI_COLOR_SPACE_RGB_FULL_*_NONE_D65P3
En plus d’un gain de performances, cette option offre également une précision des couleurs supérieure à celle des conversions GPU. Les bits sont pleinement utilisés et ne sont pas gaspillés pour des valeurs situées hors de l’espace colorimétrique de travail.

Exemple : rendu d’une pomme rouge en Rec.709

Figure 4. Exemple : rendu d’une pomme rouge en Rec.709. Exemple : rendu d'une pomme rouge en Rec.709 La figure 4 montre l’exemple d’une pomme rouge utilisant un swap buffer. Dans l’espace colorimétrique Rec.709, le rouge le plus rouge est représenté par les valeurs (1.0, 0.0, 0.0). Le jeu n’effectue jamais le rendu d’un rouge plus rouge que celui-ci. La figure 4 représente les 10 bits du canal rouge dans le swap buffer. Les 10 bits sont tous utilisés pour Rec.709. Le même rouge peut également être représenté dans l’espace colorimétrique Rec.2020, plus vaste, à l’aide des valeurs (0.63, 0.007, 0.016). Notez que les valeurs numériques diffèrent des valeurs Rec.709, mais que la couleur est la même. Seul l’espace colorimétrique change. La ligne supérieure de la figure 4 montre une swap chain Rec.709. La ligne inférieure montre une swap chain Rec.2020. Notez que le rouge le plus rouge du jeu se trouve maintenant dans la swap chain Rec.2020. Autrement dit, les 10 bits de la swap chain ne sont pas tous utilisés pour le rouge le plus rouge dont le jeu effectue le rendu. Certains bits servent à représenter des valeurs de rouge plus rouges que le rouge le plus rouge que le jeu peut rendre. Des bits sont donc gaspillés. De nombreuses combinaisons de formats de swap chain et d’espaces colorimétriques sont disponibles. Figure 5. Swap chain R9G9B9E5 avec Rec.2020 linéaire et Rec.709 linéaire. Swap chain R9G9B9E5 avec Rec.2020 linéaire et Rec.709 linéaire La figure 5 montre deux combinaisons de couleurs. L’image de gauche utilise Rec.2020 linéaire et présente des artefacts de banding dans les valeurs de bleu. L’image de droite utilise Rec.709. Elle ne présente aucun artefact de banding dans le bleu par rapport à l’image de gauche. Nous vous recommandons de ne pas utiliser une swap chain R9G9B9E5 avec Rec.2020 linéaire.

Options de traitement de la courbe gamma

Deux options de traitement de la courbe gamma sont disponibles.
  • Traiter la courbe gamma sur le GPU
  • Traiter la courbe gamma sur le matériel d’affichage

Traitement de la courbe gamma : option 1

Figure 6. Traitement de la courbe gamma à l’aide du calcul GPU. Traitement de la courbe gamma à l'aide du calcul GPU La figure 6 montre la séquence de traitement des courbes gamma à l’aide du GPU.
  1. Le titre effectue le rendu de valeurs linéaires.
  2. Le titre convertit les valeurs linéaires en valeurs gamma ST.2084 à l’aide du shader.
  3. Le buffer de swap chain contient désormais des valeurs normalisées non linéaires avec la courbe gamma ST.2084.
  4. Le matériel d’affichage ne fait rien, car l’écran utilise les valeurs ST.2084.
  5. Utilisez le format de render target R10G10B10A2_UNORM ou le format de render target R9G9B9E5_SHAREDEXP pour traiter les courbes gamma.
  6. Present utilise l’indicateur DXGI_COLOR_SPACE_RGB_FULL_G2084_NONE_*.
L’indicateur Present inclut G2084. Cela indique au pilote d’affichage matériel que la swap chain contient des valeurs auxquelles la courbe gamma ST.2084 a déjà été appliquée. Le titre effectue le traitement sur le GPU. Le matériel d’affichage achemine les données.

Traitement de la courbe gamma : option 2

Figure 7. Traitement de la courbe gamma à l’aide du matériel d’affichage. Traitement de la courbe gamma à l'aide du matériel d'affichage La figure 7 montre la séquence de traitement des courbes gamma à l’aide du matériel d’affichage.
  1. Le titre effectue le rendu de valeurs linéaires.
  2. Les valeurs de la swap chain sont normalisées linéairement, 1.0 représentant 10 000 nits.
  3. Vous devez utiliser le format de render target R9G9B9E5_SHAREDEXP.
  4. Present utilise l’indicateur DXGI_COLOR_SPACE_RGB_FULL_G10_NONE_*.
Le traitement est effectué par le matériel d’affichage, et non par le titre sur le GPU. L’indicateur Present inclut la valeur G10, abréviation de gamma 1.0. Cela indique au pilote d’affichage matériel que la swap chain contient des valeurs linéaires et que la courbe gamma ST.2084 doit encore être appliquée.

Solution d’image recommandée

De nombreuses combinaisons de formats avec conversions de couleurs sont disponibles. La recommandation suivante vous permet d’obtenir des images lumineuses et colorées de haute précision avec un traitement GPU réduit. Figure 8. Le titre effectue le rendu en Rec.709. Le titre effectue le rendu en Rec.709 Dans la figure 8, le titre effectue le rendu de sa scène en Rec.709. Figure 9. Expansion de la gamme de couleurs de Rec.709 vers P3-D65. Expansion de la gamme de couleurs de Rec.709 vers P3-D65 La figure 9 montre l’expansion de la gamme de couleurs de Rec.709 vers l’espace colorimétrique P3-D65, plus vaste. Cela garantit une image plus colorée. Comme les instructions de shader sont faciles à implémenter, nous vous recommandons de les intégrer à un shader existant plutôt que d’utiliser un shader distinct. Un exemple de code est fourni à la fin de cette section. Figure 10. Valeurs du swap buffer. Valeurs du swap buffer La figure 10 montre que la swap chain contient désormais des valeurs de couleur linéaires dans l’espace colorimétrique P3-D65. Vous devez utiliser le format R9G9B9E5 et spécifier G10 avec l’indicateur Present D65P3. Figure 11. Conversion des couleurs et courbe gamma par le matériel d’affichage. Conversion des couleurs et courbe gamma par le matériel d'affichage La figure 11 montre le matériel d’affichage qui convertit l’espace colorimétrique de P3 vers Rec.2020 et de P3 linéaire vers ST.2084. La plupart des écrans HDR sont près d’afficher la totalité de l’espace colorimétrique P3. Celui-ci est bien plus vaste que l’espace colorimétrique Rec.709. Cependant, de nombreux développeurs effectuent le mastering de leurs titres en Rec.709, et les couleurs de l’écran ne sont pas pleinement exploitées.

Expansion de la gamme de couleurs

L’expansion de la gamme de couleurs est un processus souvent négligé. Pourtant, elle est peu coûteuse, facile à implémenter et améliore les graphismes de votre titre. Figure 12. Exemples d’images. Exemples d'images Dans la figure 12, l’image de gauche montre un feu de circulation. Le feu rouge est lumineux, mais il est d’un orange diffus plutôt que rouge. Les deux images suivantes simulent la différence entre Rec.709 et un espace colorimétrique plus large. L’image Rec.709 au centre montre un ciel bleu, mais désaturé. Dans l’image de droite, l’espace colorimétrique P3, plus vaste, présente toujours un ciel bleu, mais conserve la couleur bleue. Cette comparaison illustre comment un espace colorimétrique plus vaste permet de mieux conserver la saturation des couleurs. En effet, le volume colorimétrique Rec.709 est réduit. Ce volume diminue à mesure que les couleurs deviennent plus lumineuses, ce qui entraîne des couleurs vives désaturées. Figure 13. Volume colorimétrique et saturation. Volume colorimétrique et saturation La figure 13 montre que lorsque le volume colorimétrique est plus réduit, les valeurs de couleurs lumineuses se désaturent. Avec Rec.709, les couleurs ne peuvent pas être à la fois lumineuses et colorées. De plus, les couleurs peuvent être soit lumineuses et désaturées, soit colorées mais ternes. Le code de conversion de Rec.709 vers P3 est simple. Il s’agit d’une manipulation de matrice et d’une interpolation linéaire. Le code suivant est tiré de l’exemple SimpleHDR.
Ce code étend l’espace colorimétrique. La majeure partie de l’image reste dans l’espace colorimétrique Rec.709, mais les couleurs lumineuses sont étendues. Cela réduit la désaturation des couleurs. Par exemple, les couleurs naturelles comme les tons de peau ne changent pas. À mesure que les couleurs deviennent plus lumineuses, elles utilisent des valeurs de couleur de l’espace colorimétrique P3. La scène conserve sa saturation des couleurs au lieu de se désaturer.

Mappage de tons automatique Standard Dynamic Range

Le mappage de tons automatique SDR (Standard Dynamic Range) est une autre technique qui présente des avantages lorsque vous déplacez du travail du GPU vers le matériel d’affichage. Le mappage de tons automatique SDR est un processus dans lequel un titre fournit une image HDR, à partir de laquelle le système XBOX crée automatiquement une image SDR. Les images SDR sont utilisées dans des situations en temps réel comme le Game DVR, la diffusion et le streaming. Le mappage de tons automatique SDR présente les avantages suivants.
  • Des gains de performances GPU grâce au déplacement du travail vers le matériel d’affichage
  • Une réduction de la mémoire et de la bande passante
  • Une simplification du code du titre
Exploitez ces gains de performances lorsque vous travaillez avec des écrans 120 Hz ou sur XBOX Series S. Pour plus d’informations, consultez l’exemple HDRAutoToneMapping. Les deux options permettant de produire des images SDR en temps réel pour le Game DVR, la diffusion et le streaming sont les suivantes.
  • Le titre effectue le rendu de l’image SDR dans une seconde swap chain, en utilisant le traitement GPU et de la mémoire supplémentaire.
  • Le titre n’effectue pas le rendu d’une seconde swap chain. À la place, le matériel d’affichage de XBOX Series X|S génère l’image sans coût en performances GPU ni en utilisation de la mémoire.

Économiser du temps et de la mémoire grâce au matériel d’affichage

Si votre titre effectue le rendu en 4K et que vous utilisez le triple buffering, allouez 96 Mo de mémoire supplémentaire à la seconde swap chain pour effectuer le rendu de votre image SDR à tons mappés. En revanche, si le matériel d’affichage effectue le traitement, aucune allocation de mémoire n’est nécessaire. Avec le GPU, les économies dépendent de la façon dont le titre traite son tone mapper et son étalonnage des couleurs. Le coût du tone mapper est économisé s’il est limité par l’unité arithmétique et logique (ALU). Si le tone mapper est limité par la bande passante, vous pouvez utiliser une LUT 3D. Vous économisez ainsi :
  • 120 microsecondes sur XBOX Series X en 4K.
  • 120 microsecondes sur XBOX Series S en 1440p.
120 microsecondes peuvent sembler peu, mais si vous effectuez le rendu à 120 FPS, c’est un gain de temps précieux. Les développeurs passent beaucoup de temps à optimiser les performances pour gagner quelques dizaines de microsecondes. Le traitement par le matériel d’affichage contribue à cette optimisation des performances.

Plans d’affichage

Le traitement des plans d’affichage sur le matériel d’affichage, plutôt que sur le GPU, permet des gains de performances supplémentaires. Avec le matériel d’affichage, vous pouvez utiliser des fréquences d’actualisation, des espaces colorimétriques et des résolutions différents pour chaque plan d’affichage. Par exemple, vous pouvez effectuer le rendu de l’interface utilisateur en 4K et la mettre à jour à 30 Hz, tandis que la scène est rendue en 1440p et mise à jour à 60 Hz. Le matériel d’affichage met ensuite à l’échelle et compose les éléments de l’interface utilisateur sur l’image finale du titre. Figure 14. Composition de plans par le matériel d’affichage. Composition de plans par le matériel d'affichage La figure 14 montre le matériel d’affichage composant deux plans différents. L’adoption de la composition sur XBOX One a été faible, car :
  • Elle s’effectue dans un espace gamma non linéaire.
  • Elle ne peut pas être utilisée avec le HDR.
Sur XBOX Series X|S, la composition :
  • S’effectue dans un espace gamma linéaire.
  • Peut être utilisée avec le HDR si vous utilisez le mappage de tons automatique.

120 Hz et 60 FPS+

Le principal avantage d’un écran 120 Hz pourrait être de permettre aux joueurs de jouer à des jeux à 120 FPS. Toutefois, un écran 120 Hz peut également être utilisé avec d’autres fréquences d’images.

Bande passante HDMI

Des résolutions plus élevées, des fréquences d’actualisation plus élevées et le HDR nécessitent une bande passante HDMI plus importante. Une bande passante plus élevée impose des restrictions sur ce que la console peut envoyer à l’écran. Les spécifications HDMI définissent la bande passante maximale pouvant être transmise entre des appareils HDMI.

HDMI 2.1

  • 48 Gbit/s offrent une bande passante suffisante pour envoyer simultanément de la 4K HDR et du 120 Hz.
  • Certains écrans prennent en charge HDMI 2.1 sur un seul port et HDMI 2.0 sur les autres ports.

HDMI 2.0

  • 18 Gbit/s ne suffisent pas pour envoyer simultanément de la 4K HDR et du 120 Hz.
  • Les paramètres d’affichage de la console disponibles sont 1080p à 120 Hz ou 1440p à 120 Hz.
Lorsque l’écran ne peut pas traiter simultanément la 4K HDR et le 120 Hz, spécifiez une préférence de mode dans l’API. Par exemple, privilégiez une fréquence d’actualisation de 120 Hz pour le mode multijoueur et le HDR pour le mode solo. C’est ce qu’illustre l’exemple de code suivant.
Vous pouvez changer de mode de préférence pendant le rendu de votre jeu. Lorsque vous changez de mode au moment de l’exécution, vous devez appeler les API suivantes dans le bon ordre.
  1. XDisplayTryEnableHdrMode
  2. GetDisplayModeListX
  3. SetFrameIntervalX
  4. ScheduleFrameEventX
Pour plus d’informations, consultez l’exemple Simple120Hz. Nous vous recommandons de développer ou de tester votre jeu en tenant compte des contraintes de HDMI 2.0. Si votre écran prend en charge HDMI 2.1, utilisez XBOX Manager ou xbconfig pour émuler les limitations de bande passante de HDMI 2.0. Figure 15. Émulation de la limitation de bande passante HDMI 2.0 dans XBOX Manager. Émulation de la limitation de bande passante HDMI 2.0 dans XBOX Manager La figure 15 montre les paramètres d’affichage dans XBOX Manager. Pour tester les contraintes de HDMI 2.0, modifiez le paramètre Display connection de Auto à HDMI2. Veillez à rétablir le paramètre sur Auto une fois vos tests terminés.

Mode 60FPS Plus

Un écran 120 Hz vous permet de faire plus que d’effectuer le rendu à 120 FPS. Il existe désormais un mode 60FPS Plus (60FPS+). Dans ce mode, le titre effectue le rendu avec la VSync verrouillée à 60 Hz. Il peut cependant fonctionner sans verrouillage pour des fréquences d’images supérieures à 60 FPS (par exemple, à 90 FPS) sans tearing ni saccades. Ce mode nécessite que l’écran prenne en charge le 120 Hz et la fréquence d’actualisation variable (VRR). Si ce n’est pas le cas, le titre se synchronise automatiquement à 60 Hz. La VRR permet d’afficher les images de manière fluide. N’utilisez pas le mode 60 FPS+ si la cible est de 120 FPS. Utilisez plutôt D3D12XBOX_FRAME_INTERVAL_120_HZ sans l’indicateur de mode 60FPS+. C’est ce qu’illustre l’exemple de code suivant.
Pour plus d’informations, consultez les exemples Simple120Hz et Responsiveness.

Modes de rendu 24 Hz et 40 Hz

Voici une description des modes de rendu à 24 FPS et 40 FPS avec des écrans 120 Hz. 24 Hz
  • Le système présente cinq images 120 Hz.
  • Ces images sont utiles pour les cinématiques en temps réel.
  • 24 FPS offre 8,33 ms de temps GPU supplémentaire par rapport à 30 FPS. Ce temps peut être utilisé pour améliorer la qualité visuelle.
40 Hz
  • Le système présente trois images 120 Hz.
  • Si le titre ne peut pas atteindre 60 FPS, 40 FPS est une bonne option.
  • 40 FPS offre 8,33 ms de temps GPU supplémentaire par rapport à 60 FPS.
Vérifiez la prise en charge de l’écran à l’aide de DisplayModeList.

Suspension/reprise

Un joueur peut suspendre votre titre à tout moment pour passer à un autre jeu ou à une autre application, ou pour effectuer une action dans l’Accueil XBOX, par exemple configurer les paramètres de la console. Les conditions suivantes peuvent entraîner un changement des modes d’affichage pendant que votre jeu est en mode suspendu ou contraint.
  • Les paramètres de la console sont basculés entre 60 Hz et 120 Hz
  • Le HDR est activé ou désactivé dans les paramètres de la console
  • L’écran est changé
  • Un câble HDMI est changé
  • Un récepteur audio/vidéo est ajouté ou retiré
Un jeu doit gérer les états suspendu/repris et contraint/non contraint à l’aide des éléments suivants :
  • RegisterAppStateChangeNotification
  • RegisterAppConstrainedChangeNotification
Gérez ces cas dans lesquels des changements de mode d’affichage peuvent se produire. Pour ce faire, implémentez les quatre API de l’exemple de code suivant dans votre code de passage à l’état non contraint ou de reprise. L’exemple de code suivant est tiré de l’exemple Simple120Hz.
Ces quatre API liées à l’affichage doivent être appelées dans le bon ordre lors de la reprise du jeu ou de son passage à l’état non contraint.

Étalonnage HDR des jeux

L’application d’étalonnage HDR des jeux affiche des mires permettant de déterminer la luminance minimale et maximale de mappage de tons de l’écran. Le joueur peut ainsi étalonner la console une seule fois, et non pour chaque jeu. Les valeurs d’étalonnage sont stockées dans le système, pour chaque console. Ces valeurs sont utilisées dans le shader de display mapper du titre. L’étalonnage HDR des jeux est pris en charge sur XBOX One et XBOX Series X|S. Figure 16. Étalonnage HDR des jeux. Étalonnage HDR des jeux La figure 16 montre le paramètre permettant de lancer l’application d’étalonnage HDR des jeux. Figure 17. Mires d’étalonnage. Mires d'étalonnage La figure 17 montre les trois mires d’étalonnage de luminance. Elles sont basées sur les recommandations du HDR Gaming Interest Group (HGiG). Elles déterminent les détails les plus sombres et les plus lumineux visibles à l’écran. La figure 17 montre où le test d’étalonnage trouve la valeur à partir de laquelle les détails lumineux commencent à être écrêtés. Pour récupérer les valeurs d’étalonnage, utilisez l’exemple de code suivant.

Valeurs d’étalonnage : option 1

N’implémentez pas vos propres écrans d’étalonnage. Utilisez les valeurs de l’API.
  • N’implémentez pas d’écran d’étalonnage dans le titre.
  • Utilisez les valeurs d’étalonnage de l’API dans le shader de display mapper du titre.
  • Nous vous recommandons d’ajouter au menu du titre une option menant à l’application d’étalonnage à l’aide du code de lien profond suivant. #include <XLauncher.h> XLaunchUri(nullptr, "hdrgamecalibration://");

Valeurs d’étalonnage : option 2

Pour implémenter un écran d’étalonnage dans le titre, procédez comme suit.
  1. Contraste : effectuez un ajustement simple, comme pow(x, displayGamma).
  2. Luminosité : effectuez un ajustement de la luminosité du blanc papier.
  3. Luminosité maximale : déterminez le point d’écrêtage de la luminosité maximale.
Utilisez les valeurs d’étalonnage de l’API comme valeurs par défaut.
  • Si le joueur n’utilise pas l’étalonnage du titre, le jeu utilise tout de même des valeurs par défaut correctes.
  • Si le joueur utilise l’étalonnage du titre, les valeurs de départ sont déjà correctes.
Figure 18. Valeurs d’étalonnage : exemple de l’option 2. Valeurs d'étalonnage : exemple de l'option 2 La figure 18 montre une scène qui utilise l’option 2. Pour plus d’informations, consultez l’exemple HDRCalibration. Figure 19. Écran d’étalonnage HDR de Gears 5. Écran d'étalonnage HDR de Gears 5 La figure 19 montre l’écran d’étalonnage HDR de Gears 5. Il n’utilise pas de mire objective. L’écran montre comment l’image du jeu est affectée lorsque les valeurs d’étalonnage sont modifiées. Le joueur peut ainsi voir l’effet du HDR sur les détails sombres, les tons moyens et les détails lumineux. Il peut basculer vers le rendu réel du jeu.

Dolby Vision pour les jeux

La prise en charge de Dolby Vision pour les applications multimédias, comme Netflix, est disponible depuis la sortie de XBOX One S. La prise en charge de Dolby Vision pour les jeux a été ajoutée mi-2021, mais uniquement sur XBOX Series X|S. Avantages de Dolby Vision :
  • Simplifie la création de contenu.
  • L’intention artistique est préservée sur tous les écrans Dolby Vision.
  • Le joueur découvre le jeu tel que vous l’avez masterisé pendant le développement.
  • L’étalonnage HDR n’est pas nécessaire ; l’application d’étalonnage HDR des jeux n’est donc pas pertinente.

Dolby Vision : option 1 (Dolby Vision natif)

  • Le titre implémente Dolby Vision en natif en tant que middleware à l’aide du Software Implementation Development Kit (SIDK) de Dolby.
  • Le mappage d’affichage statique et le mappage d’affichage dynamique sont pris en charge.
  • Dolby Display Vision natif inclut des tone mappers pour HDR10 et SDR.
  • Le coût GPU varie selon l’option sélectionnée.
Figure 20. Option 1 : Dolby Vision natif. Option 1 : Dolby Vision natif La figure 20 montre le processus Dolby Vision natif.

Dolby Vision : option 2 (Dolby Vision automatique)

  • Le système XBOX convertit automatiquement HDR10 en Dolby Vision.
  • Le système applique le display mapper statique de Dolby.
  • La sortie du titre est en HDR10.
  • Le titre ne détecte pas Dolby Vision.
  • Les titres peuvent refuser Dolby Vision.
  • Il n’y a aucun coût GPU. Tout est effectué par le matériel d’affichage.
Assurez-vous que Dolby Vision est activé dans les paramètres d’affichage de la console. Vous pouvez utiliser l’option 4K TV details pour vérifier si l’écran connecté prend en charge Dolby Vision. Figure 21. Paramètres d’affichage de la console. Option 2 : paramètres d'affichage de la console Figure 22. Option 2 : détails du téléviseur 4K (écran) dans les paramètres d’affichage de la console. Option 2 : détails du téléviseur 4K dans les paramètres d'affichage de la console Les figures 21 et 22 montrent les paramètres General TV and display options pour jouer à des jeux sur XBOX.

Auto HDR

La fonctionnalité Auto HDR ajoute automatiquement le HDR aux titres SDR au niveau du système. Cette fonctionnalité est généralement appliquée aux titres rétrocompatibles. Toutefois, elle est également disponible pour les titres GDK. Comme Auto HDR est traité par le matériel d’affichage, il n’entraîne aucun coût supplémentaire en CPU, GPU, mémoire, bande passante ou latence. Auto HDR ne modifie pas l’intention artistique d’origine de l’image SDR. Auto HDR présente les avantages suivants.
  • Ajoute jusqu’à 1 000 nits de plage de luminosité supplémentaire.
  • Ajoute une plage de couleurs supplémentaire jusqu’à l’espace colorimétrique P3-D65.
Nous vous recommandons d’implémenter le HDR natif. Si vous ne le pouvez pas, Auto HDR est idéal pour obtenir facilement une amélioration visuelle par rapport au SDR. Auto HDR optimise les valeurs d’étalonnage HDR pour l’écran connecté.

Exemple d’images HDR simulées

Les images HDR ne peuvent pas être affichées ici, mais la figure 23 simule l’effet sur un écran SDR. Figure 23. Exemple d’images HDR simulées. Exemple d'images HDR simulées La figure 23 montre l’image SDR à gauche. L’image Auto HDR simulée se trouve à droite. Notez que l’aspect général de l’image reste le même dans les deux vues. L’objectif d’Auto HDR est d’améliorer la qualité visuelle de l’image, et non de modifier son intention artistique. Dans l’image SDR de gauche, les pixels les plus lumineux se trouvent autour des reflets lumineux à la surface de l’eau. Comme il s’agit de SDR, ces pixels sont blancs, et non lumineux. Dans l’image de droite, améliorée par Auto HDR, les hautes lumières de la lumière reflétée à la surface de l’eau atteignent jusqu’à 1 000 nits de luminosité. Les hautes lumières sont non seulement plus lumineuses, mais aussi plus détaillées. La lumière circulaire bleu clair sous le radeau est plus colorée, car elle se trouve dans l’espace colorimétrique P3. Figure 24. Carte thermique. Carte thermique La figure 24 montre une carte thermique qui indique où se trouvent les améliorations Auto HDR dans la scène. Les couleurs plus lumineuses que la plage SDR sont indiquées par des valeurs Auto HDR lumineuses en jaune et orange. La carte thermique permet de visualiser comment l’image est améliorée, et non modifiée, là où c’est pertinent.

Auto HDR et titres GDK

Pour activer Auto HDR, procédez comme suit, ainsi que l’illustre l’exemple de code.
  1. Basculez l’écran en mode HDR.
  2. Ajoutez l’indicateur d’activation d’Auto HDR lors de la création du périphérique Direct3D.
Ce code produit les mêmes résultats visuels que l’Auto HDR rétrocompatible, mais il existe quelques différences mineures pour les joueurs.
  • Le joueur n’est pas informé que le titre utilise Auto HDR.
  • Aucun indicateur Auto HDR n’apparaît dans le tableau de bord XBOX.
  • L’activation d’Auto HDR dans les paramètres de la console n’a aucun effet sur l’Auto HDR d’un titre GDK.

Recommandations pour Auto HDR

Utilisez un format de swap buffer haute précision.
  • Utilisez R9G9B9E5 ou R10G10B10A2.
  • R9G9B9E5 est le meilleur choix, car il offre la plus grande précision des couleurs.
  • Évitez d’utiliser R8G8B8A8, car il peut introduire du banding.
Évitez d’utiliser des affichages tête haute (HUD) et des éléments d’interface utilisateur d’un blanc pur.
  • Les pixels d’un blanc pur atteignent 1 000 nits. Ils sont trop lumineux pour le HUD ou l’interface utilisateur.
  • Utilisez une échelle de luminosité linéaire pour atténuer le HUD ou l’interface utilisateur en HDR.
Réduisez l’intensité du bloom.
  • Les détails dans les zones lumineuses rendent mieux que de grandes taches lumineuses peu détaillées.
Pour plus d’informations, consultez l’exemple AutoHDR.

Vidéos de démonstration d’Auto HDR

Gears of War Ultimate : Prey : Ces vidéos de démonstration côte à côte présentent des jeux rétrocompatibles qui utilisent Auto HDR. Il est préférable de les regarder sur un écran HDR.

Résumé

Déchargez le travail du GPU.
  • Conversions d’espace colorimétrique
  • Courbes gamma
  • Mappage de tons automatique SDR
  • Plans d’affichage
Utilisez les fonctionnalités avancées.
  • Dolby Vision
  • Auto HDR
Le 120 Hz permet les modes 24/40/60 FPS+. Utilisez les valeurs d’étalonnage HDR des jeux.

Exemples associés à cette rubrique

  • AutoHDR
  • HDRAutoToneMapping
  • HDRCalibration
  • HDRDisplayMapping
  • HDRPrecision
  • ResponsivenessSample
  • Simple120Hz
  • SimpleHDR
Pour plus d’informations, consultez ces exemples sur la page des exemples console du GDK. Pour les instructions de téléchargement, consultez Télécharger les exemples console du Microsoft Game Development Kit mentionnés dans cette rubrique.

Étapes suivantes

Si vous souhaitez consulter les informations des supports de présentation associés à cette vue d’ensemble, téléchargez les fichiers suivants depuis XBOX Developer Download Secure Data Storage (SDS).
  • Diaporama : Harnessing the power of the XBOX Series X|S HDR and display hardware.pptx dans Xfest 2022 Graphics Track PowerPoints (Xfest2022GfxPPTs.ZIP)
  • Présentation vidéo : GR02.mp4 dans Xfest 2022 Graphics Track Videos (Xfest2022GfxVids.ZIP)

Télécharger les présentations Microsoft PowerPoint et les vidéos

  1. Accédez à Téléchargements du Game Development Kit (GDK).
  2. Sous Select file type, sélectionnez Conference Materials, puis Confirm.
  3. Sous Select build/version number, choisissez l’une des présentations graphiques suivantes.
    • Xfest 2022 Graphics Track PowerPoints
    • Xfest 2022 Graphics Track Videos
  4. Sélectionnez Download Now, puis attendez la fin du téléchargement du fichier .zip.
  5. Accédez à votre dossier Téléchargements local, puis décompressez (extrayez) les fichiers du dossier compressé.

Télécharger les exemples console du Microsoft Game Development Kit mentionnés dans cette rubrique

  1. Accédez à Téléchargements du Game Development Kit (GDK).
  2. Sous Select file type, sélectionnez GDK, puis Confirm.
  3. Sous Select build/version number, choisissez l’option Microsoft GDKX (Sample only) la plus récente.
  4. Sélectionnez Download Now, puis attendez la fin du téléchargement du fichier .zip.
  5. Accédez à votre dossier Téléchargements local, puis décompressez (extrayez) les fichiers du dossier compressé.
  6. Sélectionnez GDKSamples > Graphics, puis recherchez l’exemple.

Voir aussi

Sortie HDR (High Dynamic Range) XDisplayTryEnableHdrMode Prise en charge du 120 Hz Dolby Vision pour les jeux XBOX Gen9
Dernière modification le 8 octobre 2026