Optimising Specific Techniques#
This section covers ways of optimising various techniques to improve application performance, especially when using PowerVR hardware.
Using Multiple Render Targets Efficiently
Pixel Local Storage on PowerVR can efficiently use render targets provided their size is not greater than the available on-chip memory.
-
The best lighting technique depends on the scene context.
-
Stencil shadowing algorithms are well-suited to the PowerVR architecture.
-
Anti-aliasing can have a significant impact on performance.
Preferred Analytical AA Solution
The benefits of analytical anti-aliasing algorithms should be weighed against memory bandwidth cost.
Screen Space Ambient Occlusion
Hierarchical Z-buffer optimisation is suggested as the most efficient method of implementing SSAO.
-
Alternatives to expensive ray marching algorithms.
-
The trade-offs associated with single pass or multi-pass approaches.
-
Sprites can have a significant impact on performance if handled incorrectly.
-
Making efficient use of PowerVR’s on-chip memory is vital to getting the best performance.
Optimising Register Pressure on PowerVR
Inefficient usage of register space can lead to register spilling and reduced performance.
Optimal Depth Buffer Usage for Large-scale Games
Changing the depth buffer mapping can help improve precision when using the standard D24S8 format.
Balancing Workloads on PowerVR to Eliminate Bottlenecks
Analysing workload distribution across GPU processing capabilities can help identify and eliminate performance bottlenecks.
Optimal Particle Rendering on PowerVR
Particle rendering can cause overdraw issues leading to performance bottlenecks.
Physically-Based Rendering and Per-Pixel LOD - Rogue Performance
Physically-based rendering can potentially better represent real-world light behaviour, but can cause significant performance bottlenecks in Rogue.