頂點資料的記憶體頻寬可能會成為遊戲 GPU 效能的瓶頸。AGI 系統設定檔中有幾個計數器可協助診斷頂點記憶體頻寬問題。
Qualcomm Adreno 計數器
在搭載 Qualcomm Adreno GPU 的裝置上,一些值得注意的計數器包括:
| 計數器 | 說明 |
|---|---|
| Vertex 記憶體讀取 | 從外部記憶體讀取的頂點資料頻寬。 |
| 平均位元組/頂點 | 頂點資料的平均大小 (以位元組為單位)。 |
| % Vertex Fetch Stall | GPU 因頂點資料而遭到封鎖的時脈週期百分比。 |
ARM Mali 計數器 (開發中)
在搭載 ARM Mali GPU 的裝置上,一些值得注意的計數器包括:
| 計數器 | 說明 |
|---|---|
| 從外部記憶體載入/儲存讀取節拍 | 由載入/儲存單元從外部記憶體讀取的資料節拍,在著色器核心中平均。 |
| 從 L2 快取載入/儲存讀取節拍 | 負載/儲存單元從 L2 快取讀取的資料節拍,在著色器核心中平均分配。 |
| [更多] |
如要根據平均讀取節拍計算整體頻寬,請將計數器值乘以匯流排寬度 (通常為 16 個位元組) 和著色器核心總數。[更多]
計數器分析
如要測量這些計數器的行為,您可以測量單一 GPU 影格期間的平均和尖峰頻寬,這可透過連續的「GPU 使用率」區塊劃分。
建議尖峰頂點記憶體讀取頻寬不超過 1.5 Gbps,平均頻寬不超過 500 MB/秒。值越高,表示可能出現下列常見問題:
- 頂點大小過大:頂點可能具有大型頂點屬性或大量頂點屬性,大幅影響頂點著色時間。
- 頂點屬性串流未分割:頂點屬性會交錯插入單一緩衝區,降低快取效率。
- 每個影格提交的頂點過多:複雜模型和/或大量模型可能會佔用更多頻寬,且需要較長時間才能著色。
您也可以透過「每個頂點的平均位元組數」軌跡診斷頂點大小問題,建議不要超過 32 個位元組或頂點。
如要診斷您可能面臨的問題,最好的方法是擷取影格設定檔追蹤記錄,以分析頂點格式。