> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Nouveautés de PIX en 2024

> Nouveautés de PIX en 2024

<Note>
  Cet article est basé sur la présentation *What's new in PIX* donnée lors des XBOX Dev Days 2024. Ces renseignements étaient à jour en mai 2024. Plusieurs fonctionnalités pourraient avoir changé ou avoir été mises à jour depuis.
</Note>

PIX sur XBOX et PIX sur Windows ont tous deux introduit plusieurs nouvelles fonctionnalités et améliorations pour optimiser les performances des jeux et les capacités de débogage. Cet article résume les principales mises à jour et la façon dont elles peuvent simplifier votre processus de développement.

## Performances de PIX

Les performances de PIX ont été considérablement améliorées, ce qui en fait un outil précieux pour le développement de jeux. Les dernières mises à jour visaient à réduire le temps d'itération des développeurs en diminuant de plus de 50 % la durée des captures et des analyses. La plupart des données de capture restent maintenant sur la console jusqu'à ce qu'elles soient nécessaires, ce qui accélère le processus d'itération. De plus, il existe de nouveaux schémas de compression pour les fichiers de capture GPU et des capacités d'analyse secondaire au moyen de données mises en cache. Ces améliorations vous permettent de déboguer et d'optimiser vos jeux rapidement et efficacement. Vous bénéficiez ainsi d'un flux de travail de développement plus fluide et plus simple.

### PIX sur XBOX et PIX sur Windows : performances de l'expérience utilisateur

Les améliorations des performances de l'expérience utilisateur de PIX visaient à accroître l'efficience et l'efficacité de l'interface utilisateur de PIX sur XBOX et de PIX sur Windows.

Des signalements de comportements saccadés et lents dans l'interface utilisateur de PIX ont mené à une enquête. Celle-ci a révélé une utilisation sous-optimale de l'infrastructure d'interface utilisateur appelée Windows Presentation Foundation (WPF). Cette utilisation sous-optimale de WPF entraînait une charge de travail importante sur le thread principal, ce qui causait la lenteur. Pour y remédier, les efforts ont porté sur le fait de rendre le moteur de PIX plus asynchrone. Davantage d'opérations sont maintenant effectuées en parallèle, comme l'ouverture de fichiers ou la collecte de compteurs.

### Améliorations du temps d'itération des développeurs dans les captures GPU de PIX sur XBOX

#### Mode de stockage local

Le *mode de stockage local* est une fonctionnalité qui améliore les temps d'itération de 50 % ou plus. Ce mode fonctionne en conservant la plupart des données capturées sur le disque SSD de la console. Cela réduit au minimum la quantité de données transférées lorsque vous ouvrez un fichier. Par conséquent, vous pouvez effectuer une analyse immédiatement, sans le délai généralement associé au transfert de données.

**Figure 1.  Capture GPU de PIX sur XBOX.**

<img src="https://mintcdn.com/microsoft-4404708b/8SF8ae--p4IJyDi1/images/gdk/features/graphics/xdd24-gr03-s06ax.png?fit=max&auto=format&n=8SF8ae--p4IJyDi1&q=85&s=96a0c643945d43b5f02abe3add183496" alt="Capture GPU de PIX sur XBOX" width="881" height="357" data-path="images/gdk/features/graphics/xdd24-gr03-s06ax.png" />

La figure 1 montre le panneau **GPU Capture** avec l'option **Use Local Storage** sélectionnée.

Un avantage notable du mode de stockage local est la possibilité d'effectuer plusieurs captures, puis de décider lesquelles enregistrer. Ce processus est accéléré, car effectuer et analyser des captures est rapide. Le temps est consacré uniquement à la copie des données des captures enregistrées.

Vous pouvez aussi utiliser le bouton Download de la capture pour lancer un transfert en arrière-plan de la capture vers le PC.

**Figure 2.  Bouton Download de la capture GPU de PIX sur XBOX.**

<img src="https://mintcdn.com/microsoft-4404708b/8SF8ae--p4IJyDi1/images/gdk/features/graphics/xdd24-gr03-s06bx.png?fit=max&auto=format&n=8SF8ae--p4IJyDi1&q=85&s=694b0017f40a11aaf71705ae91bfdeef" alt="Bouton de téléchargement de la capture GPU de PIX sur XBOX" width="485" height="93" data-path="images/gdk/features/graphics/xdd24-gr03-s06bx.png" />

La figure 2 montre le bouton de téléchargement de la capture GPU mis en évidence en rouge.

Cette fonctionnalité est actuellement désactivée par défaut afin de permettre des tests supplémentaires. Cependant, nous vous encourageons à l'essayer et à envoyer vos commentaires à [PIX Customer Feedback](mailto:pix@microsoft.com).

#### Performances de l'analyse

Un nouveau schéma de compression a été implémenté pour les fichiers de capture GPU et tous les transferts réseau de PIX. Cela améliore l'efficacité du stockage et de la transmission des données. Davantage de données sont maintenant collectées en parallèle, ce qui simplifie le processus d'analyse.

Une nouvelle stratégie de collecte des compteurs a été livrée en mars 2024. Auparavant, pour obtenir les moyennes, tous les compteurs de tous les niveaux et de toutes les hiérarchies étaient collectés. La collecte de données donne maintenant la priorité aux événements PIX de niveau supérieur, qui sont affichés en premier. Les nœuds terminaux sont collectés plus tard en arrière-plan. Cette approche garantit que les données essentielles sont facilement accessibles. Le nombre de passes de calcul des moyennes est passé de 48 en octobre 2023 à 19 en mars 2024.

#### Capacités d'analyse secondaire au moyen de données mises en cache

L'*analyse secondaire* est la deuxième fois que vous exécutez une analyse sur la même capture. En mettant en cache les données de capture sur la console et en utilisant un cache de données côté PC pour la chronologie (Timeline), vous pouvez réduire considérablement le temps requis pour l'analyse. Cette approche vous permet de collecter en parallèle les données de la chronologie. Les renseignements essentiels sont facilement accessibles, sans qu'il soit nécessaire de récupérer les données à plusieurs reprises. Utilisez les données mises en cache pour accéder rapidement aux mesures de performance et les analyser, repérer les goulots d'étranglement et prendre des décisions éclairées pour optimiser vos jeux. Ce processus simplifié améliore non seulement les temps d'itération, mais offre aussi un flux de travail d'analyse plus réactif et plus efficace.

### Améliorations du temps d'itération des développeurs dans les captures GPU de PIX sur Windows

Les performances d'analyse de PIX sur Windows ont été améliorées grâce à l'affichage de données de base avant le début d'une analyse. Cela simplifie le processus. Vous pouvez maintenant accéder immédiatement à des renseignements comme les ressources liées et les objets d'API, ainsi qu'à des vues comme la vue d'état, les tas de descripteurs, la table des nuanceurs et la vue de l'historique des ressources. Cela fait gagner du temps et offre une expérience plus intuitive. Le temps de démarrage est maintenant dix fois plus rapide dans certains scénarios par rapport aux versions antérieures de PIX sur Windows.

Les autres fonctionnalités de performance d'analyse comprennent les suivantes.

* L'onglet du pipeline se remplit maintenant plus rapidement.
* Le suivi des accès des nuanceurs (Shader Access Tracking) est maintenant une fonctionnalité facultative. Pour activer cette fonctionnalité, sélectionnez le bouton **Gather Accessed Resources**.
* Les plug-ins mis à jour des fournisseurs de GPU ont amélioré la vitesse de collecte des données.

Nous travaillons activement pour que PIX sur Windows offre les mêmes capacités que PIX sur XBOX.

## Débogage GPU de PIX sur XBOX

Auparavant, le débogage GPU était un scénario secondaire pour PIX. En raison des progrès de la technologie GPU, il s'agit maintenant de l'un des scénarios les plus importants. Les dernières mises à jour du débogage GPU de PIX sur XBOX introduisent plusieurs fonctionnalités puissantes conçues pour améliorer le processus de débogage et le rendre plus efficace. Les nouvelles fonctionnalités comprennent les suivantes :

* Exceptions de nuanceur dans le débogage en direct
* Exceptions de nuanceur dans les captures GPU
* Fenêtre Invocations pour le débogage en direct
* Surveillance des threads dans la vue Watch
* Vues des symboles de nuanceur
* Prise en charge du débogage des nuanceurs DirectX Raytracing (DXR)

### Exceptions de nuanceur dans le débogage en direct

Vous pouvez maintenant gérer les exceptions de nuanceur lors du débogage en direct. Vous pouvez :

* Détecter les erreurs dans les programmes de nuanceur exécutés sur le GPU.
* Repérer les problèmes dans les calculs numériques.
* Intercepter les violations d'accès à la mémoire.

