Wednesday, 29 April 2015

Manuji extend its capabilities to capture GPU (Graphics Processing Unit) and Screen Rendering.



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.

  1. 1How Android draw to the screen:  http://kevinmhickey.github.io/Android/2013/02/02/how-does-my-android-app-draw-to-the-screen/
  2.  GPU benchmarks,  Android and Me: http://androidandme.com/tag/gpu-benchmarks/ 
  3. 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.


  1. GPU Draw Time:- Time spent on building display lists. It indicates how much time is spent running methods such as View.onDraw(Canvas).
  2. 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.
  3. 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. 



 

Wednesday, 15 April 2015

Manuji© - mobile performance engineering tool



Manuji© is mobile performance engineering solution which is design and develop by myself. I have used my past 15+ years ‘of experience in mobile application performance engineering for designing this tool. Manuji© is fully GUI based tool; therefore it has reduce technical complexities drastically when testing mobile application performance.  Most mobile performance engineering solutions require rooting for Android and Jail braking for IOS. But Manuji© does not require such. Also Manuji does not require any alteration to the AUT such as instrumentation. Manuji© is totally external tool which runs from your laptop or PC and monitor your mobile device via USB connection. 

Manuji© is design to monitor how effectively your AUT executes on your mobile device. It helps you to understand device CPU usage, Device memory usage, Device Energy usage. These are the key acceptance criteria when it’s come to mobile testing. If your AUT is extensively using either said factors then your end user will face numerous user satisfaction issues and it may Leeds to reject your application.  This is where Manuji© can help you to improve your AUT ratings.



Above screen shot was taken from Manuji© main UI. It has 11 main components.
·         A = Main tool bar
·         B = Process viewer
·         C = Resource viewer
·         D = Device console
·         E = Main Graph
·         F = Memory and CPU analysis
·         G = CPU analysis
·         H = VSS and RSS analysis
·         I = PSS analysis
·         J = Energy analysis
·         K = Video capture viewer

Manuji© has two step simple workflow. Any none technical tester can simply follow them. First step is to record your test scenario and second step is analyze graphical data identify performance issues. Following is an introduction to Manuji© main workflow.
In order to record your test scenario you need to connect your device with your PC using USB cable and click test connection button in main tool bar. 



 

Then click record button and execute your test scenario by opening your app in your mobile device. If your application is mobile web then open any web browser installed in your mobile device and call your URL.



Once you finish your test click play button for analysis. This process may take little time depending on complexity of your test scenario.




Once processing completed you will see Manuji© main window. Then select your app ID from the process view. If you use mobile web browser, select browser app ID. 


Then all the graphs will populate and corresponding data will populate in Resource viewer.

 


You may change any process form process viewer and graphs will display data only for the selected process. All the charts are plotted with the time and you can double click X axis and Video viewer will display your mobile screen at that time. This will help you to understand witch screen of your AUT responsible for any performance issue.