Köşe belleği bant genişliği kullanımını analiz etme

Köşe verilerinin bellek bant genişliği, oyununuzun GPU performansında olası bir performans sorunu olabilir. AGI sistem profilinde tepe noktası bellek bant genişliği sorunlarını teşhis etmeye yardımcı olabilecek bazı sayaçlar vardır.

Qualcomm Adreno sayaçları

Qualcomm Adreno GPU'lara sahip cihazlarda önemli sayaçlardan bazıları şunlardır:

Karşı Teklif Açıklama
Vertex Bellek Okuma Harici bellekten okunan köşe verilerinin bant genişliği.
Ortalama Bayt/Vertex Köşe verilerinin ortalama boyutu (bayt cinsinden).
Köşe Getirme Durağı Yüzdesi GPU'nun tepe verilerinde engellendiği saat döngülerinin yüzdesi.

ARM Mali sayaçları (WIP)

ARM Mali GPU'lara sahip cihazlarda önemli sayaçlardan bazıları şunlardır:

Karşı Teklif Açıklama
Harici bellekten okuma ritimlerini yükle/depola Yükleme/depolama birimi tarafından harici bellekten okunan veri atışları. Gölgelendirici çekirdekleri üzerinden ortalaması alınır.
L2 önbellekten okuma ritimlerini yükle/depola Yükleme/depolama birimi tarafından L2 önbelleğinden okunan veri atışları, gölgelendirici çekirdeklere göre ortalaması alınır.
[Diğer]

Ortalama okuma atışlarından gelen toplam bant genişliğini hesaplamak için sayaç değeri, veri yolu genişliği (genellikle 16 bayt) ve gölgelendirici çekirdeklerin toplam sayısıyla çarpılır. [Diğer]

Karşıt analizi

Bu sayaçların davranışını ölçmek için tek bir GPU çerçevesi boyunca ortalama ve en yüksek bant genişliğini ölçebilirsiniz. Bu, ardışık bir GPU Kullanımı bloğuyla tanımlanabilir.

Tek bir kare için ortalama 327 MB/sn ve en yüksek değer 1, 16 GB/sn olan Vertex bellek okuma bant genişliği
Şekil 1: Tek bir kare için ortalama 327 MB/sn ve en yüksek değer 1, 16 GB/sn olan Vertex bellek okuma bant genişliği

En yüksek tepe tepe belleği okuma bant genişliğinin 1, 5 GB/sn'den yüksek olmaması ve ortalama bant genişliğinin 500 MB/sn'den yüksek olmaması önerilir. Daha yüksek değerler, birkaç yaygın sorundan birinin göstergesidir:

  • Verteks boyutu çok büyük: Köşelerin büyük köşe özellikleri veya çok sayıda köşe noktası özelliği olabilir ve bu, köşe gölgelendirme süresini genel olarak etkiler.
  • Vertex özellik akışları bölünmemiş: Vertex özellikleri, tek bir arabelleğe eklenmiş ve böylece önbellek verimliliği azalmış olacaktır.
  • Kare başına çok fazla köşe gönderildi: Karmaşık modeller ve/veya çok sayıda model daha fazla bant genişliği kullanabilir ve gölgelendirme daha uzun sürebilir.

Köşe boyutu sorunları, 32 bayttan veya köşe noktasından büyük olmamasını önerdiğimiz Ortalama Bayt / Köşe yolu aracılığıyla da teşhis edilebilir.

Ortalama 31, 3 bayt değerinde tek bir kare için ortalama köşe boyutu
Şekil 2: Ortalama 31, 3 bayt değerinde tek bir kare için ortalama tepe noktası boyutu

Bu sorunlardan hangisini yaşıyor olabileceğinizi teşhis etmenin en iyi yolu, köşe biçimlerini analiz etmek için bir çerçeve profili izi almaktır.