Lorsque l'une de ces exceptions se produit, le débogueur met en pause l'exécution de votre jeu à l'endroit de l'erreur. Vous pouvez inspecter l'état du jeu, y compris les variables, la mémoire et la pile des appels. Ils vous montrent ce qui n'a pas fonctionné et pourquoi.

**Figure 3.  Live Shader Debug de PIX sur XBOX.**

<img src="https://mintlify.s3.us-west-1.amazonaws.com/microsoft-4404708b/images/gdk/features/graphics/xdd24-gr03-s10x.png" alt="Live Shader Debug de PIX sur XBOX" />

La figure 3 montre la boîte de dialogue Live Shader Debug de PIX sur XBOX.

### Exceptions de nuanceur dans les captures GPU

Les exceptions de nuanceur peuvent maintenant être consultées dans les captures GPU. La vue des exceptions de nuanceur fournit des renseignements détaillés sur les exceptions survenues tout au long de l'image. La vue se trouve dans Tools, à côté de Dr. PIX, Shader Trace et Memory Timeline.

Cette vue affiche une liste d'identificateurs graphiques (GID) où des exceptions sont levées. Pour chaque GID, la vue présente une liste des nuanceurs où des exceptions se produisent, identifiés par leur hachage. Développez ces entrées pour voir toutes les exceptions levées dans ce nuanceur. Pour chaque exception, vous obtenez le nom de la fonction, la ligne de code source, la valeur du compteur de programme, le nombre d'occurrences de l'exception et le type d'exception. Vous pouvez aussi accéder immédiatement au débogueur pour tester chaque nuanceur.

Les résultats peuvent être filtrés davantage. Par exemple, vous pouvez sélectionner une plage de GID et un sous-ensemble de types d'exception, puis voir quels nuanceurs sont touchés.

Les exceptions de mémoire dans PIX sur XBOX sont encore en cours de développement, mais les exceptions numériques sont entièrement fonctionnelles.

**Figure 4.  Vue Shader Exceptions.**

<img src="https://mintcdn.com/microsoft-4404708b/8SF8ae--p4IJyDi1/images/gdk/features/graphics/xdd24-gr03-s11x.png?fit=max&auto=format&n=8SF8ae--p4IJyDi1&q=85&s=0990f994a707a3a529b2b3abc4bb4492" alt="Vue Shader Exceptions" width="1784" height="612" data-path="images/gdk/features/graphics/xdd24-gr03-s11x.png" />

La figure 4 montre la vue Shader Exceptions.

### Fenêtre Invocations pour le débogage en direct

Les exceptions de nuanceur lors du débogage en direct sont maintenant visibles dans les fenêtres Invocations et Watch. Vous pouvez voir l'emplacement du code source où l'exception a été levée, si le thread était actif, le type de vague (64 ou 32) et la ligne du compteur de programme.

**Figure 5.  Fenêtre Invocations pour le débogage en direct.**

<img src="https://mintcdn.com/microsoft-4404708b/8SF8ae--p4IJyDi1/images/gdk/features/graphics/xdd24-gr03-s12x.png?fit=max&auto=format&n=8SF8ae--p4IJyDi1&q=85&s=da59e3b7b1a48edf8d7c6c956b21c8d1" alt="Fenêtre Invocations pour le débogage en direct" width="1101" height="482" data-path="images/gdk/features/graphics/xdd24-gr03-s12x.png" />

La figure 5 montre la fenêtre Invocations pour le débogage en direct.

### Threads dans la vue Watch

Une nouvelle fonctionnalité de la vue Watch affiche toutes les voies de la vague dans la vue Watch. Vous obtenez ainsi une seule vue de la vague entière. Auparavant, vous deviez changer l'invocation consultée pour voir les voies.

Il existe plusieurs options de configuration pour filtrer les résultats. Vous pouvez surveiller toutes les voies, une plage précise, seulement les voies actives ou inactives, ou les voies appartenant à un quad.

**Figure 6.  Vue Watch de PIX.**

<img src="https://mintcdn.com/microsoft-4404708b/8SF8ae--p4IJyDi1/images/gdk/features/graphics/xdd24-gr03-s13ax.png?fit=max&auto=format&n=8SF8ae--p4IJyDi1&q=85&s=ff8a79a1995acf0fd6a28f60996fa2c0" alt="Vue Watch de PIX" width="1735" height="408" data-path="images/gdk/features/graphics/xdd24-gr03-s13ax.png" />

La figure 6 montre la vue Watch de PIX.

**Figure 7.  Options de configuration des voies.**

<img src="https://mintcdn.com/microsoft-4404708b/8SF8ae--p4IJyDi1/images/gdk/features/graphics/xdd24-gr03-s13bx.png?fit=max&auto=format&n=8SF8ae--p4IJyDi1&q=85&s=a5cb26baecabe7731f5b088ad47252ee" alt="Options de configuration des voies" width="155" height="273" data-path="images/gdk/features/graphics/xdd24-gr03-s13bx.png" />

La figure 7 montre les options de configuration des voies.

### Vue Shader Symbols

La vue Shader Symbols remplace la boîte de dialogue contextuelle qui s'affichait auparavant à l'ouverture d'une capture. Désormais, un avertissement s'affiche, suivi d'une vue dédiée. Elle indique quels symboles sont chargés et déchargés. Auparavant, seul ce qui ne fonctionnait pas était affiché. Il existe maintenant une vue complète de ce qui est présent. Vous pouvez aussi ajouter et supprimer des chemins de symboles et réanalyser les chemins des bases de données de programme (PDB) au besoin.

**Figure 8.  Vue Shader Symbols.**

<img src="https://mintcdn.com/microsoft-4404708b/8SF8ae--p4IJyDi1/images/gdk/features/graphics/xdd24-gr03-s14x.png?fit=max&auto=format&n=8SF8ae--p4IJyDi1&q=85&s=0876ad2724f5bf0533022da18568eb99" alt="Vues Shader Symbols" width="1589" height="576" data-path="images/gdk/features/graphics/xdd24-gr03-s14x.png" />

La figure 8 montre une vue Shader Symbols avec 39 PDB de nuanceur non résolus.

### Prise en charge du débogage des nuanceurs DXR

Les nuanceurs DXR dans PIX sur XBOX sont maintenant à parité avec les autres types de débogage pour la génération des PDB, la découverte de ces PDB dans PIX, leur chargement et le débogage de n'importe quelle partie du nuanceur.

Les symboles des nuanceurs DXR diffèrent légèrement de ce qui est habituellement recommandé. Pour les autres étapes de nuanceur, la recommandation est d'utiliser des PDB allégés. Compilez avec un ensemble d'indicateurs différent pour obtenir un PDB allégé; PIX pourra ensuite régénérer les informations de débogage à partir de celui-ci. C'est pratique, car les PDB complets sont volumineux et coûteux à utiliser.

Pour DXR, nous recommandons d'utiliser des PDB incorporés. Ils fonctionnent mieux avec les outils actuels. Il y a moins de nuanceurs DXR que d'autres types en ce qui concerne les permutations.

Lorsque vous effectuez un pas à pas détaillé dans `TraceRays()`, le débogueur commence à l'implémentation `TraceRay` du pilote. Continuez le pas à pas à partir de là, ou placez des points d'arrêt dans vos nuanceurs en langage de nuanceur de haut niveau (HLSL) pour accéder immédiatement à l'endroit que vous souhaitez examiner.

Pour PIX sur Windows, les types de nuanceurs suivants sont maintenant pris en charge pour le débogage.

* Nuanceurs `RayGen`
* Nuanceurs `ClosestHit`
* Nuanceurs `AnyHit`
* Nuanceurs `Miss`

## Analyse des blocages du GPU

L'analyse des blocages du GPU est essentielle pour maintenir les performances et la fiabilité des graphiques de jeu. Elle consiste à détecter et à résoudre les problèmes qui font en sorte que le GPU cesse de répondre. Ces problèmes peuvent nuire considérablement à l'expérience de jeu. En analysant les blocages du GPU, vous pouvez repérer les goulots d'étranglement, optimiser les performances et vous assurer que le jeu s'exécute de façon fluide sur diverses configurations matérielles.

### Analyse des blocages du GPU de PIX sur XBOX pendant le développement

L'analyse des blocages du GPU peut être l'aspect le plus difficile du développement graphique de jeux. Une nouvelle fonctionnalité de capture d'écran lors d'un blocage du GPU a été introduite dans le GDK de mars 2024. Elle prend une capture d'écran du jeu si un blocage du GPU se produit sur une trousse locale. Cette fonctionnalité n'est actuellement pas prise en charge sur les consoles de vente au détail pour des raisons de confidentialité. Pour les captures locales en mode développeur, ajoutez un blob au fichier .hix au moyen de l'API `Add_Blob_to_GPU_Hang_DumpX`. Dans votre gestionnaire, appelez cette API pour ajouter des métadonnées personnalisées au rapport.

