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.

  • 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