PowerVR Graphics SDK tools explained: Introducing PVRMonitor

This blog post is dedicated to PVRMonitor, our newest hardware profiling tool for Android devices. PVRMonitor displays real-time CPU and GPU performance data as bar graphs (where a low load is green and a high load is red) in a persistent overlay on top of all the other windows. This is done using Android’s Hardware Composition, allowing the graph to be rendered with a negligible performance impact.

PVRMonitor is ideal for the everyday testing and profiling as it will allow you to see performance regressions pretty quickly even when the game runs at solid 60 frames per second.

PVRMonitor - phone_2

You can download PVRMonitor now from Google Play and install it on your PowerVR-based device.
Get it on Google Play
For those of you who don’t have access to Google Play, you can download the APK by clicking on the icon below.

PVRMonitor - download[PVRMonitor download link]

Have you downloaded, installed and opened the app yet? Okay, read on for an overview of the features that we’ve implemented.


PVRMonitor is a real time system profiling tool that is overlaid on top of other windows. The information gets displayed as a bar chart containing an overview of the CPU load as well as various loads from the GPU.

PVRMonitor phone_0


Displays the CPU load (%) averaged over 200ms; there is an option to average it over 1 second and to display each core as a separate bar.

Why should I use it: This counter is very important as it will allow you to quickly see if the bottleneck is related to the CPU side of things.

Total Pixel

The total load of the pixel processing hardware. This includes work in the ISP (Image Synthesis Processor), TSP (Texture and Shading Processor), pixel processing in the ALUs and related stall time.

This value displays the total load (%) of the pixel processing hardware. This includes the texturing, raster operation and of course, fragment shader processing.

Why should I use it: This value is very important as it is directly proportional to the number of pixels displayed at every frame. There will be situations for which the game will run at rock-solid 60fps but with a very high Total Pixel (%) and thus it will be a hint that something can still be optimized in order to achieve better battery life.

Total Vertex

The total load of the vertex processing hardware. This includes vertex processing in the ALUs, work in the TA (Tile Accelerator) and related stall time.

This value displays the total load (%) of the vertex processing hardware. This includes not only the vertex shader processing but also the tiling.

Why should I use it: Generally neither tiling nor vertex shader processing will be a bottleneck. But if they ever become one, you’d want to know about it sooner rather than later.

ALU: Pixel

Percentage of time that the ALUs have spent processing pixel shaders.

This value displays the time (%) that the shader processors have spent working in fragment shaders.

Why should I use it: Use it to know how expensive the fragment shaders of your application are. For example, this counter will be perfect to help you tune the ideal level of effects and lightning/shadowing quality to display on a given scene.

ALU: Vertex

Percentage of time that the ALUs have spent processing vertex shaders.

This value displays the time (%) that the vertex processors have spent working in vertex shaders.

Why should I use it: Use it to monitor the amount of geometry being processed and help you to optimize it; often times a little mesh can go a long way. This counter will usually (or should usually) remain well below 10% in most games.

Notice that since our ALUs are unified (that is, they can process both fragment and vertex shaders), the ALU: Pixel and the ALU: Vertex values cannot go over 100% if added together.

PVRMonitor 10in_0

 Needless to say, all the values displayed should sound familiar if you ever had a chance to give PVRTune a go.

But… is this a PVRTune replacement? Not exactly.

PVRTune is the tool you should use for a full in-depth profiling work. PVRMonitor is a simplified overview of what the GPU and CPU are doing.

What’s under the hood?


For more details on the PVRMonitor internals, just read my previous blog post about PVRScope Stats. In short, PVRMonitor is an Android application built on top of the same PVRScope libraries that we distribute with the PowerVR Graphics SDK.


The GPU values displayed by PVRMonitor map 1:1 with the PVRScope counterpart, that is:

  • Total Pixel →  GPU task load: 3D core
  • Total Vertex → GPU task load: TA core
  • ALU: Pixel → USSE load: Pixel
  • ALU: Vertex → USSE load: Vertex

What about the overhead? Negligible.

Since Android 4.0 (Ice Cream Sandwich) there is a hardware composer that takes care of the screen composition/blending of surfaces (up to a certain number of layers). Previously that task was done by SurfaceFlinger by using OpenGL ES 1.x in order to allow a software fallback.


PVRMonitor is an awesome and hassle-free way to know how your next big game is performing… while you are playing it! It will help you identify a wide range of possible bottlenecks without using any external tool and with no setup time required.

Download PVRMonitor now from Google Play and give it a go; if you have any suggestions or you think we should add any particular features to PVRMonitor, please use our recently-launched PowerVR Insider Feedback system. If you are unsure whether your device has a PowerVR GPU, here is a selection of mobile SoCs that run Android and integrate our graphics cores:

PowerVR Series5

  • Actions ATM7021
  • Ingenic JZ4780
  • Intel ‘Medfield’ Z2460, ‘Lexington’ Z2420
  • MediaTek MT6573, MT6575, MT6577
  • Rockchip RK3168
  • Texas Instruments OMAP4430, OMAP4460

PowerVR Series5XT

  • Actions ATM7039
  • Allwinner A31, A31s
  • Intel ‘CloverTrail+’ Z2520, Z2560, Z2580
  • MediaTek MT6589, MT8125
  • Renesas (now acquired by Broadcom) MP5232, MP6530
  • Samsung Exynos 5410
  • Texas Instruments OMAP4470

PowerVR Series6

  • MediaTek MT8135

Don’t forget to come back to our blog for more tutorials and walk-throughs for our PowerVR Graphics SDK tools and follow us on Twitter (@PowerVRInsider and @ImaginationTech) for news and updates from our Developer Technology team.

  • Search by Tag

    Search for posts by tag.

    Search by Author

    Search for posts by one of our authors.

    Featured posts
    Popular posts

    Blog Contact

    If you have any enquiries regarding any of our blog posts, please contact:

    United Kingdom

    Tel: +44 (0)1923 260 511

    Related blog articles

    British Engineering Excellence Award

    PowerVR Vision & AI design team collect another award

    We’re delighted that the design team for our PowerVR Series2NX Neural Network Accelerator (NNA) has been honoured with a prestigious British Engineering Excellence Award (BEEA). The BEEAs were established in 2009 to demonstrate the high calibre of engineering design and innovation in the

    Series8XT AR/VR Banner

    Imagination Technologies: the ray tracing pioneers

    After a period out of the spotlight, ray tracing technology has recently come back into focus, taking up a lot of column inches in the tech press. The primary reason is because graphics cards for the PC gaming market have

    Amazon Fire Stick 4K pic

    Amazon Lights up its Fire TV Stick 4K with PowerVR

    Amazon, the internet shopping giant, announced earlier this week the latest version of its media streaming device, the Fire TV Stick 4K. First released in 2016, the Fire TV stick brings catch-up streaming services to any TV with an HDMI

    Stay up-to-date with Imagination

    Sign up to receive the latest news and product updates from Imagination straight to your inbox.

    • This field is for validation purposes and should be left unchanged.
    Contact Us

    Contact Us