Optimizing graphics applications for PowerVR GPUs

Knowing where to look for help is half of the battle when it comes to optimizing your application. This blog post is intended to ease your 3D graphics development process by not only directing you to relevant learning resources, but also explaining what analysis tools are available and detailing the various ways to contact our developer support team.

Know your target

Before diving into tools or performance recommendations, let’s consider the capabilities and characteristics of your target device.
Graphics architecture

PowerVRTBDRPowerVR GPUs implement a unique TBDR graphics architecture

A basic understanding of how API calls are processed by the driver, inserted into the graphics hardware’s command stream and converted into coloured pixels goes a long way. It provides an immediate appreciation of why certain graphics API calls are costly and how your submitted calls will map to the graphics hardware’s processing pipeline. To familiarize yourself with the PowerVR graphics architecture, we recommend downloading and reading the following documents:

  1. PowerVR Hardware Architecture Overview for Developers
  2. PowerVR Series5 Architecture Guide for Developers
  3. PowerVR Series6 Compiler Instruction Set Reference

Mobile graphics APIs
Mobile graphics APIs are a subset of their desktop counterparts, with imposed restrictions and specific features to suit the performance characteristics of mobile devices and the batteries that power them. Although the latest APIs, such as OpenGL ES 3.1 and the Android Extension Pack, have brought many of the desktop and console features to low power devices, there are still differences that need to be considered.
Many of the recommendations in the documents below apply to all mobile graphics architectures. Of course, they also detail PowerVR specific behaviour and describe OpenGL ES extensions exposed by our reference driver for advanced hardware features.

  1. PowerVR Performance Recommendations: The Golden Rules
  2. PowerVR Performance Recommendations
  3. PowerVR Supported Extensions

Analyzing your app’s performance

The process of optimization graphics applications

 OptimizationProcessThe optimization process for graphics applications

Optimizing graphics applications seems like a straightforward process. Although the steps in the diagram above may seem obvious, we’ve seen beginner and experienced developers alike make simple mistakes that have cost large amounts of development time to resolve. Developers tend to run their analysis tools, identify a bottleneck, modify their application and consider the work done. One of the most important stages of optimisation though is to verify the change has actually improved performance. Without analysing performance after a modification, it’s easy for new (and possibly worse) bottlenecks to creep their way into your renderer.
The right tools for the job
As you may already know, our SDK includes profilers, debuggers and a variety of other analysis tools to help you track down issues. Here’s a quick overview of the key utilities:

  1. PVRMonitor
    Renders a real-time overlay of CPU and GPU stats on Android devices integrating PowerVR GPUs
  2. PVRTune
    Remote GPU performance analyser (server on the target, GUI analysis tool on your development machine). Captures timing data and counters, such as hardware unit loads and throughput data, in real-time
  3. PVRShaderEditor
    Off-line shader editor & performance analyser. Generates disassembly in real-time for Series6 and Series6XT GPUs
  4. PVRTrace
    OpenGL ES 1.x, 2.0 & 3.x capture and analysis tool

The Further Reading section of each tool’s web page has tutorial videos, blog posts and user manuals. If you want to know more about our entire suite of development tools, check out our PowerVR Tools landing page here.

Ask for help

Of course, documentation and software only gets you so far; after reading the documents, watching the videos and running the tools, you may still have questions. Our FAQ tries to address the most common queries we receive – if the FAQ doesn’t help you, you can contact us through our public forum or through our confidential ticket support system (both of which are completely free to use!).
Make sure you also follow us on Twitter (@ImaginationTech, @PowerVRinsider) for the latest news and announcements from our PowerVR developer ecosystem.

2 thoughts on “Optimizing graphics applications for PowerVR GPUs”

Leave a Comment

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

What is PowerVR Automotive? Register NOW to hear our webinar.

The automotive industry is going through many changes and that is having a huge impact on the semiconductor IP industry. The vehicle will move from being predominantly mechanical to primarily a computer on wheels enabling a future of self-driving cars,

Image-based lighting

PowerVR Tools and SDK 2018 Release 2 now available

Here’s an early Christmas present for graphics developers – the release of the latest version of our PowerVR Tools and SDK! The headline features for this release include some exciting new examples demonstrating new techniques in our SDK, and some very

on stage in China

PVRIC4 a hit at ICCAD 2018 in China

Imagination’s PVRIC4 image compression tech garnered plenty of attention at the recent ICCAD China 2018 symposium, which took place on 29th and 30th November at the Zhuhai International Convention & Exhibition Centre, China. The annual event focusses on integrated circuit

The ultimate embedded GPUs for the latest applications

Introducing PowerVR Series9XEP, Series9XMP, and Series9XTP As Benjamin Franklin once said, only three things in life are certain: death, taxes and the ongoing rapid advancement of GPUs for embedded applications*. Proving his point, this week, Imagination has once again pushed

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.