L'avantage du fichier blob est que les studios ou les éditeurs disposent souvent de leurs propres outils de suivi et de télémétrie interne. Ceux-ci donnent un meilleur aperçu de l'endroit où se trouvaient les joueurs dans le jeu lorsque le blocage du GPU s'est produit. Cela leur permet d'ajouter du contexte à leurs enquêtes sur les blocages.

Les événements et marqueurs PIX de développement sont les suivants.

* `PIXBeginEvent`
* `PIXEndEvent`
* `PixSetMarker`

### Analyse des blocages du GPU dans les environnements de vente au détail

Dans l'environnement de vente au détail, les vidages de blocage (fichiers .hix) sont disponibles dans Partner Center. Ces fichiers capturent des renseignements sur le matériel et le jeu, analysent automatiquement le vidage de blocage, puis indiquent la cause première du blocage. Cette approche unifiée du débogage hors ligne et en direct dans PIX améliore l'efficacité du débogage GPU.

<Note>
  Veuillez communiquer avec votre gestionnaire des partenaires développeurs (DPM) pour obtenir l'accès aux fichiers .hix.
</Note>

Les événements et marqueurs PIX `Retail` sont les suivants.

* `PixBeginRetailEvent`
* `PixEndRetailEvent`
* `PIXSetRetailMarker`

Sur les appareils de débogage et instrumentés, les API `Retail` fonctionnent de la même manière que leurs équivalents non destinés à la vente au détail. L'utilisation des marqueurs PIX `Retail` entraîne une baisse de performance, semblable à celle des marqueurs PIX standard.

## Analyse des performances du GPU

L'analyse des performances du GPU avec PIX repose sur quelques éléments clés qui vous aident à optimiser et à déboguer vos jeux pour de meilleures performances et une plus grande stabilité. Les principaux composants sont les suivants.

* Captures GPU : enregistrent tous les appels d'API Direct3D 12 effectués par le jeu, y compris leurs données de paramètres. Cela vous donne accès à un éventail de fonctionnalités de débogage et d'analyse.
* Captures de minutage : combinent les données de profilage du CPU et du GPU en une seule capture pour une analyse approfondie du jeu. Ces données sont recueillies pendant l'exécution du jeu avec une surcharge minimale.
* Shader Explorer : aide à améliorer les performances des nuanceurs et l'utilisation des registres, et à itérer sur ceux-ci. Vous pouvez l'utiliser à partir d'une capture GPU, d'une source de nuanceur HLSL ou d'un fichier .pdb de nuanceur.
* Repérage des goulots d'étranglement : fournit des outils comme GPU Trace pour la mesure de l'occupation et le repérage des goulots d'étranglement.
* Gestion de la mémoire et des ressources : offre une vue API Objects Summary plus rapide, de nouvelles fonctionnalités comme la vue Texture MIP Statistics, et plus encore.
* Lancer de rayons : comprend de nouvelles fonctionnalités comme la coloration selon le coût de l'heuristique de surface et des cartes thermiques par instance pour une analyse détaillée dans l'Acceleration Structure Viewer.

### Analyse des performances de PIX sur XBOX : GPU Trace

L'outil GPU Trace offre un moyen rapide et complet d'obtenir une vue d'ensemble de haut niveau de la mesure de l'occupation et de la collecte des compteurs de goulots d'étranglement. Cela se fait sans effectuer ni rejouer une capture GPU. L'une des principales caractéristiques de cet outil est que les mesures de performance et les chronologies proviennent de l'exécution réelle du jeu. GPU Trace enregistre les performances telles qu'elles se sont produites dans le jeu en cours d'exécution, ce qui fournit des données plus précises pour les charges de travail complexes qui se chevauchent. C'est différent des captures GPU, qui rejouent le travail du GPU et peuvent manquer de petits détails de performance liés à l'interaction et à la synchronisation entre le CPU et le GPU. Pour plus de détails sur GPU Trace, consultez [Rapid performance investigation with GPU Trace](/fr-CA/build/core-features/graphics/overviews/presentations/xdd2024/gc-graphics-xdd-2024-gr09).

**Figure 9.  Outil GPU Trace.**

<img src="https://mintcdn.com/microsoft-4404708b/8SF8ae--p4IJyDi1/images/gdk/features/graphics/xdd24-gr03-s21x.png?fit=max&auto=format&n=8SF8ae--p4IJyDi1&q=85&s=a36596e54fe36d9da6237f64f99df137" alt="Outil GPU Trace" width="1333" height="682" data-path="images/gdk/features/graphics/xdd24-gr03-s21x.png" />

La figure 9 montre un exemple de l'outil GPU Trace de PIX sur XBOX.

Lors de la capture de données GPU, commencez par examiner les voies d'exécution des files d'attente de commandes du GPU. Elles montrent les divers événements exécutés pendant la capture sur chaque file d'attente active.

**Figure 10.  Voies d'exécution de GPU Trace.**

<img src="https://mintcdn.com/microsoft-4404708b/8SF8ae--p4IJyDi1/images/gdk/features/graphics/xdd24-gr03-s22x.png?fit=max&auto=format&n=8SF8ae--p4IJyDi1&q=85&s=eafdf6456db5c54fb971be6315e15ad4" alt="Voies d'exécution de GPU Trace" width="1809" height="554" data-path="images/gdk/features/graphics/xdd24-gr03-s22x.png" />

La figure 10 montre la file d'attente Graphics, trois files d'attente Compute et le visualiseur de contexte GPU.

**Figure 11.  Voies d'occupation de GPU Trace.**

<img src="https://mintcdn.com/microsoft-4404708b/8SF8ae--p4IJyDi1/images/gdk/features/graphics/xdd24-gr03-s23x.png?fit=max&auto=format&n=8SF8ae--p4IJyDi1&q=85&s=6b23219e98b7b6f44801922c9ad3a935" alt="Voies d'occupation de GPU Trace" width="1811" height="531" data-path="images/gdk/features/graphics/xdd24-gr03-s23x.png" />

La figure 11 montre la vue d'occupation. Elle révèle l'occupation non seulement pour le moteur de nuanceurs 0, comme dans une capture GPU ordinaire, mais aussi de façon plus détaillée, par exemple par tableau de nuanceurs, par processeur de groupe de travail et même par unité SIMD (Single Instruction Multiple Data).

Les données d'occupation peuvent être codées par couleur selon l'étape de l'API. Par exemple, le jaune représente les vagues de calcul. Le vert représente les vagues de sommets. Il s'agit du jeu de couleurs par défaut, mais il peut être remplacé par un autre mode de visualisation. Par exemple, le mode Wave Mode affiche Wave32 dans une couleur et Wave64 dans une autre. Le mode Active Threads colore les vagues selon le pourcentage de threads actifs dans la vague.

Vous pouvez aussi développer chaque SIMD pour voir la répartition des vagues tout au long de l'événement. Cela vous aide à repérer des problèmes habituellement difficiles à trouver, comme les déséquilibres de vagues entre les SIMD.

**Figure 12.  Occupation des vagues de GPU Trace.**

<img src="https://mintcdn.com/microsoft-4404708b/8SF8ae--p4IJyDi1/images/gdk/features/graphics/xdd24-gr03-s24x.png?fit=max&auto=format&n=8SF8ae--p4IJyDi1&q=85&s=aa9f83e612d00282a92aee7f4db1315d" alt="Occupation des vagues de GPU Trace" width="1811" height="525" data-path="images/gdk/features/graphics/xdd24-gr03-s24x.png" />

La figure 12 montre la vue d'occupation des vagues de GPU Trace.

Les compteurs matériels et logiciels peuvent être représentés graphiquement dans la chronologie. Pour capturer ces compteurs, sélectionnez-les avant de démarrer la trace GPU. Vous pouvez ainsi repérer rapidement et précisément les goulots d'étranglement, comme des blocages élevés du cache de paramètres ou des baisses de l'efficacité des accès au cache.

**Figure 13.  Compteurs matériels de GPU Trace.**

<img src="https://mintcdn.com/microsoft-4404708b/8SF8ae--p4IJyDi1/images/gdk/features/graphics/xdd24-gr03-s25x.png?fit=max&auto=format&n=8SF8ae--p4IJyDi1&q=85&s=14271a2556a74b257184896a4f4f99a7" alt="Compteurs matériels de GPU Trace" width="1809" height="593" data-path="images/gdk/features/graphics/xdd24-gr03-s25x.png" />

La figure 13 montre les compteurs matériels de GPU Trace.

### Shader Explorer

