I use Performance Advisor (PA) to optimize my game. By the way, in PA, I can set performance budgets, but I don't know how to set an appropriate level for some budgets.
For example, for GPU cycles budget case, I can calculate the absolute limit of GPU cost per frame for : GPU top frequency/Frame rate = Maximum GPU cycles per frame.
So what about shader-cycles-budget (Shader cycles per frame) and cpu-cycles-budget (CPU cycles per frame)? I don't know exactly what 'Shader cycles per frame' means, so I can't calculate the value, and mobile processor has multiple multi-core cpu, and the frequency is different.
Anyone know more about this?
If you apply the template in the Timeline too (not just counter configuration) you should get the same chart that I show above.
Peter Harris said:For memory bandwidth aim for a total that keeps your game under ~4GB/s total bandwidth.
Could you please explain why the 4GB limit is? Is there any article on this that I can refer to?
Your answers always help me a lot. Thank you!
A common entry-level memory system for mobile is capable of ~6.4GB/s (peak DRAM performance). DRAM performance drops a lot under high load, so under realistic usage you want to aim for ~60% of the peak performance. This gives the ~4GB/s target.
For high-end systems you have much faster DRAM performance (latest phones are often quoted with > 30GB/s). However accessing DRAM is very power hungry. A useful rule of thumb is ~80mW/GB/s for memory system+DRAM power, so 30GB/s is over 2 Watts of memory power. This is unlikely to be thermally sustainable. For these high-end systems you can definitely use more than 4GB/s, but < 8GB/s is still a very sensible target for energy efficiency reasons.
That's good advice I need.