The most common reason for any
mobile performance test is to identify the reasons for slow response and
eliminate them. Network factor is the most concentrate area for most
performance engineers when it comes to performance testing. However networking
is not the only factor we need to consider.
Application rendering factor is another key area witch cause most of the
slowness especially your AUT is a Hybrid mobile application.
Manuji has a special
capability of capturing rendering and GPU related information from your
handset. For this demo I am using
AT&T ARO to capture network related stuff and Manuji to capture GPU and
rendering related stuff. However I am not going to discuss how to configure and
capture TCPIP PCAP files using ARO since it will be a separate demo.
First connect your AUT to ARO
using USB or WiFi connection and start record button and record your test
scenario. For this you don’t need to
root your device since ARO newer versions can manage network with normal
privileges. Then go to “Waterfall” tab and you will see following screen. Then
calculate time taken for each and every network call.
You
can see all of the network calls has responded within 3secound during this test.
Since my AUT takes more than 25secound to sign on and display dashboard screen, I
don’t think network response of less than 3secound is the real issue of the
slowness.
Now
let me connect my AUT to Manuji using USB and try to understand any issue with
the rendering of screen objects. Why I suspect this because my AUT is Phone Gap
build hybrid application and most hybrid applications are subject to rendering issues because they render HTML components on top of Web view comportment. Web view is not a optimized component
when it comes to mobile.
After
I record my test scenario using Manuji, I need to change the main graph to
Rendering Response Graph and it looks like following
Now
we can see that at the time of the sign on screen there are about 200 views rendered and average display list size of 2.75KB. We can also clearly see that
number of views rendered is climbing with the time.
Now
we need to see the GPU effort that took to render these views and check GPU
Draw, Process and Execute times are under 16ms witch is the industry benchmark. In order for me see above said factors, Manuji has provided three graphs and they can be initiated using below three buttons.
Now
I am going to change the main graph to GPU Analysis and following are the GPU draw
response times, the GPU process times and the GPU execute times.
GPU actually did not took much time to do the drawing.
We can celery see the draw times ate under 2ms. However we can see GPU
process and execute times are above the 16ms threshold and some times it
reaching 40ms witch is way too much.
Please
refer below video of this walk through so you can have more understanding
of using Manuji.