|Date added||August 10, 2018|
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.
- Do Understand Your Target Device
Seek to learn as much information about your target platforms as possible in order to understand different architectures.
- Do Profile Your Application
Identify the bottlenecks in your application and determine whether there are opportunities for improvement.
- 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.
- 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.
- Do Not Update Data Buffers Mid-Frame
Avoid touching any buffer when a frame is mid-flight to reduce stalls and temporary buffer stores.
- Do Use Texture Compression
Reduce the memory footprint and bandwidth cost of the texture assets.
- Do Use Mipmapping
This increases texture cache efficiency, which reduces bandwidth and increases performance.
- Do Not Use Discard
Avoid forcing depth-test processing in the texture stage as this will decrease performance in the early depth rejection architectures.
- Do Not Force Unnecessary Synchronisation
Avoid API functionality that could stall the graphics pipeline and do not access any hardware buffer directly.
- 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.