La fonctionnalité Shader Explorer est devenue accessible au public dans le GDK d'octobre 2023. Utilisez cette fonctionnalité pour examiner les facteurs qui influent sur les performances des nuanceurs, comme la pression et la durée de vie des registres, le mappage des variables aux registres, le coût d'exécution des instructions, les taux d'émission, et plus encore. Shader Explorer est conçu pour l'itération rapide des nuanceurs, ce qui vous permet d'essayer différentes approches et de voir ce qui fonctionne le mieux. Commencez à utiliser Shader Explorer à partir d'une capture GPU, d'une source de nuanceur HLSL ou d'un fichier .pdb de nuanceur.

Utilisez une capture GPU pour apporter diverses modifications dans l'outil, puis renvoyez-les à la capture pour voir les effets immédiats dans l'image.

Pour plus d'informations sur Shader Explorer, consultez [Optimizing shader performance with PIX’s Shader Explorer](/fr-CA/build/core-features/graphics/overviews/presentations/xdd2024/gc-graphics-xdd-2024-gr06).

### Repérage des goulots d'étranglement

Le GDK de mars 2024 a introduit une fonctionnalité de goulot d'étranglement du cache de paramètres qui aide à visualiser les zones où le cache de paramètres pourrait être sous pression. À mesure que le cache se remplit, le système peut ralentir, ce qui peut nuire à la vitesse et à l'efficacité des exportations de vagues. Cela pourrait entraîner des temps d'exportation plus longs, voire des échecs si le système ne parvient pas à allouer les ressources nécessaires. Le repérage des goulots d'étranglement est essentiel pour récupérer les performances du jeu.

Pour plus d'informations et des exemples de goulots d'étranglement, consultez [GPU performance tips and tricks](/fr-CA/build/core-features/graphics/overviews/presentations/xdd2024/gc-graphics-xdd-2024-gr08).

## Lancer de rayons

### DXR de PIX sur XBOX : Acceleration Structure viewer

L'Acceleration Structure viewer de PIX sur XBOX a été amélioré. Les nouvelles fonctionnalités comprennent :

* Une coloration reflétant les coûts de l'heuristique de surface (SAH) ou les branches.
* Une vue de carte thermique par instance pour repérer facilement les possibilités d'optimisation.
* Une section modifiable de la structure d'accélération de niveau supérieur (TLAS) pour modifier les entrées de la TLAS et voir la hiérarchie de volumes englobants (BVH) qui en résulte ainsi que son effet sur les minutages.

**Figure 14.  Acceleration Structure viewer de PIX sur XBOX.**

<img src="https://mintlify.s3.us-west-1.amazonaws.com/microsoft-4404708b/images/gdk/features/graphics/xdd24-gr03-s29x.png" alt="Acceleration Structure viewer de PIX sur XBOX" />

La figure 14 montre l'Acceleration Structure viewer de PIX sur XBOX.

Pour des renseignements détaillés sur cette vue et sur DXR sur XBOX, consultez [XBOX raytracing: performance and optimization](/fr-CA/build/core-features/graphics/overviews/presentations/xdd2024/gc-graphics-xdd-2024-gr07).

### DXR de PIX sur Windows : Acceleration Structure viewer

L'Acceleration-Structure Viewer de PIX sur Windows comporte maintenant une vue de visualisation des rayons, qui permet de voir comment les rayons sont projetés sur la géométrie, puis de les tracer. Chaque rayon tracé est invoqué par un appel précis à `DispatchRays()` dans la liste des événements. Cela représente à la fois les rayons primaires et secondaires. Cependant, contrairement à PIX sur XBOX, les fonctionnalités de couleur des rayons et de carte thermique ne peuvent pas être implémentées ici en raison d'un aperçu limité des BVH. De plus, il n'y a pas d'horodatage en HLSL sur PC.

Une nouvelle arborescence hiérarchique est également offerte. Elle montre les instances et les géométries qui composent votre TLAS et vos structures d'accélération de niveau inférieur (BLAS). Cette vue contient des renseignements sur chaque instance ou géométrie, y compris sa taille, ses indicateurs, sa transformation et d'autres propriétés. Vous pouvez aussi afficher ou masquer chaque instance ou géométrie dans la visionneuse et trier vos BLAS par taille dans la TLAS.

**Figure 15.  Acceleration Structure viewer de PIX sur Windows.**

<img src="https://mintlify.s3.us-west-1.amazonaws.com/microsoft-4404708b/images/gdk/features/graphics/xdd24-gr03-s30x.png" alt="Acceleration Structure viewer de PIX sur Windows" />

La figure 15 montre l'Acceleration Structure viewer de PIX sur Windows.

PIX sur Windows comporte également une fonctionnalité de vue Invocations. Utilisez cette vue pour voir toutes les invocations de nuanceurs `ClosestHit`, `AnyHit`, `Miss` ou `Callable` pour un événement `DispatchRays()` précis. Cette vue fournit aussi des renseignements pertinents sur l'origine du rayon, les indices de répartition, le type de nuanceur et la direction.

**Figure 16.  Vue Invocations de PIX sur Windows.**

<img src="https://mintcdn.com/microsoft-4404708b/8SF8ae--p4IJyDi1/images/gdk/features/graphics/xdd24-gr03-s31x.png?fit=max&auto=format&n=8SF8ae--p4IJyDi1&q=85&s=6cd8a4e04a69435cdc08fd653032c51e" alt="Vue Invocations de PIX sur Windows" width="1108" height="637" data-path="images/gdk/features/graphics/xdd24-gr03-s31x.png" />

La figure 16 montre la vue Invocations de PIX sur Windows.

## Mémoire et ressources

PIX offre plusieurs fonctionnalités puissantes pour vous aider à comprendre et à optimiser l'utilisation de la mémoire. C'est particulièrement important pour les plateformes dont la mémoire est limitée, comme la XBOX Series S. Une mise à jour du GDK de mars 2024 a fourni 500 Mo de mémoire supplémentaires pour ces consoles, ce qui offre plus de souplesse dans la gestion des ressources.

### Vue API Objects Summary de PIX sur XBOX

La vue API Objects Summary de PIX sur XBOX affiche tous les objets d'API Direct3D d'une capture. Auparavant, cette vue présentait des problèmes de performance et était difficile à parcourir en raison du grand nombre d'objets. La vue API commence maintenant par une vue sommaire qui se remplit plus rapidement que la vue détaillée. Vous pouvez toujours basculer entre les deux vues dans l'interface utilisateur.

**Figure 17.  Vue API Objects Summary de PIX sur XBOX.**

<img src="https://mintcdn.com/microsoft-4404708b/8SF8ae--p4IJyDi1/images/gdk/features/graphics/xdd24-gr03-s33x.png?fit=max&auto=format&n=8SF8ae--p4IJyDi1&q=85&s=68db3fe7c70ab2c737242097d8f11c28" alt="Vue API Objects Summary de PIX sur XBOX" width="835" height="744" data-path="images/gdk/features/graphics/xdd24-gr03-s33x.png" />

La figure 17 montre la vue API Objects Summary de PIX sur XBOX.

Des pivots ont également été ajoutés à la vue sommaire. Utilisez-les pour trouver rapidement les renseignements dont vous avez besoin. Ils permettent de repérer plus facilement les éléments qui consomment le plus de mémoire, comme les objets de type ressource.

Par exemple, suivez les étapes ci-dessous pour savoir quelles ressources occupent le plus de mémoire.

1. Accédez à la vue API Object Summary.
2. Filtrez pour n'afficher que les ressources.
3. Repérez la colonne **Size**.
4. Sélectionnez l'en-tête de la colonne de taille pour trier les éléments par taille.

**Figure 18.  Vue API Objects Summary de PIX sur XBOX filtrée par taille.**

<img src="https://mintcdn.com/microsoft-4404708b/8SF8ae--p4IJyDi1/images/gdk/features/graphics/xdd24-gr03-s34x.png?fit=max&auto=format&n=8SF8ae--p4IJyDi1&q=85&s=442ce2d03235b2f4bc9f5b4de5f93e93" alt="Vue API Objects Summary de PIX sur XBOX filtrée par taille" width="1141" height="683" data-path="images/gdk/features/graphics/xdd24-gr03-s34x.png" />

La figure 18 montre la vue API Objects Summary avec la colonne **Size** mise en évidence.

#### Vue Pipeline State Object

La vue Pipeline State Object est offerte depuis le GDK de juin 2023. Les performances et la précision de cette vue ont été continuellement améliorées. L'une des principales fonctionnalités est le bouton de filtre. Il exclut tous les objets d'état de pipeline (PSO) inutilisés de la capture pour n'afficher que ceux qui sont utilisés. Cela rend la vue beaucoup plus utile lors d'une capture GPU.

Un onglet d'historique indique maintenant quels GID utilisent le PSO sélectionné. Vous pouvez aussi sélectionner l'étape de nuanceur dans un menu déroulant, et la section du milieu affiche les nuanceurs liés à ce PSO. Cette vue comprend également les modifications apportées dans PIX aux sources des nuanceurs.

