Köşe belleği bant genişliği kullanımını analiz etme
Koleksiyonlar ile düzeninizi koruyun
İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.
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:
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.
Ş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.
Ş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.
Bu sayfadaki içerik ve kod örnekleri, İçerik Lisansı sayfasında açıklanan lisanslara tabidir. Java ve OpenJDK, Oracle ve/veya satış ortaklarının tescilli ticari markasıdır.
Son güncelleme tarihi: 2025-07-27 UTC.
[[["Anlaması kolay","easyToUnderstand","thumb-up"],["Sorunumu çözdü","solvedMyProblem","thumb-up"],["Diğer","otherUp","thumb-up"]],[["İhtiyacım olan bilgiler yok","missingTheInformationINeed","thumb-down"],["Çok karmaşık / çok fazla adım var","tooComplicatedTooManySteps","thumb-down"],["Güncel değil","outOfDate","thumb-down"],["Çeviri sorunu","translationIssue","thumb-down"],["Örnek veya kod sorunu","samplesCodeIssue","thumb-down"],["Diğer","otherDown","thumb-down"]],["Son güncelleme tarihi: 2025-07-27 UTC."],[],[],null,["# Analyze vertex memory bandwidth usage\n\nThe memory bandwidth of vertex data can be a potential bottleneck for your game's GPU performance. There are some counters in an AGI system profile that can help diagnose vertex memory bandwidth issues.\n\nQualcomm Adreno counters\n------------------------\n\nOn devices with Qualcomm Adreno GPUs, some notable counters include:\n\n| Counter | Description |\n|----------------------|---------------------------------------------------------------------|\n| Vertex Memory Read | Bandwidth of vertex data read from external memory. |\n| Average Bytes/Vertex | Average size of vertex data, in bytes. |\n| % Vertex Fetch Stall | Percentage of clock cycles where the GPU is blocked on vertex data. |\n\nARM Mali counters (WIP)\n-----------------------\n\nOn devices with ARM Mali GPUs, some notable counters include:\n\n| Counter | Description |\n|--------------------------------------------|----------------------------------------------------------------------------------------------|\n| Load/store read beats from external memory | Data beats read from external memory by the load/store unit, averaged over the shader cores. |\n| Load/store read beats from L2 cache | Data beats read from the L2 cache by the load/store unit, averaged over the shader cores. |\n| \\[More\\] | |\n\nTo calculate the overall bandwidth from average read beats, the counter value is multiplied by the bus width (typically 16 bytes) and by the total number of shader cores. \\[More\\]\n\nCounter analysis\n----------------\n\nTo measure the behavior of these counters, you can measure the average and peak\nbandwidth over the course of a single GPU frame, which can be delineated with a\ncontiguous block of **GPU Utilization**.\n**Figure 1:**Vertex memory read bandwidth for a single frame, with an average value of 327 MBps and a peak value of 1.16 GBps\n\nWe recommend a peak vertex memory read bandwidth of no higher than 1.5 GBps, and an average bandwidth no higher than 500 MBps. Higher values are indicators of one of a few common issues:\n\n- **Vertex size is too big**: Vertices may have large vertex attributes or a large number of vertex attributes, affecting vertex shading time at large.\n- **Vertex attribute streams are not split**: Vertex attributes are interleaved into a single buffer, reducing cache efficiency.\n- **Too many vertices submitted per frame**: Complex models and/or a large number of models may take up greater bandwidth and take longer to shade.\n\nVertex size issues may also be diagnosed through the **Average Bytes / Vertex**\ntrack, which we recommend to be no higher than 32 bytes or verteces.\n**Figure 2:**Average vertex size for a single frame, with an average value of 31.3 bytes\n\nThe best way to diagnose which of these problems you may be facing is by taking a frame profile trace to [analyze vertex formats](/agi/frame-trace/vertex-formats)."]]