CPU spikes in mali-cmar-backend thread


We've recently encountered a performance problem in our unity game and I suspect that the reason was the CPU spikes in mali-cmar-backend thread. 

As you can see from UnityMain thread and GpuCompeletion,  there is no CPU Bound or GPU Bound in this test scene. The camera position is fixed in this test, and the GPU pressure should be the same in the whole systrace.

So the only clue seems to be this spike in the mali-cmar-backend thread. I tried googling mali-cmar-backend, but very little results was found, and they are not very helpful. So I wonder if I can have some information here, mainly about these two question:

1. What is this mali-cmar-backend thread? Is this CMAR the abbreviation of Control Memory Address Register?

2. What may cause this strange spikes in this thread?

Sorry about the broad questions, any ideas or keywords for me to dig into will be very helpful. Thanks in advance!

Additional Information:

Our game is using a ton of uniform/UBO (likely far over 8k), which had caused some rendering problem on other devices eariler. Not sure if this is related to this issue.

We can reproduce this problem on a Exynos 2100 (Mali-G78) device and a kirin 820 (Mali-G77) device, but not all Mali GPUs have this problem. 

We are using OpenGL ES 3.2.

Parents Reply Children
No data