Hello guys,
I have a simple render app on Android with MALI T720 gpu.
This app will render a 3D map with some mountain and rivers.
When I drag the map the render thread will run with a high FPS like 60 fps.
When there is no any operation, the render thread will only update one time in one second.
I find, when render with high FPS, the VRAM will increase to a high value too, like 60mb.
When I stop drag, the VRAM will down to 30mb almost.
I check the vertex and shader, there is no extra value or function.
My question is whether the T720 gpu have some feature could improve it?
Any help to hit will be greate.
Thank you.
Hard to provide advice without a reproducer; there are many possible reasons for this.
* How are you measuring VRAM?
* Mali runs quite a deep pipeline (can multiple frames in flight) which can cause transient increases in memory due to buffering of geometry intermediates.
* If you're modifying a resource (texture or buffer) that is still referenced by an in-flight draw you might be getting copy-on-write / resource ghosting.
HTH, Pete
Thank you for your suggest.
I use 'adb shell dumpsys meminfo $PID | grep "GL mtrack" | grep -v "E" ' to read VRAM.
I will test more and try to find reason.
Hello Peter,
About this issue, I double check on my target again.
The operate still is render a lot of lines and areas on the window. The line or area will change every frames.
When I render it with low FPS, for example 1 FPS.
Use 'dumpsys meminfo $PID ' to check GL mtrack.
The value is 20mb.
Then I use a high FPS, like 10 FPS. Use 'dumpsys meminfo $PID ' to check GL mtrack,.
The value is almost 40mb.
Then I check the /d/malli/gpu_memory and /d/mali/mem/PID , the value is of gpu_memory and mem/PID is almost the same.
My question still is why FPS will affect gpu too much, whether I could get low VRAM with a high FPS?
Why the meminfo VRAM is higher than /d/mali/mem/PID , whether have some other VRAM I ignore?
Look forward to your reply.