- 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.
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 précision des couleurs supérieure, sauf pour les bleus très lumineux
- Des lectures, écritures et fusions à plein débit

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.
- Le titre effectue le rendu de la scène en Rec.709.
- Le shader convertit Rec.709 en Rec.2020 sur le GPU.
- Les valeurs de couleur de la swap chain sont en Rec.2020.
- Le matériel d’affichage transmet les valeurs à l’écran.
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.
Presentutilise l’un des indicateurs suivants.- DXGI_COLOR_SPACE_RGB_FULL_*_NONE_P709.
- DXGI_COLOR_SPACE_RGB_FULL_*_NONE_D65P3.

- Le titre effectue le rendu de la scène en Rec.709 ou en P3-D65.
- Aucun traitement n’est effectué sur le GPU. La swap chain contient des valeurs dans l’espace colorimétrique Rec.709 ou P3-D65.
- Le matériel d’affichage convertit l’espace colorimétrique vers l’espace Rec.2020 requis par l’écran.
Presentutilise l’un des indicateurs suivants.
- DXGI_COLOR_SPACE_RGB_FULL_*_NONE_P709
- DXGI_COLOR_SPACE_RGB_FULL_*_NONE_D65P3
Exemple : rendu d’une pomme rouge en Rec.709
Figure 4. Exemple : rendu d’une pomme rouge en Rec.709.

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.
- Le titre effectue le rendu de valeurs linéaires.
- Le titre convertit les valeurs linéaires en valeurs gamma ST.2084 à l’aide du shader.
- Le buffer de swap chain contient désormais des valeurs normalisées non linéaires avec la courbe gamma ST.2084.
- Le matériel d’affichage ne fait rien, car l’écran utilise les valeurs ST.2084.
- Utilisez le format de render target R10G10B10A2_UNORM ou le format de render target R9G9B9E5_SHAREDEXP pour traiter les courbes gamma.
Presentutilise l’indicateurDXGI_COLOR_SPACE_RGB_FULL_G2084_NONE_*.
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.
- Le titre effectue le rendu de valeurs linéaires.
- Les valeurs de la swap chain sont normalisées linéairement, 1.0 représentant 10 000 nits.
- Vous devez utiliser le format de render target R9G9B9E5_SHAREDEXP.
Presentutilise l’indicateur DXGI_COLOR_SPACE_RGB_FULL_G10_NONE_*.
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.


Present D65P3.
Figure 11. Conversion des couleurs et courbe gamma par le matériel d’affichage.

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.

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
- 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.
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.
- Elle s’effectue dans un espace gamma non linéaire.
- Elle ne peut pas être utilisée avec le HDR.
- 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.
- XDisplayTryEnableHdrMode
- GetDisplayModeListX
- SetFrameIntervalX
- ScheduleFrameEventX

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.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.
- 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.
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é
RegisterAppStateChangeNotificationRegisterAppConstrainedChangeNotification
É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.

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.- Contraste : effectuez un ajustement simple, comme
pow(x, displayGamma). - Luminosité : effectuez un ajustement de la luminosité du blanc papier.
- Luminosité maximale : déterminez le point d’écrêtage de la luminosité maximale.
- 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.


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.

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.


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.
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.

Auto HDR et titres GDK
Pour activer Auto HDR, procédez comme suit, ainsi que l’illustre l’exemple de code.- Basculez l’écran en mode HDR.
- Ajoutez l’indicateur d’activation d’Auto HDR lors de la création du périphérique Direct3D.
- 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.
- 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.
- Les détails dans les zones lumineuses rendent mieux que de grandes taches lumineuses peu détaillées.
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
- Dolby Vision
- Auto HDR
Exemples associés à cette rubrique
- AutoHDR
- HDRAutoToneMapping
- HDRCalibration
- HDRDisplayMapping
- HDRPrecision
- ResponsivenessSample
- Simple120Hz
- SimpleHDR
É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
- Accédez à Téléchargements du Game Development Kit (GDK).
- Sous Select file type, sélectionnez Conference Materials, puis Confirm.
- Sous Select build/version number, choisissez l’une des présentations graphiques suivantes.
- Xfest 2022 Graphics Track PowerPoints
- Xfest 2022 Graphics Track Videos
- Sélectionnez Download Now, puis attendez la fin du téléchargement du fichier .zip.
- 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
- Accédez à Téléchargements du Game Development Kit (GDK).
- Sous Select file type, sélectionnez GDK, puis Confirm.
- Sous Select build/version number, choisissez l’option Microsoft GDKX (Sample only) la plus récente.
- Sélectionnez Download Now, puis attendez la fin du téléchargement du fichier .zip.
- Accédez à votre dossier Téléchargements local, puis décompressez (extrayez) les fichiers du dossier compressé.
- Sélectionnez GDKSamples > Graphics, puis recherchez l’exemple.
