Android Performance Analyzer is the new recommended tool for profiling games. Learn more and get the public beta release in the
APA docs.
Google 会使用 AI 技术将内容翻译成您偏好的语言。AI 翻译可能包含错误。
分析顶点内存带宽用量
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
顶点数据的内存带宽可能会成为游戏 GPU 性能的瓶颈。AGI 系统配置文件中有一些计数器可以帮助诊断顶点内存带宽问题。
Qualcomm Adreno 计数器
在搭载 Qualcomm Adreno GPU 的设备上,一些值得注意的计数器包括:
| 计数器 |
说明 |
| 顶点内存读取 |
从外部内存读取的顶点数据的带宽。 |
| 平均字节/顶点数 |
顶点数据的平均大小(以字节为单位)。 |
| 顶点提取停顿 (%) |
GPU 阻塞顶点数据的时钟周期所占的百分比。 |
ARM Mali 计数器(正在开发中)
在搭载 ARM Mali GPU 的设备上,一些值得注意的计数器包括:
| 计数器 |
说明 |
| 从外部内存读取的加载/存储节拍数 |
加载/存储单元从外部内存读取的数据节拍数,按着色器核心取平均值。 |
| 从 L2 缓存读取的加载/存储节拍数 |
加载/存储单元从 L2 缓存读取的数据节拍数,按着色器核心取平均值。 |
| [更多] |
|
如需根据平均读取节拍数计算总带宽,请将计数器值乘以总线宽度(通常为 16 字节)和着色器核心总数。[更多]
计数器分析
如需衡量这些计数器的行为,您可以衡量单个 GPU 帧的平均带宽和峰值带宽,这些带宽可以用连续的 GPU 利用率 块来划分。
图 1: 单个帧的顶点内存读取带宽,平均值为 327 MBps,峰值为 1.16 GBps
我们建议峰值顶点内存读取带宽不超过 1.5 GBps,平均带宽不超过 500 MBps。较高的值表示存在以下几个常见问题之一:
- 顶点大小过大:顶点可能具有较大的顶点属性或大量的顶点属性,从而严重影响顶点着色时间。
- 顶点属性流未拆分:顶点属性交织到单个缓冲区中,降低了缓存效率。
- 每个帧提交的顶点过多:复杂的模型和/或大量的模型可能会占用更多带宽,并需要更长时间进行着色。
您还可以通过 Average Bytes / Vertex 轨道诊断顶点大小问题,我们建议该轨道的值不超过 32 字节或顶点。
图 2: 单个帧的平均顶点大小,平均值为 31.3 字节
诊断您可能面临的这些问题的最佳方法是进行帧配置文件跟踪,以分析顶点格式。
本页面上的内容和代码示例受内容许可部分所述许可的限制。Java 和 OpenJDK 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2026-05-19。
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["没有我需要的信息","missingTheInformationINeed","thumb-down"],["太复杂/步骤太多","tooComplicatedTooManySteps","thumb-down"],["内容需要更新","outOfDate","thumb-down"],["翻译问题","translationIssue","thumb-down"],["示例/代码问题","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2026-05-19。"],[],[]]