**Figure 19.  Vue Pipeline State Object de PIX sur XBOX.**

<img src="https://mintcdn.com/microsoft-4404708b/8SF8ae--p4IJyDi1/images/gdk/features/graphics/xdd24-gr03-s35x.png?fit=max&auto=format&n=8SF8ae--p4IJyDi1&q=85&s=410e731b0fad6e41e607e67dd419bd09" alt="Vue Pipeline State Object de PIX sur XBOX" width="1298" height="657" data-path="images/gdk/features/graphics/xdd24-gr03-s35x.png" />

La figure 19 montre la vue Pipeline State Object avec le menu déroulant de l'étape de nuanceur et le bouton **Filter** encadrés en rouge.

#### Vue Texture MIP Statistics de PIX sur XBOX

La vue Texture MIP Statistics fournit des renseignements précieux sur le nombre de demandes de récupération de texture reçues par chaque ressource. Pour une capture GPU, cette vue affiche toutes les demandes de MIP adressées à cette ressource pendant la lecture et indique le niveau de MIP le plus élevé demandé.

Cette vue est utile pour les enquêtes sur les performances. Elle peut aider à déterminer si une ressource crée inutilement des MIP qui ne sont jamais demandés, ou s'il existe une texture pour laquelle seul le MIP 0 est demandé. Ces renseignements peuvent servir de point de départ pour optimiser l'utilisation des ressources.

**Figure 20.  Vue Texture MIP Statistics.**

<img src="https://mintcdn.com/microsoft-4404708b/8SF8ae--p4IJyDi1/images/gdk/features/graphics/xdd24-gr03-s36x.png?fit=max&auto=format&n=8SF8ae--p4IJyDi1&q=85&s=a4c6723a6655dd910196d65bef9d4132" alt="Vue Texture MIP Statistics de PIX sur XBOX" width="1407" height="661" data-path="images/gdk/features/graphics/xdd24-gr03-s36x.png" />

La figure 20 montre la vue Texture MIP Statistics.

#### Vue Edits de PIX sur XBOX

La vue Edits est un outil complet de suivi des modifications. Utilisez-la pour accéder à toutes les modifications en cours, les annuler et consulter la liste de tous les GID touchés par ces modifications. Cette vue est particulièrement utile pour apporter des modifications sans avoir à les chercher plus tard.

Cliquez avec le bouton droit sur une modification pour la comparer à la source d'origine. Vous obtenez ainsi la différence entre le nuanceur d'origine et la version modifiée. Vous pouvez utiliser votre outil de comparaison de fichiers préféré, comme WinDiff ou Beyond Compare. Configurez-le dans les paramètres généraux, et PIX utilisera votre outil par défaut pour comparer les modifications.

**Figure 21.  Vue Edits.**

<img src="https://mintcdn.com/microsoft-4404708b/8SF8ae--p4IJyDi1/images/gdk/features/graphics/xdd24-gr03-s37x.png?fit=max&auto=format&n=8SF8ae--p4IJyDi1&q=85&s=b6501c8f91faa05e79c66a47a5252b46" alt="Vue Edits de PIX sur XBOX" width="1061" height="591" data-path="images/gdk/features/graphics/xdd24-gr03-s37x.png" />

La figure 21 montre la vue Edits avec **Compare with original source** encadré en rouge.

## Vues en direct de la mémoire et des ressources

De nouvelles vues en direct ont été ajoutées pour la gestion de la mémoire et des ressources. Auparavant, le System Monitor de PIX affichait les compteurs, la vue Remote View et l'état de la connexion. Les vues des captures GPU sont intégrées au mode de vue en direct.

### Vues GPU en direct de PIX sur XBOX

**Figure 22.  Vues GPU en direct de PIX sur XBOX.**

<img src="https://mintlify.s3.us-west-1.amazonaws.com/microsoft-4404708b/images/gdk/features/graphics/xdd24-gr03-s39x.png" alt="Vues GPU en direct de PIX sur XBOX" />

La figure 22 montre la vue GPU en direct de PIX sur XBOX. Le bouton lecture/pause (encadré en rouge) se trouve à côté de l'indicateur d'état. Il indique que la trousse de développement est connectée.

Pour afficher le contenu des vues Live Tools, mettez le jeu en pause. Live Tools se trouve dans l'onglet à côté de System Monitor.

#### Graphiques d'allocation de mémoire en direct

Les graphiques d'allocation de mémoire présentent des renseignements détaillés sur l'utilisation de la mémoire par votre jeu. Cela comprend la répartition de la mémoire entre le jeu et le système, ainsi que l'utilisation de la mémoire pour les textures, les cibles de rendu et les mémoires tampons. Cette fonctionnalité est conçue pour améliorer les économies de mémoire sur les consoles XBOX Series S.

**Figure 23.  Graphiques d'allocation de mémoire en direct.**

<img src="https://mintcdn.com/microsoft-4404708b/8SF8ae--p4IJyDi1/images/gdk/features/graphics/xdd24-gr03-s40x.png?fit=max&auto=format&n=8SF8ae--p4IJyDi1&q=85&s=5be7ed6175a506349853fa80ab52222b" alt="Graphiques d'allocation de mémoire en direct de PIX sur XBOX" width="1690" height="549" data-path="images/gdk/features/graphics/xdd24-gr03-s40x.png" />

La figure 23 montre les graphiques d'allocation de mémoire en direct de PIX sur XBOX.

#### Vue Live API Objects

La vue Live API Objects a été intégrée à la section Live tools. En mettant le jeu en pause et en triant par taille, vous pouvez rapidement repérer les éléments volumineux et voir ce qui est chargé et ce qui ne l'est pas. Effectuez ces vérifications directement à partir de la vue en direct. Il n'est donc plus nécessaire d'effectuer une capture GPU.

**Figure 24.  Vue Live API Objects de PIX sur XBOX.**

<img src="https://mintcdn.com/microsoft-4404708b/8SF8ae--p4IJyDi1/images/gdk/features/graphics/xdd24-gr03-s41x.png?fit=max&auto=format&n=8SF8ae--p4IJyDi1&q=85&s=9bc2b6234bdd667c8b864183d695f065" alt="Vue Live API Objects de PIX sur XBOX" width="1167" height="635" data-path="images/gdk/features/graphics/xdd24-gr03-s41x.png" />

La figure 24 montre la vue Live API Objects de PIX sur XBOX.

Les fonctionnalités introduites dans le GDK d'octobre 2023 sont maintenant enrichies par le Texture Viewer dans les vues en direct. Il a été publié dans le GDK de mars 2024. Cette nouvelle fonctionnalité affiche les images dans le Texture Viewer lorsque vous sélectionnez des objets d'API. Vous pouvez évaluer le contenu des pixels, la taille, le format et la distribution des couleurs à l'aide de la section de l'histogramme.

Le but de cette vue est de vous aider à repérer rapidement les problèmes, comme de grandes textures monochromes qui auraient pu être laissées par erreur. Ce processus est effectué en dehors d'une capture GPU. Vous bénéficiez ainsi d'enquêtes rapides et de meilleurs temps d'itération.

**Figure 25.  Texture viewer en direct de PIX sur XBOX.**

<img src="https://mintcdn.com/microsoft-4404708b/8SF8ae--p4IJyDi1/images/gdk/features/graphics/xdd24-gr03-s42bx.png?fit=max&auto=format&n=8SF8ae--p4IJyDi1&q=85&s=b8c51e6e347fb734bfb4fc0f2966d00c" alt="Texture viewer en direct de PIX sur XBOX" width="704" height="651" data-path="images/gdk/features/graphics/xdd24-gr03-s42bx.png" />

La figure 25 montre le Texture viewer de PIX sur XBOX.

## Extensibilité du Mesh and Texture Viewer de PIX sur XBOX

L'extensibilité du Mesh and Texture Viewer est une nouvelle fonctionnalité introduite dans PIX sur XBOX en août 2024. PIX offre diverses façons de visualiser les textures dans un dessin ou une répartition. Par exemple, l'extensibilité du visualiseur de maillages et de textures permet d'afficher les cibles de rendu en mode filaire, de voir le surdessin de chaque pixel ou de déterminer quels pixels ont été dessinés ou non dans l'événement en cours.

Cette nouvelle fonctionnalité fournit des visualisations personnalisées au moyen de nuanceurs de calcul pour les mémoires tampons et les textures. Chaque fois que vous sélectionnez une ressource de texture ou de mémoire tampon dans la vue du pipeline de PIX, vous pouvez changer de visualisation en choisissant parmi une liste d'options personnalisées offertes dans le menu déroulant de visualisation.

**Figure 26.  Menu déroulant de visualisation.**

