Analyser l'utilisation de la bande passante de la mémoire des données de sommets

La bande passante de la mémoire des données de sommets peut être un goulot d'étranglement potentiel pour les performances du GPU de votre jeu. Certains compteurs d'un profil système AGI peuvent vous aider à diagnostiquer les problèmes de bande passante de la mémoire des sommets.

Compteurs Qualcomm Adreno

Sur les appareils équipés de GPU Qualcomm Adreno, certains compteurs notables incluent les suivants :

Compteur Description
Lecture de la mémoire des sommets Bande passante des données de sommets lues à partir de la mémoire externe.
Nombre moyen d'octets par sommet Taille moyenne des données de sommets, en octets.
% de décrochage de la récupération des sommets Pourcentage de cycles d'horloge pendant lesquels le GPU est bloqué sur les données de sommets.

Compteurs ARM Mali (en cours de développement)

Sur les appareils équipés de GPU ARM Mali, certains compteurs notables incluent les suivants :

Compteur Description
Battements de lecture de chargement/stockage à partir de la mémoire externe Battements de données lus à partir de la mémoire externe par l'unité de chargement/stockage, moyennés sur les cœurs de shader.
Battements de lecture de chargement/stockage à partir du cache L2 Battements de données lus à partir du cache L2 par l'unité de chargement/stockage, moyennés sur les cœurs de shader.
[Plus d'informations]

Pour calculer la bande passante globale à partir des battements de lecture moyens, la valeur du compteur est multipliée par la largeur du bus (généralement 16 octets) et par le nombre total de cœurs de shader. [Plus d'informations]

Analyse des compteurs

Pour mesurer le comportement de ces compteurs, vous pouvez mesurer la bande passante moyenne et maximale sur une seule image GPU, qui peut être délimitée par un bloc contigu d'utilisation du GPU.

Bande passante de lecture de la mémoire des sommets pour un seul frame, avec une valeur moyenne de 327 Mbits/s et une valeur maximale de 1,16 Gbits/s
Figure 1 : Bande passante de lecture de la mémoire des sommets pour une seule image, avec une valeur moyenne de 327 Mo/s et une valeur maximale de 1,16 Go/s

Nous recommandons une bande passante de lecture de la mémoire des sommets maximale de 1, 5 Go/s et une bande passante moyenne maximale de 500 Mo/s. Des valeurs plus élevées indiquent l'un des problèmes courants suivants :

  • Taille des sommets trop importante : les sommets peuvent avoir des attributs volumineux ou un grand nombre d'attributs, ce qui affecte considérablement le temps d'ombrage des sommets.
  • Flux d'attributs de sommets non divisés : les attributs de sommets sont entrelacés dans un seul tampon, ce qui réduit l'efficacité du cache.
  • Trop de sommets envoyés par image : les modèles complexes et/ou un grand nombre de modèles peuvent consommer plus de bande passante et prendre plus de temps à ombrer.

Les problèmes de taille des sommets peuvent également être diagnostiqués via la piste Nombre moyen d'octets par sommet, que nous recommandons de ne pas dépasser 32 octets ou sommets.

Taille moyenne des sommets pour une seule frame, avec une valeur moyenne de 31,3 octets
Figure 2 : Taille moyenne des sommets pour une seule image, avec une valeur moyenne de 31,3 octets

Pour diagnostiquer le problème que vous rencontrez, le meilleur moyen consiste à effectuer une trace de profil d'image afin d'analyser les formats de sommets.