Analizowanie wykorzystania przepustowości pamięci wierzchołka

Przepustowość pamięci danych wierzchołków może być potencjalnym wąskim gardłem wydajności procesora graficznego w Twojej grze. W profilu systemu AGI znajdują się liczniki, które mogą pomóc w diagnozowaniu problemów z przepustowością pamięci wierzchołków.

Liczniki Qualcomm Adreno

Na urządzeniach z procesorami graficznymi Qualcomm Adreno do ważnych liczników należą:

Kontroferta Opis
Odczyt pamięci wierzchołka Przepustowość danych wierzchołków odczytywanych z pamięci zewnętrznej.
Średnia liczba bajtów na wierzchołek Średni rozmiar danych wierzchołków w bajtach.
% Vertex Fetch Stall Odsetek cykli zegara, w których procesor graficzny jest blokowany przez dane wierzchołków.

Liczniki ARM Mali (w trakcie opracowywania)

Na urządzeniach z procesorami GPU ARM Mali do ważnych liczników należą:

Kontroferta Opis
Wczytywanie/zapisywanie odczytanych bitów z pamięci zewnętrznej Dane odczytywane z pamięci zewnętrznej przez jednostkę wczytywania/zapisywania, uśrednione w rdzeniach cieniowania.
Wczytywanie/zapisywanie odczytanych bloków z pamięci podręcznej L2 Dane odczytane z pamięci podręcznej L2 przez jednostkę wczytywania/zapisywania, uśrednione w rdzeniach cieniowania.
[Więcej]

Aby obliczyć ogólną przepustowość na podstawie średniej liczby odczytów, wartość licznika jest mnożona przez szerokość magistrali (zwykle 16 bajtów) i łączną liczbę rdzeni cieniowania. [Więcej]

Analiza kontr

Aby zmierzyć zachowanie tych liczników, możesz zmierzyć średnią i szczytową przepustowość w ciągu jednej klatki GPU, którą można wyznaczyć za pomocą ciągłego bloku wykorzystania GPU.

Przepustowość odczytu pamięci wierzchołków dla pojedynczej klatki, ze średnią wartością 327 MB/s i wartością szczytową 1,16 GB/s.
Rysunek 1. Przepustowość odczytu pamięci wierzchołków dla pojedynczej klatki, ze średnią wartością 327 MB/s i wartością szczytową 1,16 GB/s

Zalecamy maksymalną przepustowość odczytu pamięci wierzchołków nie większą niż 1,5 GB/s, a średnią przepustowość nie większą niż 500 MB/s. Wyższe wartości wskazują na jeden z kilku typowych problemów:

  • Rozmiar wierzchołka jest zbyt duży: wierzchołki mogą mieć duże atrybuty lub dużą liczbę atrybutów, co wpływa na czas cieniowania wierzchołków.
  • Strumienie atrybutów wierzchołków nie są rozdzielone: atrybuty wierzchołków są przeplatane w jednym buforze, co zmniejsza wydajność pamięci podręcznej.
  • Zbyt wiele wierzchołków przesłanych na klatkę: złożone modele lub duża liczba modeli mogą zajmować więcej przepustowości i dłużej się cieniować.

Problemy z rozmiarem wierzchołków można też diagnozować za pomocą ścieżki Średnia liczba bajtów na wierzchołek, która nie powinna przekraczać 32 bajtów lub wierzchołków.

Średni rozmiar wierzchołka w jednej klatce, średnia wartość to 31,3 bajtów.
Ilustracja 2. Średni rozmiar wierzchołka w przypadku pojedynczej klatki, ze średnią wartością 31,3 bajtów

Najlepszym sposobem na zdiagnozowanie, który z tych problemów występuje, jest wykonanie śledzenia profilu klatki w celu analizy formatów wierzchołków.