This blog post intends to be a replacement for the “PVRTune.Quick Start Guide for Android.Developer” document included in the latest PowerVR Graphics SDK v3.2.

The article aims to better reflect the current content of this SDK. and get you up to speed with PVRTune (GPU profiler) for Android in just a few minutes.

Prerequisites:

Notice that some of the features of PVRTune (such as the Render State Override) will work on non-PowerVR devices. On the other hand, we can’t guarantee it since we don’t usually perform any testing on non-PowerVR devices.

Overview of operation

PVRTune is divided in two components:

  • PVRPerfServer: Is an application that runs on the PowerVR device. It retrieves the GPU performance data and sends it over the network.
  • PVRTune GUI: Is a GPU profiling tool that runs on a Linux, Mac OS or Windows computer. It connects to the device through PVRPerfServer and displays the GPU performance data in a comprehensive way.

Step 1: Installing PVRHub

PVRHub is the Android application used to install the PVRTrace recording libraries in our device. It can be installed using ADB.

adb install /path/to/PowerVR_SDK/PVRHub/Android_armeabi_armeabi-v7a_x86_mips/PVRHub.apk

(Optional) Step 2: Forwarding the data through ADB

This optional step is required to connect with PVRPerfServer over USB instead of over WiFi.

In order to accomplish this you can use ADB:

adb forward tcp:6520 tcp:6520

Step 3: Profile an application

To start profiling choose the “Start PVRPerfServer” (A) option.

PVRTune Android - step 1

That’s it, now is the time to have fun and profile.

Launch your favourite app (such as the Water demo):

PVRTrace on Android - step 4

From your PC open the PVRTune GUI:

PVRTune Android - step 3

PVRTune will automatically broadcast for PVRPerfServer servers on the subnet and list them in (A). If you did the Step 2 only type in “localhost” and click “Go” (C).

Conclusion

Now you should be sitting in front of a functional PVRTune instance with access to all the hardware data; yet this is just a taste of all what PVRTune can do.

Along with the PVRTrace libraries, PVRPerfServer is capable of sending software counter information, override the render state and display Open GL ES timing data. Check the PVRTune User Manual for an accurate list.

For an overview of the PowerVR Graphics SDK 3.2, check out this blog post we’ve written at launch. Make sure you follow us on Twitter (@PowerVRInsider) for the latest news and announcements from the PowerVR Developer Technology team.

About the author: Guillem Vinals Gangolells

Profile photo of GuillemV

I'm a Developer Technologies Engineer for the PowerVR division in Imagination Technologies, company in which I've been working since early 2011.My main task consists in the design of developer tools as well as in the integration of the PowerVR graphics in the Android ecosystem. Leaving the technical part aside, I also travel to some international events in order to collect feedback, give technical talks and meet with other companies

View all posts by Guillem Vinals Gangolells