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

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

Qualcomm Adreno sayaçları

Qualcomm Adreno GPU'lu cihazlarda öne çıkan bazı sayaçlar şunlardır:

Tezgah Açıklama
Vertex Memory Read Harici bellekten okunan köşe verilerinin bant genişliği.
Ortalama Bayt/Köşe Köşe verilerinin ortalama boyutu (bayt cinsinden).
% Vertex getirme duraklaması GPU'nun köşe verilerinde engellendiği saat döngülerinin yüzdesi.

ARM Mali sayaçları (devam ediyor)

ARM Mali GPU'lu cihazlarda dikkat çeken bazı sayaçlar şunlardır:

Tezgah Açıklama
Harici bellekten okunan vuruşları yükleme/depolama Yükleme/saklama birimi tarafından harici bellekten okunan ve gölgelendirici çekirdekleri üzerinde ortalaması alınan veri bitleri.
L2 önbelleğinden okunan vuruşları yükleme/depolama Yükleme/depolama birimi tarafından L2 önbelleğinden okunan veri birimleri, gölgelendirici çekirdekleri üzerinde ortalaması alınarak hesaplanır.
[Diğer]

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

Karşı analiz

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, bitişik bir GPU kullanımı bloğuyla sınırlandırılabilir.

Tek bir kare için Vertex bellek okuma bant genişliği. Ortalama değeri 327 MB/sn, en yüksek değeri ise 1,16 GB/sn'dir.
Şekil 1: Tek bir kare için Vertex bellek okuma bant genişliği. Ortalama değer 327 MB/sn, en yüksek değer ise 1,16 GB/sn'dir.

En yüksek tepe noktası bellek okuma bant genişliğinin 1,5 GB/sn'den, ortalama bant genişliğinin ise 500 MB/sn'den yüksek olmamasını öneririz. Yüksek değerler, birkaç yaygın sorundan birinin göstergesidir:

  • Köşe boyutu çok büyük: Köşeler, büyük köşe özelliklerine veya çok sayıda köşe özelliğine sahip olabilir. Bu durum, köşe gölgelendirme süresini büyük ölçüde etkiler.
  • Köşe özelliği akışları bölünmüyor: Köşe özellikleri tek bir arabelleğe yerleştirilerek önbellek verimliliği azaltılıyor.
  • 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 işlemi daha uzun sürebilir.

Köşe boyutu sorunları, Ortalama Bayt / Köşe izleme metriğiyle de teşhis edilebilir. Bu metriğin 32 bayt veya köşeden yüksek olmaması önerilir.

Tek bir kare için ortalama köşe boyutu (ortalama değer: 31, 3 bayt)
Şekil 2: Tek bir kare için ortalama köşe boyutu (ortalama değer 31, 3 bayt)

Bu sorunlardan hangisiyle karşılaşıyor olabileceğinizi teşhis etmenin en iyi yolu, köşe biçimlerini analiz etmek için bir kare profili izi almaktır.