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?
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.