Dear ARM forum,
I am using the DS-5 Streamline to analyze my application performance on ARM MALI 400.
I am seeing that, GPU vertext processor activity for 3 milliseconds followed by a in-active period of 13 milliseconds then followed by 34 milliseconds GPU pixel proessor activity.
Questions:
1. I am trying to under stand , why there a so much of in-active period? How can I analyze this period for the performance impact?
2. Streamline has provided many performance measuring events, but there is a very poor documentation on , what is this event capturing and how to make use of it for GPU performance analysis?
3. I want to measure the GPU Vertex processor performance in - How many triangles it is processing in one frame, how much time it consumed for that.
GPU Pixel processor performance in - How many pixels processed in one frame,how much time it consumed for that.
4. Is there a document to discuss on analyzing all the events for performance analysis.
Thanks,
Ravinder Are
Hi Ravinder,
Can I please get more information from you in order to help.
Which device are you testing this on? What version of the driver? What version of DS-5? What OS is running and what version?
In addition, are you able to export and update the streamline capture so I can inspect it to see if there is something obvious happening?
Are you seeing similar length of inactivity on other devices, whether mali based or not?
Regarding documentation, I agree there is a lot of room for improvement. I can only say that this tool primarily targets silicon partners and OEMs. For developers, this tool is trickier to use due to some assumed knowledge and access to sources. However we are always continually improving our tools and documentation to make them more accessible to everyone.
To answer your other questions in more detail, I will first need the above questions answered.
Kind Regards,
Michael McGeagh
GPU vertex processor activity for 3 milliseconds followed by a in-active period of 13 milliseconds then followed by 34 milliseconds GPU pixel processor activity.
If you are debugging the inactive period, why do you think the GPU performance counters are going to help? If the GPU is inactive, then by definition all of the GPU counters will be zero for that period ...
Assuming you are running on something like Android, the most likely reason for a long idle delay is that the driver is waiting for a framebuffer fence from SurfaceFlinger. The GPU can run vertex processing early, because it doesn't need a buffer to render into, but can only render into the framebuffer when the fence is signaled by the window system (otherwise we may corrupt a buffer which is still being scanned out on to the screen).
This incoming fence is outside of the Mali driver's control, so check that your system is correctly configured with triple buffering, and that your display controller or compositor stack is correctly signalling fences.
HTH,
Pete
View all questions in Graphics and Gaming forum