ARM GPU Shader-core 的使用率统计
2023-06-19 本文已影响0人
陈成_Adam
ARM GPU Execution core 的使用率的计算公式为,
SC.EXEC_CORE_UTILIZATION = SC.EXEC_CORE_ACTIVE / JM.GPU_ACTIVE
该计数器的值如果偏低,则代表有性能损失。可能导致该计数器的值偏低的情形有很多种,其中最常见的是:待渲染的 Tile 中没有任何片段需要被渲染,例如,
-
对屏幕区域的 Clear 操作
-
屏幕区域包含大量的图元,且只更新他们的深度模板信息,且启用 Early-zs
-
屏幕区域的图元按照从前(距离眼睛近)往后(距离眼睛远)的顺序给出,并且前面的图元覆盖后面的图元,那么被覆盖的部分会被 Early-zs 剔除。如果加载这些被覆盖的图元信息的耗时大于渲染可见图元的耗时,那么就会出现 Shader core 的空闲现象
-
屏幕区域的图元按照从后(距离眼睛远)往前(距离眼睛近)的顺序给出,并且触发了 Forward Pixel Kill。详细参看 Killing Pixels - A New Optimization for Shading on ARM Mali GPUs.