I’m profiling our game and find that the main memory bandwidth of several passes are extremely high on ipnoe x.
For example below is the counters captured by Xcode:
I only checked the BloomSetup pass, the input texture is the scene color texture with format RGBA16F and size 910 x 420. And the shader of this pass is very simple, it will down sample the scene color texture and output a 228x105 texture:
Assuming the game is run at 60 fps, so we have around 910 x 420 x 8 x 60 / (1000 x 1000) = 183MB per seconds, which is far less than the 9.38GiB/seconds bandwidth.
Can somebody kindly tell me what might cause the high memory bandwidth? Thanks in advance.
PS: when I run the game on iphone, it will warm the phone quickly and trigger thermal throttling so I think there is likely bandwidth issue and the data from the xcode gpu frame capture is plausible.