Hi, i'm using streamline to profiler our game's gpu performance. My device is Mali-G77MC9, so i followed this guide: mali-g77-counters.In "Shader data path utilization" section, i found the "Fragment FPK buffer active percentage" expression gives a high value
Fragment FPK buffer active percentage: 92%
This expression defines the percentage of cycles where the forward pixel kill (FPK) quad buffer, before the execution core, contains at least one quad. I assume we should keep this percentage as low as possible? Because it indicates we took a lot of shader core power to compute useless Quads. Is this correct?
min(($MaliCoreCyclesFragmentFPKBActive / $MaliCoreCyclesFragmentActive) * 100, 100)
min((24.3/26.3)*100, 100)=92%
Execution core utilization:98%
min(($MaliCoreCyclesExecutionCoreActive / $MaliGPUCyclesGPUActive) * 100, 100)
min((29.6/30.7)*100,100)=98%
Execution core utilization looks good, because we did have a lot of shader instructions to run.
But i don't understand why Fragment FPK buffer active percentage is so high(92%).
Dose this mean our content takes too much time in FPK Buffer section? Because FPK kills a lot of Quads?
And geometry culling expressions did show there's a lot of geometries are killed by hardware culling unit.
Total input primitives:923K
Total culled primitives:620K
Visible primitives after culling:33%
Facing or XY plane test cull rate:42%
Z plane test cull rate:16%
Sample test cull rate:32%
Does this mean i should do something to lower geometry culling rate, is this related to "Fragment FPK buffer active percentage"?
What should i do to lower "Fragment FPK buffer active percentage"?
Thank you for your detailed answer.