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

# Captures PIX GPU Trace pour le profilage sur XBOX Series X|S

> Comment les captures PIX GPU Trace enregistrent les données de profilage SQTT et SPM sur plusieurs images sur XBOX Series X|S, notamment l'occupation, les context rolls et l'analyse hors connexion.

Les GPU Trace Captures sont des captures légères de données de profilage du GPU, disponibles à partir de la XBOX Series X|S. Comme les données de profilage sont capturées pendant l'exécution du titre, elles peuvent fournir des informations sur les performances du titre sur plusieurs images, en tenant compte de diverses autres interactions entre les composants du système, comme le processeur, le GPU, la mémoire, etc. Les GPU Trace Captures stockent toutes les données capturées dans le fichier de capture : une fois effectuées, elles n'ont donc plus besoin d'un kit de développement pour relire la capture et analyser les données, contrairement aux GPU Captures, qui nécessitent une connexion à un kit de développement pour de nombreuses fonctionnalités d'analyse.

Les principales sources de données des GPU Trace Captures sont [SQTT](#PixGpuTraceSqtt) (Shader seQuencer Thread Trace) et [SPM](#PixGpuTraceSpm) (Streaming Performance Monitors, ou Streaming PerfMon), décrites en détail ci-dessous. Un [glossaire](#PixGpuTraceGlossary) est disponible pour consulter les termes ou acronymes que vous ne connaissez pas.

<Note>
  Sauf indication contraire, tous les termes et détails matériels de ce document font référence au GPU de la XBOX Series X|S.
</Note>

<a id="PixGpuTraceSqtt" />

## SQTT

SQTT est une trace de profilage de bas niveau qui peut enregistrer l'activité générale sur un Shader Engine (SE) et l'activité détaillée sur un SIMD. Cela inclut des actions telles que le début et la fin des vagues de nuanceur, les écritures de registres, ainsi que l'émission et l'exécution des instructions.

### **Qu'est-ce que l'occupation?**

L'occupation (occupancy) désigne l'utilisation des ressources matérielles. Elle est souvent exprimée en pourcentage du maximum (par exemple 82 %) ou par rapport à un seul SIMD du GPU (par exemple, une occupation de 7 vagues signifie une moyenne de 7/20 vagues par SIMD pour la XBOX Series X|S ou de 7/10 vagues par SIMD pour la XBOX One). Vous pouvez afficher l'occupation dans la chronologie [GPU Occupancy](/fr-CA/tools/tools-console/pix/gpu-trace/pix-gpu-trace-ui#PixGpuTraceUiGpuOccupancy).

<a id="PixGpuTraceSqttContextRolls" />

### **Context rolls**

Le GPU de la XBOX Series X|S dispose de 8 contextes graphiques servant à stocker l'état du contexte graphique. L'un de ces contextes est réservé au système, ce qui en laisse 7 à la disposition du titre. Lorsqu'un appel de dessin ne peut pas réutiliser un état de contexte existant, il doit allouer un nouveau contexte, ce qui déclenche un context roll. Un context roll en soi peut être sans conséquence, mais les blocages dus aux context rolls, c'est-à-dire lorsqu'un nouveau contexte ne peut pas être alloué et que l'appel de dessin doit attendre la libération d'un contexte, ont un coût en termes de performances.

La différence d'état de contexte la plus courante à l'origine des context rolls est la configuration des interpolants, ce qui suggère que les PSO générés à partir des matériaux sont trop différents ou que la géométrie n'est pas suffisamment regroupée. Si la soumission multithread est utilisée, il devrait être utile de trier les appels de dessin par état de PSO avant de les répartir sur plusieurs threads pour la soumission.

La chronologie [GPU Contexts](/fr-CA/tools/tools-console/pix/gpu-trace/pix-gpu-trace-ui#PixGpuTraceUiGpuContexts) peut vous aider à identifier les zones de forte utilisation des contextes susceptibles d'entraîner des blocages.

<a id="PixGpuTraceSpm" />

## SPM

### **Ensembles de compteurs**

Des milliers de compteurs sont disponibles dans les nombreux blocs du GPU, ce qui peut rendre difficile l'identification des compteurs pertinents pour ce que vous voulez examiner.

Vous pouvez utiliser les ensembles de compteurs prédéfinis de PIX pour sélectionner des compteurs adaptés à certains scénarios courants, et définir vos propres ensembles de compteurs pour les enregistrer et les réutiliser. Si vous créez des ensembles de compteurs utiles que vous voulez mettre à la disposition d'autres personnes, n'hésitez pas à communiquer avec l'équipe PIX par le bouton de commentaires de PIX; l'équipe envisagera de les ajouter aux ensembles de compteurs prédéfinis.

Chaque bloc du GPU a un nombre maximal de compteurs pouvant être collectés simultanément, indiqué à côté de son nom dans les options de GPU Trace Capture. En raison de ce maximum, un seul ensemble de compteurs, ou une seule capture, peut ne pas suffire à contenir tous les compteurs que vous voulez collecter. Dans ce cas, nous vous recommandons d'effectuer plusieurs captures avec différents ensembles de compteurs.

**Je souhaite examiner X. Quels compteurs dois-je utiliser?**

Voici quelques compteurs utiles pour divers scénarios :

* Mise en cache
  * [Général](#PixGpuTraceSpmCachingGeneral)
  * [Couleur](#PixGpuTraceSpmCachingColor)
  * [Profondeur](#PixGpuTraceSpmCachingDepth)
  * [Nuanceurs](#PixGpuTraceSpmCachingShaders)
* Géométrie
  * [Découpage](#PixGpuTraceSpmGeometryClipping)
  * [Élimination](#PixGpuTraceSpmGeometryCulling)
  * [Primitives et vertex](#PixGpuTraceSpmGeometryPrimitivesVertexes)
  * [Blocages](#PixGpuTraceSpmGeometryStalls)
* Latence
  * [Caches](#PixGpuTraceSpmLatencyCaches)
  * [Couleur](#PixGpuTraceSpmLatencyColor)
  * [Profondeur](#PixGpuTraceSpmLatencyDepth)
  * [Géométrie](#PixGpuTraceSpmLatencyGeometry)
* Mémoire
  * [Bande passante](#PixGpuTraceSpmMemoryBandwidth)
  * [Couleur](#PixGpuTraceSpmMemoryColor)
  * [Profondeur](#PixGpuTraceSpmMemoryDepth)
* Pixels
  * [Couleur](#PixGpuTraceSpmPixelsColor)
  * [Profondeur](#PixGpuTraceSpmPixelsDepth)
  * [Early-Z](#PixGpuTraceSpmPixelsEarlyZ)
  * [Hi-Z](#PixGpuTraceSpmPixelsHiZ)
  * [Late-Z](#PixGpuTraceSpmPixelsLateZ)
  * [VRS](#PixGpuTraceSpmPixelsVrs)
* Nuanceurs
  * [Général](#PixGpuTraceSpmShadersGeneral)
  * [Blocages](#PixGpuTraceSpmShadersStalls)
  * [Attentes](#PixGpuTraceSpmShadersWaits)
* Textures
  * [Général](#PixGpuTraceSpmTexturesGeneral)

<a id="PixGpuTraceSpmCachingGeneral" />

**Mise en cache : Général**

| Mesure | Ensemble de compteurs | Description |
| - | - | - |
| Défaut du cache L0 | TCP\_PERF\_SEL\_REQ\_MISS | Nombre de requêtes ayant manqué le cache L0 (aussi appelé TCP). Divisez par TCP\_PERF\_SEL\_REQ pour obtenir le pourcentage de défauts. |
| Défaut du cache L1 | GL1C\_PERF\_SEL\_REQ\_MISS | Nombre de requêtes ayant manqué le cache L1 (aussi appelé GL1C). Divisez par GL1C\_PERF\_SEL\_REQ pour obtenir le pourcentage de défauts. |
| Défaut du cache L2 | GL2C\_PERF\_SEL\_MISS | Nombre de requêtes ayant manqué le cache L2 (aussi appelé GL2C ou TCC). Divisez par GL2C\_PERF\_SEL\_REQ pour obtenir le pourcentage de défauts. |
| Succès MDC | GL2C\_PERF\_SEL\_MDC\_SECTOR\_HIT | Nombre de requêtes ayant trouvé les données dans le MDC. |
| Défaut MDC | GL2C\_PERF\_SEL\_MDC\_SECTOR\_MISS | Nombre de requêtes ayant manqué le MDC. |

<a id="PixGpuTraceSpmCachingColor" />

**Mise en cache : Couleur**

| Mesure | Ensemble de compteurs | Description |
| - | - | - |
| Succès du cache de couleur | CB\_PERF\_SEL\_CC\_CACHE\_HIT | Nombre de requêtes ayant trouvé les données dans le cache de couleur du CB. |
| Défaut du cache de couleur | CB\_PERF\_SEL\_CC\_CACHE\_SECTOR\_MISS | Nombre de requêtes ayant manqué le cache de couleur du CB. |
| Succès du cache CMask | CB\_PERF\_SEL\_CM\_CACHE\_HIT | Nombre de requêtes ayant trouvé les données dans le cache CMask du CB. |
| Défaut du cache CMask | CB\_PERF\_SEL\_CM\_CACHE\_SECTOR\_MISS | Nombre de requêtes ayant manqué le cache CMask du CB. |
| Succès du cache FMask | CB\_PERF\_SEL\_FC\_CACHE\_HIT | Nombre de requêtes ayant trouvé les données dans le cache FMask du CB. |
| Défaut du cache FMask | CB\_PERF\_SEL\_FC\_CACHE\_SECTOR\_MISS | Nombre de requêtes ayant manqué le cache DCC du CB. |
| Succès du cache DCC | CB\_PERF\_SEL\_FC\_DCC\_CACHE\_HIT | Nombre de requêtes ayant trouvé les données dans le cache FMask du CB. |
| Défaut du cache DCC | CB\_PERF\_SEL\_FC\_DCC\_CACHE\_SECTOR\_MISS | Nombre de requêtes ayant manqué le cache DCC du CB. |

<a id="PixGpuTraceSpmCachingDepth" />

**Mise en cache : Profondeur**

| Mesure | Ensemble de compteurs | Description |
| - | - | - |
| Succès du cache de profondeur/gabarit | DB\_PERF\_SEL\_Depth\_Tile\_Cache\_hits | Nombre de requêtes ayant trouvé les données dans le cache de profondeur/gabarit du DB. |
| Défaut du cache de profondeur/gabarit | DB\_PERF\_SEL\_Depth\_Tile\_Cache\_misses | Nombre de requêtes ayant manqué le cache de profondeur/gabarit du DB. |
| Succès du cache des plans de profondeur | DB\_PERF\_SEL\_Plane\_Cache\_hits | Nombre de requêtes de plans de profondeur ayant trouvé les données dans le cache des plans de profondeur du DB. |
| Défaut du cache des plans de profondeur | DB\_PERF\_SEL\_Plane\_Cache\_misses | Nombre de requêtes de plans de profondeur ayant manqué le cache des plans de profondeur du DB. |
| Succès du cache HTile | DB\_PERF\_SEL\_Tile\_Cache\_hits | Nombre de requêtes HTile ayant trouvé les données dans le cache HTile du DB. |
| Défaut du cache HTile | DB\_PERF\_SEL\_Tile\_Cache\_misses | Nombre de requêtes HTile ayant manqué le cache HTile du DB. |
| Succès du cache PMask | DB\_PERF\_SEL\_Z\_Cache\_pmask\_hits | Nombre de requêtes d'index de profondeur (PMask) ayant trouvé les données dans le cache de profondeur/gabarit du DB. |
| Défaut du cache PMask | DB\_PERF\_SEL\_Z\_Cache\_pmask\_misses | Nombre de requêtes d'index de profondeur (PMask) ayant manqué le cache de profondeur/gabarit du DB. |
| Succès du cache de gabarit | DB\_PERF\_SEL\_Stencil\_Cache\_hits | Nombre de requêtes de gabarit ayant trouvé les données dans le cache de profondeur/gabarit du DB. |
| Défaut du cache de gabarit | DB\_PERF\_SEL\_Stencil\_Cache\_misses | Nombre de requêtes de gabarit ayant manqué le cache de profondeur/gabarit du DB. |
| Succès du cache Separate-Z | DB\_PERF\_SEL\_Z\_Cache\_separate\_Z\_hits | Nombre de requêtes Separate-Z ayant trouvé les données dans le cache de profondeur/gabarit du DB. |
| Défaut du cache Separate-Z | DB\_PERF\_SEL\_Z\_Cache\_separate\_Z\_misses | Nombre de requêtes Separate-Z ayant manqué le cache de profondeur/gabarit du DB. |

<a id="PixGpuTraceSpmCachingShaders" />

**Mise en cache : Nuanceurs**

| Mesure | Ensemble de compteurs | Description |
| - | - | - |
| Requêtes du cache d'instructions | SQC\_PERF\_SEL\_ICACHE\_REQ | Nombre de requêtes adressées au cache d'instructions du SQC (I\$). |
| Succès du cache d'instructions | SQC\_PERF\_SEL\_ICACHE\_HITS | Nombre de requêtes ayant trouvé les données dans le cache d'instructions du SQC (I\$). |
| Défaut du cache d'instructions | SQC\_PERF\_SEL\_ICACHE\_MISSES | Nombre de requêtes ayant manqué le cache d'instructions du SQC (I\$). |
| Requêtes du cache de données | SQC\_PERF\_SEL\_DCACHE\_REQ | Nombre de requêtes adressées au cache de données du SQC (D\$). |
| Succès du cache de données | SQC\_PERF\_SEL\_DCACHE\_HITS | Nombre de requêtes ayant trouvé les données dans le cache de données du SQC (D\$). |
| Défaut du cache de données | SQC\_PERF\_SEL\_DCACHE\_MISSES | Nombre de requêtes ayant manqué le cache de données du SQC (D\$). |

<a id="PixGpuTraceSpmGeometryClipping" />

**Géométrie : Découpage**

| Mesure | Ensemble de compteurs | Description |
| - | - | - |
| Primitives découpées (total) | PERF\_PAPC\_CLPR\_VVUCP\_CLIP\_PRIM | Nombre de primitives ayant nécessité une ou plusieurs opérations de découpage parce qu'elles coupent le volume de vue (frustum) ou des UPC. |
| Primitives découpées (frustum) | PERF\_PAPC\_CLPR\_VV\_CLIP\_PRIM | Nombre de primitives ayant nécessité une ou plusieurs opérations de découpage parce qu'elles coupent le volume de vue (frustum). |
| Primitives découpées (UCP) | PERF\_PAPC\_CLPR\_UCP\_CLIP\_PRIM | Nombre de primitives ayant nécessité une ou plusieurs opérations de découpage parce qu'elles coupent des UPC. |
| Primitives générées par le découpeur | PERF\_PAPC\_SU\_INPUT\_CLIP\_PRIM | Nombre de primitives produites par le découpeur et transmises au SU. |

<a id="PixGpuTraceSpmGeometryCulling" />

**Géométrie : Élimination**

| Mesure | Ensemble de compteurs | Description |
| - | - | - |
| Primitives éliminées (UCP) | PERF\_PAPC\_CLPR\_UCP\_CULL\_PRIM | Nombre de primitives éliminées par les UPC. |
| Primitives d'entrée (au niveau du PA) | PERF\_PAPC\_PA\_INPUT\_PRIM | Nombre de primitives entrant dans le PA. |
| Primitives visibles (au niveau du PA) | PERF\_PAPC\_CLSM\_TOTALLY\_VISIBLE\_PRIM | Nombre de primitives entièrement visibles (sans découpage). |
| Primitives éliminées (au niveau du PA) | PERF\_PAPC\_CLSM\_CULL\_TO\_NULL\_PRIM | Nombre de primitives éliminées pendant le processus de découpage du PA. |
| Primitives éliminées (au niveau du VTE) | PERF\_PAPC\_CLIPGA\_VTE\_KILL\_PRIM | Nombre de primitives éliminées par la logique NAN/INF du VTE (SV\_Position contenait des valeurs INF/NAN). |
| Primitives d'entrée (au niveau du SU) | PERF\_PAPC\_SU\_INPUT\_PRIM | Nombre de primitives entrant dans le SU. |
| Primitives d'entrée découpées (au niveau du SU) | PERF\_PAPC\_SU\_INPUT\_CLIP\_PRIM | Nombre de primitives découpées entrant dans le SU. |
| Élimination des faces arrière (au niveau du SU) | PERF\_PAPC\_SU\_BACK\_FACE\_CULL\_PRIM | Nombre de primitives de face arrière éliminées en raison de leur orientation. |
| Élimination des faces avant (au niveau du SU) | PERF\_PAPC\_SU\_FRONT\_FACE\_CULL\_PRIM | Nombre de primitives de face avant éliminées en raison de leur orientation. |
| Filtre des petites primitives (au niveau du SU) | PERF\_SU\_SMALL\_PRIM\_FILTER\_CULL\_CNT | Nombre de primitives éliminées par le filtre des petites primitives. Permet de mesurer la réduction du trafic inutile vers le SC. |
| Filtre de surface nulle (au niveau du SU) | PERF\_PAPC\_SU\_ZERO\_AREA\_CULL\_PRIM | Nombre de primitives éliminées en raison d'une surface nulle. |
| Primitives de sortie (au niveau du SU) | PERF\_PAPC\_SU\_OUTPUT\_PRIM | Nombre de primitives sortant du SU. |

<a id="PixGpuTraceSpmGeometryPrimitivesVertexes" />

**Géométrie : Primitives et vertex**

| Mesure | Ensemble de compteurs | Description |
| - | - | - |
| Primitives d'entrée GS | GE\_PERFCOUNT\_SEL\_SPI\_GSPRIM\_VALID | Nombre de primitives transmises au Geometry Shader. |
| Vertex VS | GE\_PERFCOUNT\_SEL\_SPI\_VSVERT\_SEND | Nombre de vertex traités par le Vertex Shader. Lorsque le GS est activé, il s'agit des vertex produits par le Geometry Shader. Lorsque la tessellation est activée, il s'agit des points de contrôle des patchs d'entrée du Hull Shader. |
| Points de contrôle des patchs de sortie HS | GE\_PERFCOUNT\_SEL\_SPI\_HSVERT\_VALID | Nombre de points de contrôle des patchs de sortie traités par le Hull Shader. |
| Réutilisation des vertex | GE\_PERFCOUNT\_SEL\_REUSED\_VS\_INDICES | Nombre d'index ayant trouvé les données dans le tampon de réutilisation des vertex (cache post-transformation). Exclut le GS et la tessellation. |

<a id="PixGpuTraceSpmGeometryStalls" />

**Géométrie : Blocages**

| Mesure | Ensemble de compteurs | Description |
| - | - | - |
| Blocage du cache de paramètres | GE\_PERFCOUNT\_SEL\_PC\_SPACE\_ZERO | Temps pendant lequel le GE ne peut pas lancer une nouvelle vague parce que le cache de paramètres n'a plus d'espace. |
| Blocage du tampon de positions | SPI\_PERF\_VS\_POS\[0,1]\_STALL | Temps pendant lequel le GE ne peut pas lancer une nouvelle vague parce que le cache de paramètres n'a plus d'espace. Indique un goulot d'étranglement après le VS, peut-être CULL/CLIP. Utilisez 0/1 pour sélectionner le SA 0 ou 1 sur chaque SE. |
| Blocage en ordre du SC | SC\_STARVED\_BY\_PA\_WITH\_UNSELECTED\_PA\_NOT\_EMPTY | Temps pendant lequel le SC est bloqué sur le PA en ordre, alors qu'une autre file d'attente de PA hors ordre est *prête*. Indique qu'une rastérisation hors ordre aurait lieu si elle était autorisée, et pourrait améliorer les performances. |
| Blocage en ordre extrême du SC | SC\_STARVED\_BY\_PA\_WITH\_UNSELECTED\_PA\_FULL | Temps pendant lequel le SC est bloqué sur le PA en ordre, alors qu'une autre file d'attente de PA hors ordre est *pleine*. Indique qu'une rastérisation hors ordre aurait lieu si elle était autorisée, et que le déséquilibre entre les PA est extrême. |

<a id="PixGpuTraceSpmLatencyCaches" />

**Latence : Caches**

| Mesure | Ensemble de compteurs | Description |
| - | - | - |
| TCP de bout en bout | TCP\_PERF\_SEL\_TCP\_LATENCY | Divisez par TCP\_PERF\_SEL\_TA\_REQ\_STATE\_READ pour obtenir la latence moyenne entre l'entrée d'une instruction dans le TCP et sa sortie. |
| TCP de bout en bout | TCP\_PERF\_SEL\_TCP\_LATENCY | Divisez par TCP\_PERF\_SEL\_TA\_REQ\_STATE\_READ pour obtenir la latence moyenne entre l'entrée d'une instruction dans le TCP et sa sortie. |
| Lecture L1 | TCP\_PERF\_SEL\_GL1\_READ\_LATENCY | Divisez par TCP\_PERF\_SEL\_GL1\_REQ\_READ pour obtenir la latence moyenne entre l'émission et la satisfaction d'une requête d'écriture du cache L1 vers le cache L2. Les données peuvent ou non être déjà présentes dans le cache L2. |
| Écriture L1 | TCP\_PERF\_SEL\_GL1\_WRITE\_LATENCY | Divisez par TCP\_PERF\_SEL\_GL1\_REQ\_WRITE pour obtenir la latence moyenne entre l'émission et la satisfaction d'une requête d'écriture du cache L1 vers le cache L2. Les données peuvent ou non rester dans le cache L2 par la suite. |
| Arbitrage L2 | GL2C\_PERF\_SEL\_GL2A\_LEVEL | Nombre de requêtes en cours vers le GL2A pour l'arbitrage de sortie. Divisez par GL2C\_PERF\_SEL\_REQ pour obtenir la latence moyenne de l'arbitrage GL2A. |
| Lecture L2 | GL2C\_PERF\_SEL\_MC\_RDREQ\_LEVEL | Nombre de requêtes de lecture GL2C/EA en cours. Divisez par GL2C\_PERF\_SEL\_MC\_RDREQ pour obtenir la latence moyenne entre l'émission et la satisfaction d'une requête de lecture du cache L2. |
| Écriture L2 | GL2C\_PERF\_SEL\_MC\_WRREQ\_LEVEL | Nombre de requêtes d'écriture GL2C/EA en cours. Divisez par GL2C\_PERF\_SEL\_MC\_WRREQ pour obtenir la latence moyenne entre l'émission et la satisfaction d'une requête de lecture du cache L2. |
| Lecture MDC | GL2C\_PERF\_SEL\_MDC\_LEVEL | Nombre de requêtes MDC en cours. Divisez par GL2C\_PERF\_SEL\_MDC\_REQ pour obtenir la latence moyenne entre l'émission et la satisfaction d'une requête de lecture du MDC. Il s'agit des lectures de clés DCC / HTile effectuées par le TCC dans le MDC. |

<a id="PixGpuTraceSpmLatencyColor" />

**Latence : Couleur**

| Mesure | Ensemble de compteurs | Description |
| - | - | - |
| Lecture de couleur | CB\_PERF\_SEL\_CM\_MC\_READ\_REQUESTS\_IN\_FLIGHT | Nombre de requêtes de lecture de couleur de 32 octets en cours. Divisez par CB\_PERF\_SEL\_CM\_MC\_READ\_REQUEST pour obtenir la latence moyenne entre l'émission et la satisfaction d'une requête de lecture de couleur. |
| Écriture de couleur | CB\_PERF\_SEL\_CM\_MC\_WRITE\_REQUESTS\_IN\_FLIGHT | Nombre de requêtes d'écriture de couleur de 32 octets en cours. Divisez par CB\_PERF\_SEL\_CM\_MC\_WRITE\_REQUEST pour obtenir la latence moyenne entre l'émission et la satisfaction d'une requête d'écriture de couleur. |
| Lecture CMask | CB\_PERF\_SEL\_CM\_MC\_READ\_REQUESTS\_IN\_FLIGHT | Nombre de requêtes de lecture CMask de 32 octets en cours. Divisez par CB\_PERF\_SEL\_CM\_MC\_READ\_REQUEST pour obtenir la latence moyenne entre l'émission et la satisfaction d'une requête de lecture CMask. |
| Écriture CMask | CB\_PERF\_SEL\_CM\_MC\_WRITE\_REQUESTS\_IN\_FLIGHT | Nombre de requêtes d'écriture CMask de 32 octets en cours. Divisez par CB\_PERF\_SEL\_CM\_MC\_WRITE\_REQUEST pour obtenir la latence moyenne entre l'émission et la satisfaction d'une requête d'écriture CMask. |
| Lecture FMask | CB\_PERF\_SEL\_FM\_MC\_READ\_REQUESTS\_IN\_FLIGHT | Nombre de requêtes de lecture FMask de 32 octets en cours. Divisez par CB\_PERF\_SEL\_FM\_MC\_READ\_REQUEST pour obtenir la latence moyenne entre l'émission et la satisfaction d'une requête de lecture FMask. |
| Écriture FMask | CB\_PERF\_SEL\_FM\_MC\_WRITE\_REQUESTS\_IN\_FLIGHT | Nombre de requêtes d'écriture FMask de 32 octets en cours. Divisez par CB\_PERF\_SEL\_FM\_MC\_WRITE\_REQUEST pour obtenir la latence moyenne entre l'émission et la satisfaction d'une requête d'écriture FMask. |
| Lecture de clé DCC | CB\_PERF\_SEL\_FC\_MC\_DCC\_READ\_REQUESTS\_IN\_FLIGHT | Nombre de requêtes de lecture de surface de clé DCC de 32 octets en cours. Divisez par CB\_PERF\_SEL\_FM\_MC\_READ\_REQUEST pour obtenir la latence moyenne entre l'émission et la satisfaction d'une requête de lecture de surface de clé DCC. |
| Écriture de clé DCC | CB\_PERF\_SEL\_FC\_MC\_DCC\_WRITE\_REQUESTS\_IN\_FLIGHT | Nombre de requêtes d'écriture de surface de clé DCC de 32 octets en cours. Divisez par CB\_PERF\_SEL\_FM\_MC\_WRITE\_REQUEST pour obtenir la latence moyenne entre l'émission et la satisfaction d'une requête d'écriture de surface de clé DCC. |

<a id="PixGpuTraceSpmLatencyDepth" />

**Latence : Profondeur**

| Mesure | Ensemble de compteurs | Description |
| - | - | - |
| Lecture de profondeur | DB\_PERF\_SEL\_mi\_quad\_rd\_outstanding\_sum | Multipliez par 16 et divisez par DB\_PERF\_SEL\_quad\_rd\_32byte\_reqs pour obtenir la latence moyenne entre l'émission et la satisfaction d'une requête de lecture du tampon de profondeur. Le compteur SUM s'incrémente par pas de 16 pour éviter un dépassement. |
| Écriture de profondeur | DB\_PERF\_SEL\_mi\_quad\_wr\_outstanding\_sum | Multipliez par 16 et divisez par DB\_PERF\_SEL\_quad\_wr\_sends pour obtenir la latence moyenne entre l'émission et la satisfaction d'une requête d'écriture du tampon de profondeur. Le compteur SUM s'incrémente par pas de 16 pour éviter un dépassement. |
| Lecture HTile | DB\_PERF\_SEL\_mi\_tile\_rd\_outstanding\_sum | Multipliez par 2 et divisez par DB\_PERF\_SEL\_tile\_rd\_sends pour obtenir la latence moyenne entre l'émission et la satisfaction d'une requête de lecture HTile (Hi-Z). Le compteur SUM s'incrémente par pas de 16 pour éviter un dépassement, tandis que le compteur RD\_SENDS émet 8 requêtes de 32 octets à la fois. |
| Écriture HTile | DB\_PERF\_SEL\_mi\_tile\_wr\_outstanding\_sum | Multipliez par 2 et divisez par DB\_PERF\_SEL\_tile\_wr\_sends pour obtenir la latence moyenne entre l'émission et la satisfaction d'une requête d'écriture HTile (Hi-Z). Le compteur SUM s'incrémente par pas de 16 pour éviter un dépassement, tandis que le compteur WR\_SENDS émet 8 requêtes de 32 octets à la fois. |

<a id="PixGpuTraceSpmLatencyGeometry" />

**Latence : Géométrie**

| Mesure | Ensemble de compteurs | Description |
| - | - | - |
| Export Shader | GE\_PERFCOUNT\_SEL\_ES\_DONE\_LATENCY | Divisez par GE\_PERFCOUNT\_SEL\_ES\_FLUSH pour obtenir la latence moyenne entre la soumission d'un vertex à l'Export Shader et son retour après ombrage. |
| Geometry Shader | GE\_PERFCOUNT\_SEL\_GS\_DONE\_LATENCY | Divisez par GE\_PERFCOUNT\_SEL\_GS\_DONE pour obtenir la latence moyenne entre la soumission d'une primitive au Geometry Shader et son retour après ombrage. |
| Hull Shader | GE\_PERFCOUNT\_SEL\_HS\_DONE\_LATENCY | Divisez par GE\_PERFCOUNT\_SEL\_HS\_DONE pour obtenir la latence moyenne entre la soumission d'un patch au Hull Shader et son retour après ombrage. |
| Local Shader | GE\_PERFCOUNT\_SEL\_LS\_DONE\_LATENCY | Divisez par GE\_PERFCOUNT\_SEL\_LS\_DONE pour obtenir la latence moyenne entre la soumission d'un vertex au Local Shader et son retour après ombrage. |

<a id="PixGpuTraceSpmMemoryBandwidth" />

**Mémoire : Bande passante**

| Mesure | Ensemble de compteurs | Description |
| - | - | - |
| Lecture DRAM | GL2C\_PERF\_SEL\_EA\_RDREQ\_DRAM\_32B | Nombre de requêtes de lecture de 32 octets vers le GL2C / EA dues au trafic DRAM. Cette mesure tient compte de toutes les extractions supplémentaires et de tous les effets de cache ou de mémoire. Multipliez par 32 pour obtenir le nombre d'octets lus. |
| Écriture DRAM | GL2C\_PERF\_SEL\_EA\_WRREQ\_DRAM\_32B | Nombre de requêtes d'écriture de 32 octets vers le GL2C / EA dues au trafic DRAM. Cette mesure tient compte de toutes les extractions supplémentaires et de tous les effets de cache ou de mémoire. Multipliez par 32 pour obtenir le nombre d'octets écrits. |
| Blocage DRAM | GL2C\_PERF\_SEL\_MC\_WRREQ\_STALL | Temps pendant lequel une requête d'écriture en mémoire est bloquée. |
| Lecture MDC | GL2C\_PERF\_SEL\_EA\_RD\_MDC\_32B | Nombre de requêtes d'écriture de 32 octets vers le GL2C / EA dues au trafic MDC. Il s'agit des lectures de clés DCC / HTile effectuées par le TCC dans le MDC. |

<a id="PixGpuTraceSpmMemoryColor" />

**Mémoire : Couleur**

<Note>
  Sur le GPU de la XBOX One, les caches du CB communiquaient directement avec la DRAM, tandis que sur le GPU de la XBOX Series X|S, les caches du CB alimentent le cache L1 dans le cadre de la hiérarchie de cache globale. Il existe un cache du CB pour Color, CMask, FMask et DCC Key.
</Note>

| Mesure | Ensemble de compteurs | Description |
| - | - | - |
| Lecture de couleur | CB\_PERF\_SEL\_CC\_MC\_READ\_REQUEST | Nombre de requêtes de lecture de couleur de 32 octets. Multipliez par 32 pour obtenir le nombre d'octets lus. |
| Écriture de couleur | CB\_PERF\_SEL\_CC\_MC\_WRITE\_REQUEST | Nombre de requêtes d'écriture de couleur de 32 octets. Multipliez par 32 pour obtenir le nombre d'octets écrits. |
| Lecture CMask | CB\_PERF\_SEL\_CM\_MC\_READ\_REQUEST | Nombre de requêtes de lecture CMask de 32 octets. Multipliez par 32 pour obtenir le nombre d'octets lus. |
| Écriture CMask | CB\_PERF\_SEL\_CM\_MC\_WRITE\_REQUEST | Nombre de requêtes d'écriture CMask de 32 octets. Multipliez par 32 pour obtenir le nombre d'octets écrits. |
| Lecture FMask | CB\_PERF\_SEL\_FM\_MC\_READ\_REQUEST | Nombre de requêtes de lecture FMask de 32 octets. Multipliez par 32 pour obtenir le nombre d'octets lus. |
| Écriture FMask | CB\_PERF\_SEL\_FM\_MC\_WRITE\_REQUEST | Nombre de requêtes d'écriture FMask de 32 octets. Multipliez par 32 pour obtenir le nombre d'octets écrits. |
| Lecture de clé DCC | CB\_PERF\_SEL\_FC\_MC\_DCC\_READ\_REQUEST | Nombre de requêtes de lecture de surface de clé DCC FMask de 32 octets. Multipliez par 32 pour obtenir le nombre d'octets lus. |
| Écriture de clé DCC | CB\_PERF\_SEL\_FC\_MC\_DCC\_WRITE\_REQUEST | Nombre de requêtes d'écriture de surface de clé DCC FMask de 32 octets. Multipliez par 32 pour obtenir le nombre d'octets écrits. |

<a id="PixGpuTraceSpmMemoryDepth" />

**Mémoire : Profondeur**

| Mesure | Ensemble de compteurs | Description |
| - | - | - |
| Lecture de profondeur | DB\_PERF\_SEL\_quad\_rd\_32byte\_reqs | Nombre de requêtes de lecture de 32 octets vers le tampon de profondeur/gabarit. Multipliez par 32 pour obtenir le nombre d'octets lus. |
| Écriture de profondeur | DB\_PERF\_SEL\_quad\_wr\_acks | Nombre de requêtes d'écriture de 32 octets vers le tampon de profondeur/gabarit. Multipliez par 32 pour obtenir le nombre d'octets écrits. |
| Lecture HTile | DB\_PERF\_SEL\_tile\_rd\_sends | Nombre de requêtes de lecture de 256 octets vers le HTile. Multipliez par 256 pour obtenir le nombre d'octets lus. |
| Écriture HTile | DB\_PERF\_SEL\_tile\_wr\_sends | Nombre de requêtes d'écriture de 256 octets vers le HTile. Multipliez par 256 pour obtenir le nombre d'octets écrits. |

<a id="PixGpuTraceSpmPixelsColor" />

**Pixels : Couleur**

| Mesure | Ensemble de compteurs | Description |
| - | - | - |
| Pixels dessinés | CB\_PERF\_SEL\_DRAWN\_QUAD\_FRAGMENT | Nombre de pixels dessinés. |
| Fragments de quads dessinés | CB\_PERF\_SEL\_DRAWN\_PIXEL | Nombre de fragments de quads dessinés. |
| Pixels de couleur lents | CB\_PERF\_SEL\_EXPORT\_32\_ABGR\_QUAD\_FRAGMENT | Nombre de pixels écrits dans le tampon de couleur à l'aide d'un format à demi-débit ou à quart de débit. L'envoi des données de couleur source de ces pixels prend deux cycles d'horloge. |
| Pixels exportés | SX\_PERF\_SEL\_DB\[0-3]\_PIXELS | Nombre de pixels exportés du nuanceur vers les tampons de couleur. N'inclut pas les pixels éliminés ou soumis au test alpha. S'il existe plusieurs cibles de rendu, chacune reçoit un export; cette valeur est donc de 2 pour 1 pixel écrit dans deux RT. |

<a id="PixGpuTraceSpmPixelsDepth" />

**Pixels : Profondeur**

| Mesure | Ensemble de compteurs | Description |
| - | - | - |
| Profondeur/gabarit occupé | DB\_PERF\_SEL\_Op\_Pipe\_Busy | Temps pendant lequel la profondeur et le gabarit sont occupés. Tous les pixels doivent passer par le DB pour écrire la couleur; ce compteur peut donc avoir des valeurs élevées même lorsque la profondeur et le gabarit sont désactivés. |
| Profondeur bloquée | DB\_PERF\_SEL\_DB\_CB\_lquad\_stalls | Temps pendant lequel le tampon de profondeur attend que le tampon de couleur soit prêt à accepter des données. Des valeurs élevées indiquent un goulot d'étranglement dans les opérations du tampon de couleur. Tous les pixels doivent passer par le DB pour écrire la couleur; ce compteur peut donc avoir des valeurs élevées même lorsque la profondeur et le gabarit sont désactivés. |

<a id="PixGpuTraceSpmPixelsEarlyZ" />

**Pixels : Early-Z**

| Mesure | Ensemble de compteurs | Description |
| - | - | - |
| Réussite Early-Z | DB\_PERF\_SEL\_PreZ\_Samples\_passing\_Z | Nombre d'échantillons soumis au test Z avant l'ombrage et l'ayant réussi. |
| Échec de profondeur Early-Z | DB\_PERF\_SEL\_PreZ\_Samples\_failing\_Z | Nombre d'échantillons soumis au test Z avant l'ombrage et ayant échoué au test Z. |
| Échec des limites de profondeur Early-Z | DB\_PERF\_SEL\_PreZ\_Samples\_failing\_DB | Nombre d'échantillons soumis au test Z avant l'ombrage et ayant échoué au test des limites de profondeur. |
| Échec de gabarit Early-Z | DB\_PERF\_SEL\_PreZ\_Samples\_failing\_S | Nombre d'échantillons soumis au test Z avant l'ombrage et ayant échoué au test de gabarit. |

<a id="PixGpuTraceSpmPixelsHiZ" />

**Pixels : Hi-Z**

| Mesure | Ensemble de compteurs | Description |
| - | - | - |
| Nombre de tuiles | DB\_PERF\_SEL\_SC\_DB\_tile\_tiles | Nombre de tuiles envoyées du SC au DB. |
| Total des acceptations Hi-Z | DB\_PERF\_SEL\_DB\_SC\_tile\_tile\_rate | Nombre de tuiles acceptées par Hi-Z qui ne nécessitent pas de test de profondeur ou de gabarit par pixel. |
| Total des rejets Hi-Z | DB\_PERF\_SEL\_DB\_SC\_tile\_hier\_kill | Nombre de tuiles rejetées par Hi-Z et retirées du pipeline. |
| Acceptations de profondeur Hi-Z | DB\_PERF\_SEL\_DB\_SC\_z\_tile\_rate | Nombre de tuiles traitées au débit des tuiles pour la profondeur, c'est-à-dire dont la totalité a réussi le test de profondeur et ne nécessite pas de test par pixel. |
| Rejets de profondeur Hi-Z | DB\_PERF\_SEL\_hiz\_tile\_culled | Nombre de tuiles rejetées par Hi-Z, car la totalité de la tuile est assurée d'échouer au test de profondeur. Exclut les tuiles qui échouent aussi au test de gabarit ou des limites de profondeur. |
| Rejets des limites de profondeur Hi-Z | DB\_PERF\_SEL\_depth\_bounds\_tile\_culled | Nombre de tuiles rejetées par Hi-Z, car la totalité de la tuile est assurée d'échouer au test des limites de profondeur. |
| Acceptations de gabarit Hi-Z | DB\_PERF\_SEL\_DB\_SC\_s\_tile\_rate | Nombre de tuiles traitées au débit des tuiles pour le gabarit, c'est-à-dire dont la totalité a réussi le test de gabarit et ne nécessite pas de test par pixel. S'applique uniquement lorsque l'opération de gabarit est un remplacement ou un NOP. |
| Rejets de gabarit Hi-Z | DB\_PERF\_SEL\_his\_tile\_culled | Nombre de tuiles rejetées par Hi-Z, car la totalité de la tuile est assurée d'échouer au test de gabarit. Exclut les tuiles qui échouent aussi au test des limites de profondeur. |

<a id="PixGpuTraceSpmPixelsLateZ" />

**Pixels : Late-Z**

| Mesure | Ensemble de compteurs | Description |
| - | - | - |
| Réussite Late-Z | DB\_PERF\_SEL\_PostZ\_Samples\_passing\_Z | Nombre d'échantillons soumis au test Z après l'ombrage et l'ayant réussi. |
| Échec de profondeur Late-Z | DB\_PERF\_SEL\_PostZ\_Samples\_failing\_Z | Nombre d'échantillons soumis au test Z après l'ombrage et ayant échoué au test Z. |
| Échec des limites de profondeur Late-Z | DB\_PERF\_SEL\_PostZ\_Samples\_failing\_DB | Nombre d'échantillons soumis au test Z après l'ombrage et ayant échoué au test des limites de profondeur. |
| Échec de gabarit Late-Z | DB\_PERF\_SEL\_PostZ\_Samples\_failing\_S | Nombre d'échantillons soumis au test Z après l'ombrage et ayant échoué au test de gabarit. |

<a id="PixGpuTraceSpmPixelsVrs" />

**Pixels : VRS**

| Mesure | Ensemble de compteurs | Description |
| - | - | - |
| Quads grossiers | DB\_PERF\_SEL\_DB\_CB\_lquad\_quads | Nombre de quads grossiers envoyés du DB au CB. |
| Quads grossiers | DB\_PERF\_SEL\_DB\_CB\_lquad\_quads\_vrs\_rate\_1x1 | Nombre de quads grossiers avec un taux VRS de 1x1 ou plus fin. |
| Quads grossiers | DB\_PERF\_SEL\_DB\_CB\_lquad\_quads\_vrs\_rate\_1x2 | Nombre de quads grossiers avec un taux VRS de 1x2. |
| Quads grossiers | DB\_PERF\_SEL\_DB\_CB\_lquad\_quads\_vrs\_rate\_2x1 | Nombre de quads grossiers avec un taux VRS de 2x2. |

<a id="PixGpuTraceSpmShadersGeneral" />

**Nuanceurs : Général**

| Mesure | Ensemble de compteurs | Description |
| - | - | - |
| Nombre de vagues | SQ\_PERF\_SEL\_WAVES | Nombre de vagues envoyées aux séquenceurs (SQ). |
| Nombre de threads | SQ\_PERF\_SEL\_ITEMS | Nombre de threads de toutes les vagues. |
| Quads de pixels | SQ\_PERF\_SEL\_QUADS | Nombre de quads de pixels entièrement ou partiellement couverts. |
| Exports | SQ\_PERF\_SEL\_INSTS\_EXP | Nombre d'instructions d'export. Les exports des nuanceurs de pixels incluent SV\_Target et SV\_Depth. Les exports des nuanceurs de vertex incluent SV\_Position et les interpolants. |
| Instructions GDS | SQ\_PERF\_SEL\_INSTS\_GDS | Nombre d'instructions Global Data Store (GDS) émises. |
| Instructions LDS | SQ\_PERF\_SEL\_INSTS\_LDS | Nombre d'instructions Local Data Store (LDS) émises. |

<a id="PixGpuTraceSpmShadersStalls" />

**Nuanceurs : Blocages**

| Mesure | Ensemble de compteurs | Description |
| - | - | - |
| Blocage de position du SX | SX\_PERF\_SEL\_SH\_POS\_STALL | Temps pendant lequel le SX est bloqué par le Primitive Assembler (PS). |
| Blocage de sortie du SX | SX\_PERF\_SEL\_SH\_COLOR\_STALL | Temps pendant lequel le SX est bloqué par au moins un DB. Une valeur non nulle indique un goulot d'étranglement dans le test Z tardif ou dans le tampon de couleur. |
| Blocage de position d'export du VS | SPI\_PERF\_VS\_POS\[0,1]\_STALL | Temps pendant lequel le Geometry Engine (GE) ne peut pas lancer une nouvelle vague parce que le cache de paramètres n'a plus d'espace. Indique un goulot d'étranglement après le VS, peut-être CULL/CLIP. Utilisez 0/1 pour sélectionner le Shader Array (SA) 0 ou 1 sur chaque Shader Engine (SE). |
| Conflit de banc LDS | SQC\_PERF\_SEL\_LDS\_BANK\_CONFLICT | Temps pendant lequel le Local Data Store (LDS) est bloqué par des conflits de banc. |

<a id="PixGpuTraceSpmShadersWaits" />

**Nuanceurs : Attentes**

| Mesure | Ensemble de compteurs | Description |
| - | - | - |
| Attente d'allocation d'export | SQ\_PERF\_SEL\_WAIT\_EXP\_ALLOC | Temps pendant lequel le nuanceur attend l'allocation d'espace dans les files d'attente d'export. |
| Attente d'émission d'export | SQ\_PERF\_SEL\_WAIT\_INST\_EXP\_GDS | Temps pendant lequel le nuanceur attend d'émettre des instructions d'export ou Global Data Store (GDS). |
| Attente de fin d'export | SQ\_PERF\_SEL\_WAIT\_CNT\_EXP | Temps pendant lequel le nuanceur attend la fin des instructions d'export. |
| Attente d'émission LDS | SQ\_PERF\_SEL\_WAIT\_INST\_LDS | Temps pendant lequel le nuanceur attend d'émettre des instructions Local Data Store (LDS). |
| Attente d'émission SMEM | SQ\_PERF\_SEL\_WAIT\_INST\_SCA | Temps pendant lequel le nuanceur attend d'émettre des instructions Scalar Memory (SMEM). |
| Attente d'exécution SMEM | SQ\_PERF\_SEL\_WAIT\_CNT\_LGKM | Temps pendant lequel le nuanceur attend le retour des instructions Scalar Memory (SMEM). |
| Attente d'émission VMEM | SQ\_PERF\_SEL\_WAIT\_INST\_VMEM | Temps pendant lequel le nuanceur attend d'émettre des instructions Vector Memory (VMEM). |
| Attente d'exécution VMEM | SQ\_PERF\_SEL\_WAIT\_CNT\_VMVS | Temps pendant lequel le nuanceur attend le retour des instructions Vector Memory (VMEM). |

<a id="PixGpuTraceSpmTexturesGeneral" />

**Textures : Général**

| Mesure | Ensemble de compteurs | Description |
| - | - | - |
| TA occupé | TA\_PERF\_SEL\_ta\_busy | Temps pendant lequel le Texture Addresser (TA) est occupé. |
| TA bloqué | TCP\_PERF\_SEL\_TCP\_TA\_REQ\_STALL | Temps pendant lequel le Texture Addresser (TA) est bloqué. Essayez si possible de réduire le nombre ou la taille des extractions et des écritures. |
| Requêtes de lecture | GL2C\_PERF\_SEL\_READ | Nombre de requêtes de lecture, y compris les lectures compressées et les lectures de métadonnées. |
| Lectures compressées TCC | GL2C\_PERF\_SEL\_COMPRESSED\_READ\_REQ | Nombre de lectures du Texture Cache Channel (TCC) portant sur des tuiles compressées par clé DCC / HTile. |
| Lectures compressées TCC | GL2C\_PERF\_SEL\_COMPRESSED\_READ\_0\_REQ | Nombre de lectures du Texture Cache Channel (TCC) portant sur des tuiles à effacement rapide par clé DCC / HTile (lecture de 0 octet de données compressées). |

Pour obtenir d'autres descriptions de compteurs, cliquez sur n'importe quel bloc du GPU ou compteur dans l'interface de sélection des compteurs.

<img src="https://mintcdn.com/microsoft-4404708b/cbgdF-D3rUKJ-fFH/images/gdk/tools/pix_gpu_trace_counter_description.png?fit=max&auto=format&n=cbgdF-D3rUKJ-fFH&q=85&s=c7a49ed636be7841b4f7f6a49ace9523" alt="Description des compteurs de GPU Trace" width="604" height="1000" data-path="images/gdk/tools/pix_gpu_trace_counter_description.png" />

<a id="PixGpuTraceGlossary" />

**Glossaire**

| Terme | Description | |
| - | - | - |
| CB | Color Block. Mélange et sortie de la couleur des pixels. | |
| CU | Compute Unit. Composée de deux SIMD. | |
| DB | Depth Stencil Block. Test et sortie de la profondeur et du gabarit des pixels. | |
| EA | Memory Access Efficiency Arbiter | |
| GE | Geometry Engine | |
| GL1A | Graphics Level1 Arbiter. Gère l'arbitrage pour le GL1C. | |
| GL1C | Graphics Level1 Cache. Partagé par tous les clients d'un SA. | |
| GL2A | Graphics Level2 Arbiter. Gère l'arbitrage pour le GL2C. | |
| GL2C | Graphics Level2 Cache (aussi appelé TCC). Toutes les données provenant de la mémoire sont accessibles par le GL2. | |
| MC | Memory Controller | |
| MDC | Metadata Cache | |
| PA | Primitive Assembler | |
| SIMD | Single Instruction Multiple Data. Exécute les vagues de nuanceur. | |
| SA | Shader Array. Composé de WGP sur XBOX Series X | S ou de CU sur XBOX One. |
| SC | Scan Converter | |
| SE | Shader Engine. Composé de SA. | |
| SQ | SeQuencer. Unité principale de planification des instructions dans le système de nuanceurs. | |
| SQC | SeQuencer Caches. Contient à la fois le cache d'instructions (I$) et le cache de données pour l'accès de l'unité scalaire (D$). | |
| SU | Setup Block. Reçoit les données de vertex des primitives. | |
| SX | Shader X-bar. Commutateur crossbar d'export des nuanceurs vers le CB et le DB. | |
| TCP | Texture Cache Pipe. Cache L0 d'un WGP. | |
| TCA | Texture Cache Artiber. Gère l'arbitrage pour le TCC. | |
| TCC | Texture Cache Channel | |
| UCP | User Clip Plane | |
| VTE | Viewport Transform Engine | |
| WGP | Work Group Processor. Composé de 2 CU. (XBOX Series X | S uniquement) |

## Voir aussi

[GPU Trace Capture](/fr-CA/tools/tools-console/pix/gpu-trace/pix-gpu-trace-capture)

[Analyser les performances du GPU](/fr-CA/tools/tools-console/pix/gpu/gpu-performance)

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


## Related topics

- [Captures PIX GPU Trace sur les consoles XBOX Series](/fr-CA/tools/tools-console/pix/gpu-trace/index.md)
- [Répertoire des rubriques NDA : liens actifs vers Microsoft Learn](/fr-CA/nda/nda-topic-directory.md)
- [Capture GPU et analyse des performances avec PIX](/fr-CA/tools/tools-console/pix/gpu/index.md)
- [Profilage de durabilité avec PIX](/fr-CA/build/game-principles/sustainability/sustainability-pix-guide.md)
- [PIX sur XBOX et Windows pour les titres GDK](/fr-CA/tools/tools-console/pix/index.md)
