PowerVR Performance Recommendations - The Golden Rules

Filesize449 KB
Date addedAugust 10, 2018
CategoryDeveloper documentation
TagsDocumentation, PowerVR

This document covers key principles developers should follow in order to avoid critical performance flaws in their graphics applications. These recommendations come from the combined experience of the PowerVR Developer Technology Support team and the developers they work with, profiling and optimising their applications and games during development.

  1. Do Understand Your Target Device
    Seek to learn as much information about your target platforms as possible in order to understand different architectures.
  2. Do Profile Your Application
    Identify the bottlenecks in your application and determine whether there are opportunities for improvement.
  3. Do Not Use Alpha Blend Unnecessarily
    Be sure Alpha Blending is used only when required to make the most of deferred architectures and to save bandwidth.
  4. Do Perform Clear
    Perform a clear on a framebuffer‟s contents to avoid fetching the previous frame‟s data on tilebased graphics architectures, which reduces memory bandwidth.
  5. Do Not Update Data Buffers Mid-Frame
    Avoid touching any buffer when a frame is mid-flight to reduce stalls and temporary buffer stores.
  6. Do Use Texture Compression
    Reduce the memory footprint and bandwidth cost of the texture assets.
  7. Do Use Mipmapping
    This increases texture cache efficiency, which reduces bandwidth and increases performance.
  8. Do Not Use Discard
    Avoid forcing depth-test processing in the texture stage as this will decrease performance in the early depth rejection architectures.
  9. Do Not Force Unnecessary Synchronisation
    Avoid API functionality that could stall the graphics pipeline and do not access any hardware buffer directly.
  10. Do Move Calculations ‘Up the Chain’
    Reduce the overall number of calculations by moving them earlier in the pipeline, where there are fewer instances to process.