<img src="https://mintcdn.com/microsoft-4404708b/8SF8ae--p4IJyDi1/images/gdk/features/graphics/xdd24-gr03-s44x.png?fit=max&auto=format&n=8SF8ae--p4IJyDi1&q=85&s=b9ea9923cd98d896589c2df63f14e9d7" alt="Menu déroulant de visualisation" width="662" height="676" data-path="images/gdk/features/graphics/xdd24-gr03-s44x.png" />

La figure 26 montre le menu déroulant de visualisation et ses options.

Des exemples de visualisations personnalisées sont inclus dans le dossier Extensibility, dans le répertoire des fichiers binaires du GDK. Ces exemples servent d'échantillons dont vous pouvez vous inspirer, que vous pouvez modifier au besoin, puis dont vous pouvez voir les résultats dans PIX.

#### Activer la visualisation du Mesh and Texture Viewer

La fonctionnalité de visualisation du Mesh and Texture Viewer est désactivée par défaut. Vous pouvez la réactiver dans les paramètres de PIX. Pour localiser vos nuanceurs personnalisés, ajoutez leur emplacement aux chemins d'extensibilité.

Vous devrez fournir les fichiers d'en-tête pertinents si vous souhaitez exposer les fichiers d'en-tête de votre projet aux nuanceurs de calcul, par exemple pour référencer une mémoire tampon constante que vous avez définie dans votre projet.

**Figure 27.  Activer la visualisation du Mesh and Texture Viewer.**

<img src="https://mintcdn.com/microsoft-4404708b/8SF8ae--p4IJyDi1/images/gdk/features/graphics/xdd24-gr03-s45x.png?fit=max&auto=format&n=8SF8ae--p4IJyDi1&q=85&s=bad3363a0fbbaf1917b1ecf7e6a6afce" alt="Activer l'extensibilité du Mesh and Texture Viewer" width="1054" height="426" data-path="images/gdk/features/graphics/xdd24-gr03-s45x.png" />

La figure 27 montre la case à cocher Enable Custom Mesh and Texture Viewer Visualization ainsi que les chemins d'extensibilité et de recherche.

### Modèle de programmation de l'extensibilité

PIX compile les nuanceurs de sorte que vous ayez accès à toutes les ressources liées par l'appel. Des registres spéciaux donnent accès à toutes les ressources disponibles pour le dessin ou la répartition sélectionnés. Voici quelques exemples :

* `PixExt_SelectedResourceRegister` : donne accès à la ressource actuellement sélectionnée dans la vue du pipeline
* `PixExt_RenderTargetRegister0` : RTV0
* `PixExt_IndexBufferRegister` : mémoire tampon d'index
* `PixExt_VertexBufferRegister0` : mémoire tampon de sommets 0
* `PixExt_IndirectArgs` : mémoire tampon d'arguments indirects

Les données obtenues sont renvoyées au Texture and Mesh Viewer au moyen de fonctions spéciales. Voici quelques exemples :

* `void PixExt_StorePixel_Int(uint2 offset, int4 pixel)`
* `void PixExt_StoreVertex(uint offset, float4 vertex)`

#### Déclaration de fonction d'extensibilité

La visualisation est définie dans un nuanceur de calcul que vous fournissez. PIX réinterprète les données d'entrée et génère un maillage ou une image. La structure `PixExt_ComputeInput` est une `struct` d'assistance facultative qui peut être fournie au point d'entrée du nuanceur de calcul. Celui-ci doit être nommé `main`. Cette `struct` encapsule les valeurs système habituelles des nuanceurs de calcul et est présentée dans l'exemple suivant.

```cpp theme={null}
// Main function arguments
struct PixExt_ComputeInput
{
    uint3 dispatchThreadId : SV_DispatchThreadID;
    uint3 groupId : SV_GroupID;
    uint3 groupThreadId : SV_GroupThreadID;
    uint groupIndex : SV_GroupIndex;
};
```

#### Exemples d'extensibilité du Texture Viewer

Voici un exemple de nuanceur de calcul inclus dans le GDK de mars 2024. Il recherche les valeurs `NaN` et colore en magenta tous les pixels trouvés.

```cpp theme={null}
// Highlight Inf and NaN in a floating point texture with magenta.
Texture2D<float4> SelectedTexture : PixExt_SelectedResourceRegister;
[numthreads(8, 8, 1)]
void main(PixExt_ComputeInput input)  {
   float4 value = PixExt_ SelectedTexture.Load(int3(input.dispatchThreadId.xy, 0));
   if (	isinf(value.x) || isnan(value.x) || 
      isinf(value.y) || isnan(value.y) || 
      isinf(value.z) || isnan(value.z) || 
      isinf(value.w) || isnan(value.w)  )
      value = float4(1.0f, 0.0f, 1.0f, 1.0f);
      PixExt_StorePixel_Float(input.dispatchThreadId.xy, value);
}
```

L'appel d'API `PixExt_SelectedResourceRegister` référence la ressource sélectionnée dans la vue du pipeline. Il n'est donc plus nécessaire de pointer manuellement vers cette ressource à partir du nuanceur de calcul. Dans l'exemple suivant, la valeur de la texture d'entrée est chargée en utilisant l'ID du thread de répartition comme coordonnées de texture.

```cpp theme={null}
// Highlight Inf and NaN in a floating point texture with magenta.
[numthreads(8, 8, 1)]
void main(PixExt_ComputeInput input)  {
   float4 value = PixExt_SelectedResourceRegister.Load(int3(input.dispatchThreadId.xy, 0));
   if (	isinf(value.x) || isnan(value.x) || 
      isinf(value.y) || isnan(value.y) || 
      isinf(value.z) || isnan(value.z) || 
      isinf(value.w) || isnan(value.w)  )
      value = float4(1.0f, 0.0f, 1.0f, 1.0f);
      PixExt_StorePixel_Float(input.dispatchThreadId.xy, value);
}
```

Dans l'exemple suivant, l'appel d'API `PixExt_StorePixel_Float` écrit dans la ressource de sortie. Il s'agit d'une texture pour le visualiseur de textures. Pour le visualiseur de maillages, la sortie est une paire de mémoires tampons d'index et de sommets utilisée par PIX pour effectuer le rendu du maillage de sortie.

```cpp theme={null}
// Highlight Inf and NaN in a floating point texture with magenta color. 
Texture2D<float4> SelectedTexture : PixExt_SelectedResourceRegister;
[numthreads(8, 8, 1)]
void main(PixExt_ComputeInput input)  {
   float4 value = SelectedTexture.Load(int3(input.dispatchThreadId.xy, 0));
   if (	isinf(value.x) || isnan(value.x) || 
      isinf(value.y) || isnan(value.y) || 
      isinf(value.z) || isnan(value.z) || 
      isinf(value.w) || isnan(value.w)  )
      value = float4(1.0f, 0.0f, 1.0f, 1.0f);
      PixExt_StorePixel_Float(input.dispatchThreadId.xy, value);
}
```

## Prise en charge des fonctionnalités Direct3D

La prise en charge de fonctionnalités Direct3D a été ajoutée à PIX sur XBOX et à PIX sur Windows, comme le montre le tableau suivant.

| **PIX sur XBOX** | **PIX sur Windows** |
| - | - |
| Barrières améliorées | Barrières améliorées |
| Vues à ordre de rastérisation | Vues à ordre de rastérisation |
| `DirectML` | `DirectML` |
| - | Graphes de travail |
| - | Tas de téléversement GPU |
| - | Échantillonnage non normalisé |
| - | Appareils Direct3D indépendants |

Les barrières améliorées font partie de la prise en charge des fonctionnalités Direct3D dans PIX sur XBOX depuis le GDK de mars 2023. La prise en charge des vues à ordre de rastérisation (ROV) a été introduite dans le GDK de mars 2024. Cette fonctionnalité indique quand des ROV sont utilisées dans un nuanceur. Les ressources liées s'affichent comme des ROV plutôt que comme des vues d'accès non ordonné (UAV) standard. Prise en charge de `DirectML` dans PIX sur XBOX. Pour plus d'informations, communiquez avec votre gestionnaire de compte Microsoft.

PIX sur Windows prend en charge les barrières améliorées, les ROV et `DirectML`. La prise en charge a également été ajoutée pour les graphes de travail, les tas de téléversement GPU, l'échantillonnage non normalisé et les appareils Direct3D multiples dans un jeu.

## Performances des captures de minutage de PIX

Les performances des captures de minutage (Timing Capture) ont été améliorées grâce à l'accélération du chargement des symboles et à la refonte des événements PIX afin de réduire la surcharge du CPU.

### Fonctionnalités des captures de minutage

En plus des améliorations de performance, de nouvelles fonctionnalités ont été ajoutées aux captures de minutage. Elles comprennent les suivantes.

