PVRTune Complete

PowerVR Developer Tools​

Track down the most complex performance issues on PowerVR hardware

PVRTune Complete exposes an unprecedented low level of hardware and firmware/driver data on a mobile/embedded GPU in a groundbreaking first.

Give your PowerVR application the edge

  • Analyse real-time data on your application performance with driver level software counters and hardware registers.
  • Benefit from faster and more efficient profiling sessions, with real-time visualisation of GPU performance metrics.
  • Now with ‘API awareness’ of native programming interfaces such as OpenGL® ES, allowing you to view events generated by the client driver.
pvrtune complete

PVRTune Complete comes in two parts

  • PVRTune GUI
    Our complete client for PC, macOS, and Linux which reads, formats and presents the data stream sent by PVRPerfServer.
  • PVRPerfServer
    Our lightweight application that runs on various target platforms. It connects to our graphics driver and forwards the data that the driver is emitting.

Unprecedented optimisation features

  • Low-level analysis
    See render target information and shader information. You’ll find out how work submitted at the application level directly affects the driver and hardware.
  • API Awareness
    View application level API calls such as glDraw*, and “trace” their path from application to driver to hardware. You’ll gain a complete understanding of the impact various API calls have on your application’s behaviour and performance.
  • Spot pipeline bubbles
    Synchronisation objects (see below) let you detect where work is being queued, which means the reasons for hardware idle time can be identified.

Synchronisation objects explained

Helping you improve the performance of your application by detecting pipeline bubbles in your application’s workload. 

PVRTune Complete now captures Synchronisation Objects emitted by our driver. Every hardware block/module has its own queue, for example – Tiler Queue, Renderer Queue, and 2D Queue. This queue shows the synchronisation objects that relate to the Tiler, Renderer, and 2D tasks respectively. 

How does it work?

The driver uses these objects to ensure that queued operations are executed by the GPU in the correct order. Operations can be blocked by synchronisation objects until a previous operation completes and frees a resource, such as a render target.

By showing the synchronisation objects, you will be able to visualise when work is first queued by the driver, and then subsequently executed by the hardware, once the conditions of the synchronisation object are satisfied.

Introducing the Client Stream

Fully understand the dynamics of your profiled application, by obtaining more information than previously possible using the Client Stream

How does it work?

PVRTune Complete retrieves and presents API events that have been generated by the OpenGL® ES and EGL™ client driver. The Client Stream is the timing data generated and emitted by the module in the driver which applications directly interface with, through APIs such as OpenGL ES. It tracks only certain important API calls.

You will now be able to get render target information such as:

  • Pixel format
  • Dimensions
  • Depth/stencil load/store operations
  • Surface compression 
  • Shader information – currently GLSL source code

PVRTune Complete is available for free from Imagination Technologies, under NDA

To obtain your copy, please click the button below, or contact us through our ticketing system. The original PVRTune Developer is available without an NDA. This version has reduced information from the client data stream.

Support & resources

Get your answers online with our comprehensive documentation, developer forum and our dedicated PowerVR developer support desk.