What is PVRTune Complete?

Share on linkedin
Share on twitter
Share on facebook
Share on reddit
Share on digg
Share on email

Along with our SDK and Tools, we also have a plethora of other offerings for developers to get the best out of PowerVR-based devices. Today, we’ll be highlighting some of the new features of PVRTune Complete. PVRTune has been one of our most valuable products included in the SDK for a while now, but for those of you who aren’t aware of what it is, let’s refresh your memory…

PVR Tune Complete animated gif
PVR Tune Complete highlights exactly what the application is doing at the GPU level, helping to identify any bottlenecks in the compute stage, the renderer, and the tiler.

PVRTune is our application performance analysis tool that we offer as part of our Developer Technology toolkit. It can perform low-level analysis at a hardware level in order to provide as much information as possible about a program’s runtime performance. PVRTune Complete is our ultimate version which exposes an incredible amount of data about the GPU, including firmware and driver statistics. PVRTune Complete is the premier analysis tool, as it can perform both real-time data visualisation and analysis as well as saving the session for later review. Combined with the amount of data it can track and present to the developer, PVRTune Complete is the ultimate utility for optimising performance on PowerVR devices. It is available under NDA from our Developer portal.

In today’s post, we’ll quickly go over some of the existing highlights of PVRTune Complete, as well as giving you a preview of what was added in the 2020 Release 1 update.

Application analysis with PVRTune Complete

PVRTune can highlight exactly what the application is doing at the GPU level. From here, bottlenecks such as can be identified in the compute stage, the renderer, and the tiler. The timeline shows the various tasks that the GPU is processing at any given moment, along with appropriate metrics such as CPU load and memory. Gaps in the data are when that specific timeline is idle, and large, contiguous regions of colour are when that timeline is under constant load. Being able to pinpoint these instances in PVRTune can help you adjust how your application interacts with the graphics API and drivers to maximise performance.

For a more in-depth guide, check out our analysis page on the PVRTune user manual.

Features of PVRTune Complete

PVRTune Complete boasts some of the deepest insight into hardware-level performance on PowerVR devices. Using driver-level software counters and hardware registers to accurately monitor application statistics such as FPS, tiler time, and more, PVRTune Complete offers developers the chance to see things such as render target data and shader information, giving them a full view of how exactly the drivers and hardware respond and behave under various loads. As well as this, PVRTune Complete also features an API “awareness”, so you’ll be able to trace graphical API calls, including Vulkan® and OpenGL® ES, from the application down to the hardware itself. All of this allows for even more control over how application behaviour and performance is affected by the interaction between hardware drivers and API.

PVRTune Complete also captures synchronisation objects from the driver, showing where events are queued and where pipeline bubbles – gaps in computation where the system is not operating at full efficiency – occur, giving you another strategy for improving performance. PVRTune’s real-time visualisation helps to make this even clearer by showing exactly where these statistics come from, and an unparalleled selection of metrics. To make analysis even easier, PVRTune Complete also offers a CSV export option so that users may visualise the data themselves and perform an offline analysis of their application performance.

New features in 2020 Release 1

Development work on PVRTune is always on-going as we strive to provide the most powerful tool to developers, which is why we have two releases every year to bring bug fixes, new features, and updates to our SDK. In the upcoming release, PVRTune remains one of our primary focuses, and so our engineers have been hard at work to make PVRTune an even better tool for use. While full information can be found actual SDK release notes, some of the highlights of the new version of PVRTune Complete are as follows:

IMG A-Series support

Late last year, we announced our newest generation of GPUs: the IMG A-Series. Designed to be “The GPU of Everything”, the IMG A-Series brings unparalleled performance to the table. Since then we’ve been working hard to deliver support for these new chips and technologies in time for developers to be able to debug their applications on the new platform. This is probably the biggest update coming to PVRTune this time, but we’ve got more than just that!

Tile Lifetime Tracking

To go alongside our support for the new architecture, we’ve implemented another feature which takes advantage of some of the strengths of the new hardware counters. PVRTune is now able to generate heatmaps for which tiles in a frame require more processing for various reasons. By identifying where in the scene requires the most attention, it becomes easier to track down exactly where the issues with performance lie – instead of just being told that a particular 3D kick is slow, it is now possible to identify exactly what work being done is causing the slowdown.

Tlle Heatmap
A heatmap tool enables developers to visually identify which areas that are expensive to process

ISP Tiles in Flight

We’ve also added a new counter to our performance tracking systems. PowerVR works on a tile-based rendering system, and some image synthesis processors can parallel process multiple tiles which helps with latency and efficiency. This counter helps developers to track whether the ISP is being fully utilised or not.

Try it yourself

If you’re interested in working with it yourself, PVRTune Complete is available under NDA. See the  PVRTune Complete website for more details and request access. To explore and experiment with PVRTune without signing an NDA, we also offer a more accessible version which doesn’t expose as much hardware and driver information called PVRTune Developer, which is freely available as part of our  PowerVR SDK. And don’t forget to keep your eyes peeled for our SDK 2020 Release 2 for more updates coming soon!

Benjamin Anuworakarn

Benjamin Anuworakarn

Ben Anuworakarn is a technical author in the PowerVR Developer Technology team and has a computer science engineering background. Primarily responsible for producing and maintaining both internal and external documentation, he has a knack for coming up with solutions to problems that don't exist yet. You can find him either clacking away at his keyboard or shuffling trading cards every few hours.

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.

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

Search by Tag

Search by Author

Related blog articles

bseries imgic technology

Back in the high-performance game

My first encounter with the PowerVR GPU was helping the then VideoLogic launch boards for Matrox in Europe. Not long after I joined the company, working on the rebrand to Imagination Technologies and promoting both our own VideoLogic-branded boards and those of our partners using ST’s Kyro processors. There were tens of board partners but only for one brief moment did we have two partners in the desktop space: NEC and ST.

Read More »
shutterstock 1175807410 1

Vulkan synchronisation and graphics-compute-graphics hazards: Part I

How do you mix and match rasterisation and compute in a modern GPU? In modern rendering environments, there are a lot of cases where a compute workload is used during a frame. Compute is generic (non-fixed function) parallel programming on the GPU, commonly used for techniques that are either challenging, outright impossible, or simply inefficient to implement with the standard graphics pipeline (vertex/geometry/tessellation/raster/fragment).

Read More »

Connect

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