Manuji V2.0 has extended its capabilities
to analyze GPU and screen rendering of the mobile device. This is a key breakthrough since screen rendering
is the most difficult and most ignored mobile performance risk in modern mobile
world. Also screen rendering is the key performance bottleneck in most of the
hybrid mobile applications.
Please refer to below for more
information about GPU and screen rendering.
- 1How Android draw to the screen: http://kevinmhickey.github.io/Android/2013/02/02/how-does-my-android-app-draw-to-the-screen/
- GPU benchmarks, Android and Me: http://androidandme.com/tag/gpu-benchmarks/
- What is "GPU": http://www.mobileburn.com/definition.jsp?term=GPU
There are two new graphs added to
Manuji main screen. They are “GPU Analysis graph” and “Rendering Analysis graph”.
GPU Analysis graph is mainly focus on GPU resource consumption and Rendering Analysis
graph help you to understand Frame count, View count and screen object size.
When it comes to mobile performance engineering there are
three GPU factors we need to consider.
- GPU Draw Time:- Time spent on building display lists. It indicates how much time is spent running methods such as View.onDraw(Canvas).
- GPU Process Time:- This is the time spent by 2D render to execute the display lists. The more Views in your hierarchy, the more drawing commands must be executed.
- GPU Execute Time:- Execute is the time it took to send a frame to the compositor.
You can Manuji to understand scenario like, when I use my
application in Nexus 4 it seems graphics are not stable. This is because in Android,
if your execute takes a long time, it means you are running ahead of the
graphics pipeline. Android can have up to 3 buffers in flight and if you need
another one the application will block until one of these buffers is freed up.
This can happen for two reasons. Your
application is quick to draw on the Dalvik side but its display lists take a long
time to execute on the GPU or your application took a long time to execute the
first few frames, once the pipeline is full it will not catch up until the
animation is done.
Manuji now can help you to figure out these performance bottlenecks
by simple button click. It will help you to display all the details in graphical
format and you can also export the raw data to excel or text format.