PowerVR Graphics SDK tools explained: Profiling a render with PVRTune

Share on linkedin
Share on twitter
Share on facebook
Share on google

This blog post is about PVRTune, the PowerVR hardware performance analysis tool included in the PowerVR Graphics SDK.

Profiling a render with PVRTune_1

PVRTune collects performance data in real-time to get a very detailed view of what is the GPU doing (again, in real time). This helps you identify the bottlenecks in your render, regardless of how obscure they might be.

Further recommended reading

I would definitely recommend you to check my quick start guide for Android: PVRTune Quick Start Guide for Android. Also, you can look into installing PVRMonitor as it packs some of the PVRTune functionality listed below.

Profiling a render with PVRTune_2

Overview

PVRTune is divided in two components:

  • PVRPerfServer: A daemon that runs on the PowerVR device. It retrieves the GPU performance data and sends it over the network
  • PVRTune GUI: 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

It allows us to:

  • Capture the FPS (total and per-PID)
  • Capture timing data (GPU timing events)
  • Capture hardware loads
  • Capture the CPU load
  • Capture the memory transfers (GPU memory upload)

If we combine it with PVRTrace recording libraries we can also:

  • Capture API call timing data
  • Capture software counters
  • Override the render state

About the data itself

Profiling a render with PVRTune_3

The data is exposed at the driver level by the PVRScopeServices. For more details on the data itself please check my earlier  PVRScope Stats blog post.

The data shown by PVRTune varies slightly from device to device even though all the core hardware counters and timing data stats are common.

Profiling a render with PVRTune_4

All the loads, counters and timing events are explained in the PVRTune User Manual. On Series5 hardware you should definitely keep an eye for:

  • CPU Load

The percentage of time that the CPU is busy. The value is the average load across all CPU cores.

  • GPU Task Load: TA 

The load of the “TA core”. This includes USSE (Universal Scalable Shader Engine) vertex processing, TA (Tile Accelerator) processing and related stall time.

  • GPU Task Load: 3D

The load of the “3D core”. This includes ISP (Image Synthesis Processor), TSP (Texture and Shading Processor), USSE (Universal Scalable Shader Engine) fragment processing and related stall time

  • USSE Load: Pixel

Percentage of time that the USSE (Universal Scalable Shader Engine) has spent processing pixels.

  • USSE Load: Vertex 

Percentage of time that the USSE (Universal Scalable Shader Engine) has spent processing vertices.

Which platforms are supported?

All Linux and Android PowerVR devices are compatible with PVRTune. This includes all commercial Android devices, regardless of OS or GPU driver version. It just works out of the box.

Conclusion

This has been a short intro to PVRTune. I intend to get into more details on the following blog posts where I am going to describe the UI with more detail.

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.

Please leave a comment below

Comment policy: We love comments and appreciate the time that readers spend to share ideas and give feedback. However, all comments are manually moderated and those deemed to be spam or solely promotional will be deleted. We respect your privacy and will not publish your personal details.

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

benny.har-even@imgtec.com
Tel: +44 (0)1923 260 511

Related blog articles

Product and event round-up from the experts in GPU and AI

It’s certainly been a busy few months for Imagination. Towards the latter end of last year, we released a raft of new products and initiatives, and a new CEO took the helm giving us real momentum for 2019. At the

How AI is conducting the future of music technology

“We tend to think of technological advances as destroying what’s gone before, but that doesn’t usually happen. This could lead to a different way of making music.” – Jarvis Cocker, former Pulp frontman, solo artist, writer and broadcaster In recent

Why you should join Imagination at Embedded World 2019

Our technology is focussed entirely on offering SoC manufacturers low power, high-performance options for building groundbreaking products in a range of markets, from automotive to smart devices such as smart speakers to the latest smartphones. Embedded World is one of

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.