顶点数据的内存带宽可能是游戏 GPU 性能的潜在瓶颈。AGI 系统分析中的一些计数器可以帮助诊断顶点内存带宽问题。
高通 Adreno 计数器
在配备高通 Adreno GPU 的设备上,一些值得注意的计数器包括
计数器 | 描述 |
---|---|
顶点内存读取 | 从外部内存读取的顶点数据的带宽。 |
平均字节/顶点 | 顶点数据的平均大小(以字节为单位)。 |
% 顶点获取停顿 | GPU 阻塞在顶点数据的时钟周期百分比。 |
ARM Mali 计数器 (WIP)
在配备 ARM Mali GPU 的设备上,一些值得注意的计数器包括
计数器 | 描述 |
---|---|
从外部内存加载/存储读取节拍 | 加载/存储单元从外部内存读取的数据节拍,平均分布在着色器核心上。 |
从 L2 缓存加载/存储读取节拍 | 加载/存储单元从 L2 缓存读取的数据节拍,平均分布在着色器核心上。 |
[更多] |
若要从平均读取节拍计算总带宽,计数器值将乘以总线宽度(通常为 16 字节)和着色器核心的总数。[更多]
计数器分析
若要衡量这些计数器的行为,可以测量单个 GPU 帧期间的平均带宽和峰值带宽,这可以通过连续的 **GPU 利用率** 块来划分。
建议峰值顶点内存读取带宽不超过 1.5 GBps,平均带宽不超过 500 MBps。较高的值表明存在以下几个常见问题之一
- 顶点大小太大:顶点可能具有较大的顶点属性或大量的顶点属性,这会影响大型顶点着色时间。
- 顶点属性流未分割:顶点属性交织到单个缓冲区中,降低了缓存效率。
- 每帧提交的顶点过多:复杂的模型和/或大量模型可能会占用更大的带宽,并且着色时间更长。
也可以通过 平均字节 / 顶点 轨迹诊断顶点大小问题,建议该轨迹不超过 32 字节或顶点。
诊断所面临问题的最佳方法是进行帧分析跟踪以 分析顶点格式。