* Vue Summary
* Checklist
* Captures de minutage circulaires
* Vue Memory
* Consolidated Events Editor de la vue Metrics
* Graphique en flammes des fonctions échantillonnées

### Vue Summary

La vue Summary a été améliorée pour fournir plus de renseignements qu'auparavant.

**Figure 28.  Vue Summary.**

<img src="https://mintcdn.com/microsoft-4404708b/8SF8ae--p4IJyDi1/images/gdk/features/graphics/xdd24-gr03-s57x.png?fit=max&auto=format&n=8SF8ae--p4IJyDi1&q=85&s=953e4d52c24d6934a71c661f6b12373e" alt="Vue Summary" width="912" height="636" data-path="images/gdk/features/graphics/xdd24-gr03-s57x.png" />

Dans la figure 28, les détails du fichier, y compris son emplacement, les versions de récupération et du GDK, le type de pilote graphique et la taille des pools de mémoire du GPU et du CPU, sont affichés dans le coin supérieur gauche. Les valeurs d'utilisation et de disponibilité de la mémoire du CPU sont affichées dans le coin supérieur droit. Le coin inférieur gauche affiche les cinq événements PIX ayant le plus grand nombre d'occurrences. Les pourcentages d'utilisation du CPU sont représentés graphiquement par cœur dans le coin inférieur droit.

**Figure 29.  Vue Summary d'une capture GPU.**

<img src="https://mintcdn.com/microsoft-4404708b/8SF8ae--p4IJyDi1/images/gdk/features/graphics/xdd24-gr03-s58x.png?fit=max&auto=format&n=8SF8ae--p4IJyDi1&q=85&s=2f89c49a873e6e4bebd92f36fee72cdf" alt="Vue Summary d'une capture GPU" width="1241" height="632" data-path="images/gdk/features/graphics/xdd24-gr03-s58x.png" />

Dans les captures GPU, aucun marqueur n'est affiché. La figure 29 montre les événements PIX de niveau supérieur les plus longs, les images les plus longues et des liens vers les événements de la capture, situés respectivement dans les vues en haut à gauche, en haut à droite et en bas.

**Figure 30.  Vue Summary des plus grands objets d'API alloués.**

<img src="https://mintcdn.com/microsoft-4404708b/8SF8ae--p4IJyDi1/images/gdk/features/graphics/xdd24-gr03-s59ax.png?fit=max&auto=format&n=8SF8ae--p4IJyDi1&q=85&s=109cb91098d7579d222d3a01bbdf3687" alt="Vue Summary des plus grands objets d'API alloués" width="987" height="419" data-path="images/gdk/features/graphics/xdd24-gr03-s59ax.png" />

Dans la figure 30, la vue Summary affiche les plus grands objets d'API alloués pendant la capture et donne un aperçu de l'utilisation des threads et des cœurs du CPU. Elle affiche l'utilisation des cœurs par les différents threads. Les noms des threads sont indiqués dans la colonne la plus à gauche.

La vue Summary offre également une vue plus détaillée de l'utilisation des threads ou des cœurs du CPU par rapport à l'utilisation générale des cœurs du CPU, comme le montre la figure 31.

**Figure 31.  Vue Summary de l'utilisation des threads et des cœurs du CPU.**

<img src="https://mintcdn.com/microsoft-4404708b/8SF8ae--p4IJyDi1/images/gdk/features/graphics/xdd24-gr03-s59bx.png?fit=max&auto=format&n=8SF8ae--p4IJyDi1&q=85&s=bc4b527b48566784c9bd3fc5371306e0" alt="Vue Summary de l'utilisation des threads et des cœurs du CPU" width="779" height="513" data-path="images/gdk/features/graphics/xdd24-gr03-s59bx.png" />

### Checklist

La fonctionnalité Checklist de PIX est générée à partir des captures GPU. Depuis le GDK d'octobre 2023, elle a également été étendue aux captures de minutage du CPU. Des règles de détection sont en cours d'ajout. Vous pourrez ajouter vos propres règles personnalisées.

**Figure 32.  Vue Checklist.**

<img src="https://mintcdn.com/microsoft-4404708b/8SF8ae--p4IJyDi1/images/gdk/features/graphics/xdd24-gr03-s60x.png?fit=max&auto=format&n=8SF8ae--p4IJyDi1&q=85&s=2b89c2c2547b43faaf39e93d2d6e3817" alt="Vue Checklist" width="1110" height="677" data-path="images/gdk/features/graphics/xdd24-gr03-s60x.png" />

La figure 32 montre un exemple de la Checklist et de ses règles.

### Captures de minutage circulaires

Le mode de capture de minutage circulaire a été introduit dans le GDK d'octobre 2023. Ce mode était auparavant appelé captures de minutage continues. Utilisez ce mode pour démarrer une capture et la laisser s'exécuter. Il n'enregistre que les dernières secondes de la capture après que vous l'avez arrêtée. Ce mode est particulièrement utile pour capturer des problèmes de longue durée difficiles à trouver, comme un comportement intermittent qui semble présenter des bogues survenant aléatoirement après de longues périodes de jeu.

Les API permettant de prendre en charge ce mode par programmation ont été publiées dans la version de mars 2024. Vous pouvez ainsi intégrer ce mode à vos scénarios d'automatisation. Cependant, les données d'horodatage du GPU ne sont pas prises en charge dans ce mode. Il n'est actuellement pas prévu de les intégrer. Si cette fonctionnalité vous serait utile, communiquez avec l'[équipe PIX](mailto:pix@microsoft.com).

**Figure 33.  Captures de minutage circulaires.**

<img src="https://mintcdn.com/microsoft-4404708b/8SF8ae--p4IJyDi1/images/gdk/features/graphics/xdd24-gr03-s61x.png?fit=max&auto=format&n=8SF8ae--p4IJyDi1&q=85&s=41a2f0cd94d0b351dcc8ac4d66181534" alt="Captures de minutage circulaires" width="805" height="444" data-path="images/gdk/features/graphics/xdd24-gr03-s61x.png" />

La figure 33 montre la boîte de dialogue permettant d'activer les captures de minutage circulaires.

### Vue Memory

Une nouvelle vue Memory est offerte dans les captures de minutage depuis le GDK de mars 2024. Elle constitue un outil puissant pour analyser l'utilisation de la mémoire dans vos projets de développement de jeux. Elle vous permet d'enregistrer des renseignements détaillés sur les allocations de mémoire et de repérer les fuites de mémoire potentielles. Pour activer cette fonctionnalité, activez au moins un des types d'allocation ou des événements de défaut de page.

Après avoir activé les paramètres nécessaires, exécutez la capture de minutage comme d'habitude. Une fois la capture terminée, la vue Sample Memory Access s'affiche. Elle présente les allocations effectuées par le jeu pendant la capture. Cette vue donne un aperçu de l'endroit où les allocations se produisent au fil du temps et du type d'allocation (CPU, GPU ou outils).

Notez qu'il s'agit d'une approche basée sur l'échantillonnage; elle pourrait donc ne pas capturer 100 % des allocations.

**Figure 34.  Paramètres d'activation de la vue Memory.**

<img src="https://mintcdn.com/microsoft-4404708b/8SF8ae--p4IJyDi1/images/gdk/features/graphics/xdd24-gr03-s62x.png?fit=max&auto=format&n=8SF8ae--p4IJyDi1&q=85&s=f6b53421a82584978574f90d82aff6b5" alt="Activer la vue Memory" width="873" height="369" data-path="images/gdk/features/graphics/xdd24-gr03-s62x.png" />

La figure 34 montre les paramètres d'activation de la vue Memory.

**Figure 35.  Vue Sample Memory Access.**

<img src="https://mintcdn.com/microsoft-4404708b/8SF8ae--p4IJyDi1/images/gdk/features/graphics/xdd24-gr03-s63x.png?fit=max&auto=format&n=8SF8ae--p4IJyDi1&q=85&s=e37c30f3a0f053e02ea40ed6ae3b665a" alt="Vue Sample Memory Access" width="1552" height="632" data-path="images/gdk/features/graphics/xdd24-gr03-s63x.png" />

La figure 35 montre le type d'allocation analysé et la plage de temps sélectionnée dans le coin supérieur droit. La série de rectangles violets représente les mappages de mémoire. Le bleu correspond aux allocations du CPU, le violet au GPU et le gris aux outils. Chaque case de la carte représente une allocation de mémoire à une adresse précise. La taille de chaque case est proportionnelle à la taille de l'allocation. Une description textuelle du bloc s'affiche lorsque vous pointez sur la case.

Vous pouvez filtrer les allocations affichées selon les propriétés suivantes.

* Plage de temps
* Taille de page mémoire (par exemple, afficher uniquement les allocations de 64 Ko)
* Désignation (CPU, GPU ou outils)

### Consolidated Events Editor

