顶点数据的内存带宽可能是游戏 GPU 性能的潜在瓶颈。AGI 系统配置文件中的一些计数器可以帮助诊断顶点内存带宽问题。
Qualcomm Adreno 计数器
在搭载 Qualcomm Adreno GPU 的设备上,一些值得注意的计数器包括
计数器 | 说明 |
---|---|
顶点内存读取 | 从外部内存读取顶点数据的带宽。 |
平均字节数/顶点 | 顶点数据的平均大小,以字节为单位。 |
顶点提取停顿百分比 | GPU 在顶点数据上被阻塞的时钟周期百分比。 |
ARM Mali 计数器(WIP)
在搭载 ARM Mali GPU 的设备上,一些值得注意的计数器包括
计数器 | 说明 |
---|---|
从外部内存加载/存储读取拍数 | 加载/存储单元从外部内存读取的数据拍数,在着色器核心上取平均值。 |
从 L2 缓存加载/存储读取拍数 | 加载/存储单元从 L2 缓存读取的数据拍数,在着色器核心上取平均值。 |
[更多] |
要从平均读取拍数计算总体带宽,计数器值乘以总线宽度(通常为 16 字节)和着色器核心总数。[更多]
计数器分析
为了衡量这些计数器的行为,您可以测量单个 GPU 帧期间的平均和峰值带宽,这可以通过连续的 GPU 利用率块来划分。

我们建议顶点内存读取带宽峰值不高于 1.5 GBps,平均带宽不高于 500 MBps。较高的值表示以下几个常见问题之一:
- 顶点大小过大:顶点可能具有大型顶点属性或大量顶点属性,这会大范围影响顶点着色时间。
- 顶点属性流未拆分:顶点属性交错到一个缓冲区中,降低了缓存效率。
- 每帧提交的顶点过多:复杂的模型和/或大量模型可能会占用更多带宽,并需要更长的着色时间。
顶点大小问题也可以通过“平均字节数/顶点”轨道进行诊断,我们建议该值不高于 32 字节或顶点数。

诊断您可能面临的这些问题的最佳方法是进行帧配置文件跟踪,以分析顶点格式。