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

# Trace de nuanceur dans PIX (XBOX One)

> Trace de nuanceur dans PIX (XBOX One)

Cette rubrique décrit comment analyser les instructions de l'assembleur de nuanceurs pour déterminer les goulots d'étranglement des performances. Une bonne compréhension de la [Sea Islands Instruction Set Architecture d'Advanced Micro Devices, Inc.](https://developer.amd.com/wordpress/media/2013/07/AMD_Sea_Islands_Instruction_Set_Architecture1.pdf) est nécessaire.

<a id="ID4EX" />

## Cœurs de nuanceurs et instructions

La charge des instructions des nuanceurs peut être mesurée à l'échelle macro par les compteurs GPU, mais une vue à l'échelle micro nécessite de tracer chaque vague pendant qu'elle exécute ses instructions une à une. Par exemple, les compteurs GPU peuvent montrer que de nombreuses vagues passent du temps bloquées, alors qu'une trace peut révéler que ces blocages sont entièrement masqués par d'autres vagues qui effectuent un travail utile.

Pour obtenir des informations détaillées sur les instructions VMEM, consultez le livre blanc How do VMEM Instructions Work? [(XBOX Developer Downloads->XBOX One->All XBOX One XDK CHMs)](https://aka.ms/gdkdl).

Pour obtenir des informations générales sur les cœurs de nuanceurs, consultez le livre blanc [XBOX One GPU Shader Cores](https://aka.ms/xgddl).

<a id="ID4EMB" />

## Utiliser Shader Instruction Trace

La fonctionnalité Shader Instruction Trace n'apparaît pas dans la disposition par défaut de PIX. Pour l'afficher, cliquez sur **Views** en haut à droite. Cliquez ensuite sur **Shader Instruction Trace** sous GPU Captures (comme illustré dans la figure suivante), faites-le glisser et déposez-le dans la disposition à l'endroit voulu.

<img src="https://mintcdn.com/microsoft-4404708b/cbgdF-D3rUKJ-fFH/images/gdk/tools/pix_gpu_open_views.png?fit=max&auto=format&n=cbgdF-D3rUKJ-fFH&q=85&s=b4962e3fe6952ab607b2496d7eaed2dd" alt="Ouverture des vues dans PIX GPU" width="210" height="649" data-path="images/gdk/tools/pix_gpu_open_views.png" />

La figure suivante montre le nouvel onglet avec Shader Instruction Trace.

<img src="https://mintcdn.com/microsoft-4404708b/cbgdF-D3rUKJ-fFH/images/gdk/tools/pix_gpu_shader_instruction_trace.png?fit=max&auto=format&n=cbgdF-D3rUKJ-fFH&q=85&s=2df964eab5b3df76bdebd660242495ef" alt="Shader Instruction Trace de PIX GPU" width="2295" height="844" data-path="images/gdk/tools/pix_gpu_shader_instruction_trace.png" />

La trace comporte deux parties. Sur la gauche, chaque barre représente une vague. La couleur de la vague indique l'étape de nuanceur (VS = vert, PS = bleu, CS = bleu sarcelle, GS = rouge). Pour la liste complète des couleurs, consultez la vue **Timeline**. L'échelle horizontale représente le temps en cycles d'horloge. L'échelle verticale répertorie les différentes unités SIMD (Single Instruction Multiple Data) de chaque unité de calcul. Les barres pleines représentent les appels de dessin sélectionnés dans la liste Events. Les barres en contour représentent les appels de dessin voisins. Les marques blanches indiquent les cycles d'horloge au cours desquels des instructions ont été émises.

Utilisez les commandes suivantes pour examiner les données des vagues.

* Effectuez un panoramique dans la vue en cliquant avec le bouton droit de la souris et en faisant glisser.
* Effectuez un zoom dans la chronologie à l'aide de Ctrl+molette.
* Faites défiler la vue à l'aide de la molette (sans Ctrl).

Lorsque vous examinez les instructions et statistiques GPU à droite, recherchez les instructions les plus coûteuses. Des valeurs supérieures à 100 pour cent signifient que le nuanceur boucle. Pour toutes les classes d'instructions, le coût Stall est important. Pour certaines, le coût Issue l'est aussi. Dans la figure précédente, un intervalle Issue de 108 signifie que la vague de nuanceur est restée inactive pendant ce nombre de cycles d'horloge. Ce délai peut être un problème de performances à corriger, il peut être inévitable, ou il peut être masqué par d'autres vagues en cours d'exécution.

Dans la figure précédente, l'instruction image\_sample (une extraction de texture) présente un blocage, et c'est là que se manifeste la latence de la mémoire. L'extraction est bloquée pendant l'accès au Texture Addressing (TA) ; le coût de s\_waitcnt correspond donc entièrement à la latence de la mémoire.

La colonne Offset indique le décalage en octets par rapport à la base du nuanceur. Cela peut être utile pour faire correspondre des binaires à la trace ou pour déterminer si des blocages coïncident avec les limites des lignes de cache.

La vue Shader Instruction Trace présente certaines limitations : la trace au niveau des instructions ne fonctionne que pour les unités de calcul CU0/SE0 et CU0/SE1 (en raison de restrictions matérielles). Certains appels de dessin peuvent donc ne pas apparaître dans la vue s'ils n'ont pas utilisé ces CU.

<a id="ID4ELD" />

## Voir aussi

[Utiliser PIX avec les nuanceurs](/fr-CA/tools/tools-console/pix/gpu/pix-with-shaders)

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


## Related topics

- [Capture GPU et analyse des performances avec PIX](/fr-CA/tools/tools-console/pix/gpu/index.md)
- [Répertoire des rubriques NDA : liens actifs vers Microsoft Learn](/fr-CA/nda/nda-topic-directory.md)
- [PIX sur XBOX et Windows pour les titres GDK](/fr-CA/tools/tools-console/pix/index.md)
- [Captures PIX GPU Trace sur les consoles XBOX Series](/fr-CA/tools/tools-console/pix/gpu-trace/index.md)
- [Débogage en direct dans Visual Studio sur les exceptions de nuanceur](/fr-CA/tools/tools-console/hix/shader-exceptions-live-debugging-in-vs.md)