La fonctionnalité Consolidated Events Editor de la vue Metrics regroupe automatiquement les événements de plusieurs images à l'aide de modèles de regroupement spécifiés. Modifiez l'expression régulière pour l'adapter à vos conventions d'affectation de noms.

Par exemple, vous pourriez nommer vos événements selon un modèle de numérotation séquentielle (update1 dans frame1, update2 dans frame2 et update3 dans frame3). Vous pouvez facilement les regrouper au moyen d'une expression régulière. Utilisez-les pour analyser l'ensemble d'événements en tant que groupe. C'est utile pour repérer les valeurs aberrantes ou d'autres tendances qui pourraient ne pas être visibles lorsque vous examinez un seul événement.

**Figure 36.  Consolidated Events Editor de la vue Metrics.**

<img src="https://mintcdn.com/microsoft-4404708b/8SF8ae--p4IJyDi1/images/gdk/features/graphics/xdd24-gr03-s64x.png?fit=max&auto=format&n=8SF8ae--p4IJyDi1&q=85&s=767866b2541f3e7999704419dfaa694f" alt="Consolidated Events Editor de la vue Metrics" width="1211" height="693" data-path="images/gdk/features/graphics/xdd24-gr03-s64x.png" />

La figure 36 montre un exemple du Consolidated Events Editor.

### Graphique en flammes des fonctions échantillonnées

Les graphiques en flammes des fonctions échantillonnées sont une nouvelle fonctionnalité de PIX. Ces graphiques indiquent quelles fonctions ont été appelées pendant un événement au moyen du graphique qui s'affiche directement sous le nom des événements. Le graphique est généré à partir d'échantillons; un taux d'échantillonnage plus élevé offre donc une plus grande précision.

Les graphiques en flammes sont utiles pour visualiser l'arborescence complète des fonctions appelées et leur durée approximative dans la chronologie.

**Figure 37.  Graphique en flammes des fonctions échantillonnées.**

<img src="https://mintlify.s3.us-west-1.amazonaws.com/microsoft-4404708b/images/gdk/features/graphics/xdd24-gr03-s65x.png" alt="Graphique en flammes des fonctions échantillonnées" />

La figure 37 montre un exemple de graphique en flammes.

## Dispositions de PIX

Les dispositions de PIX peuvent être personnalisées. La figure 38 montre la disposition d'une vue dans PIX et met en évidence ce qui peut être personnalisé.

Une vue se compose d'un en-tête d'emplacement et d'un ou de plusieurs emplacements. Vous pouvez déplacer des vues dans n'importe quel en-tête d'emplacement et les sélectionner pour les afficher dans l'emplacement associé. Si aucun autre emplacement n'est regroupé dans une zone précise de l'écran, un emplacement peut être affiché sans en-tête d'emplacement.

**Figure 38.  Disposition de PIX.**

<img src="https://mintcdn.com/microsoft-4404708b/8SF8ae--p4IJyDi1/images/gdk/features/graphics/xdd24-gr03-s67x.png?fit=max&auto=format&n=8SF8ae--p4IJyDi1&q=85&s=c9b0039234642a14a0ce5e108873dacb" alt="Dispositions de PIX" width="1778" height="758" data-path="images/gdk/features/graphics/xdd24-gr03-s67x.png" />

### Emplacements réductibles

La figure 39 montre comment les vues peuvent être réduites en sélectionnant le bouton Moins dans l'en-tête d'emplacement. Sélectionner de nouveau ce bouton rétablit l'emplacement.

**Figure 39. Emplacements réductibles**

<img src="https://mintcdn.com/microsoft-4404708b/8SF8ae--p4IJyDi1/images/gdk/features/graphics/xdd24-gr03-s68x.png?fit=max&auto=format&n=8SF8ae--p4IJyDi1&q=85&s=79e50e156f61872dbd05c4357a621d82" alt="Emplacements réductibles" width="1362" height="533" data-path="images/gdk/features/graphics/xdd24-gr03-s68x.png" />

### Activer le mode de conception de la disposition

La figure 40 montre l'icône permettant de réorganiser vos vues. Sélectionnez l'icône Design Mode à côté du nom et de l'adresse IP de la trousse de développement connectée pour commencer le processus.

**Figure 40.  Activer le mode de conception de la disposition.**

<img src="https://mintcdn.com/microsoft-4404708b/8SF8ae--p4IJyDi1/images/gdk/features/graphics/xdd24-gr03-s69ax.png?fit=max&auto=format&n=8SF8ae--p4IJyDi1&q=85&s=68f057fe6407c86bb0ae56271a75af45" alt="Activer le mode de conception de la disposition" width="781" height="47" data-path="images/gdk/features/graphics/xdd24-gr03-s69ax.png" />

### Mode de conception

La figure 41 montre la boîte de dialogue qui s'affiche lorsque le mode de conception est activé. Notez les boutons New Window et New Tab mis en évidence en vert. Pour plus d'informations sur le mode Layout Design, consultez [Configuring the PIX UI](/fr-CA/tools/tools-console/pix/configuring-pix).

L'option permettant d'enregistrer vos dispositions préférées a été ajoutée. À l'occasion, une nouvelle version du GDK réinitialise PIX à la disposition par défaut pour présenter les changements pertinents. Si vous installez un nouveau GDK et préférez votre vue personnalisée à celle par défaut, vous pouvez facilement revenir à votre disposition enregistrée en la sélectionnant dans le menu.

**Figure 41.  Mode de conception.**

<img src="https://mintcdn.com/microsoft-4404708b/8SF8ae--p4IJyDi1/images/gdk/features/graphics/xdd24-gr03-s69bx.png?fit=max&auto=format&n=8SF8ae--p4IJyDi1&q=85&s=4b2535566ccdd843628a1a3886496fcb" alt="Mode de conception" width="923" height="504" data-path="images/gdk/features/graphics/xdd24-gr03-s69bx.png" />

### Boîte de dialogue des dispositions de remplacement

La figure 42 montre la boîte de dialogue permettant de restaurer des dispositions de remplacement.

**Figure 42.  Boîte de dialogue des dispositions de remplacement.**

<img src="https://mintcdn.com/microsoft-4404708b/8SF8ae--p4IJyDi1/images/gdk/features/graphics/xdd24-gr03-s70x.png?fit=max&auto=format&n=8SF8ae--p4IJyDi1&q=85&s=e8bb607de6fb9425af225c3cc236ffc5" alt="Boîte de dialogue des dispositions de remplacement" width="868" height="482" data-path="images/gdk/features/graphics/xdd24-gr03-s70x.png" />

## Étapes suivantes

Si vous souhaitez consulter les documents de présentation liés à cette vue d'ensemble, téléchargez les fichiers suivants à partir de [XBOX Developer Download Secure Data Storage (SDS)](https://www.microsoft.com/software-download/gdk).

* Diaporama : G03.EN\_Whats\_New\_In\_PIX.XboxDevDays2024.pptx dans Dev Days 2024 US Graphics Track Presentations (en-US) (May 2024) (DevDays2024USGraphicsTrackPresentations-en-US-May2024.ZIP)
* Présentation vidéo : G03US.EN\_WhatsNewInPIX.XDD2024.mp4 dans DevDays2024-enGraphicsTrackVideos-DD.EN.2024.05.ZIP

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

1. Accédez à [Game Development Kit (GDK) downloads](https://www.microsoft.com/en-us/software-download/gdk).
2. Sous **Select file type**, sélectionnez **Conference Materials**, puis **Confirm**.
3. Sous **Select build/version number**, choisissez les présentations graphiques suivantes.
   * Dev Days 2024 US Graphics Track Presentations (en-US) (May 2024)
   * Dev Days 2024 (en) Graphics Track Videos (DD.EN.2024.05)
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é.

<a id="see-also" />

## Voir aussi

[PIX](/fr-CA/tools/tools-console/pix/pix)

[Visite guidée de la nouvelle Checklist de PIX](/fr-CA/build/core-features/graphics/overviews/presentations/xfest2022/gc-graphics-xfest-2022-gr01)

[Améliorations de PIX pour XBOX](/fr-CA/build/core-features/graphics/overviews/presentations/xfest2022/gc-graphics-xfest-2022-gr07)


## Related topics

- [Répertoire des rubriques NDA : liens actifs vers Microsoft Learn](/fr-CA/nda/nda-topic-directory.md)
- [Capturas de seguimiento de GPU de PIX en consolas XBOX Series](/es/tools/tools-console/pix/gpu-trace/index.md)
- [Xdd2024](/es/build/core-features/graphics/overviews/presentations/xdd2024/index.md)
- [XDD 2024](/zh-CN/build/core-features/graphics/overviews/presentations/xdd2024/index.md)
- [Vídeos de PIX](/es/tools/tools-console/pix/pix-videos.md)
