Blog

reducing post-processing costs

See how we ported a game from PC/Console to Nintendo Switch and reduced post-processing costs from 18ms to 2-3ms!

Case: Brigada Games ported the game, originally developed for PC/Console to Nintendo Switch.

Result: Significant reduction of post-processing costs from 18ms to 2-3ms.

Process description:

Optimization is a key focus, with the primary goal of reducing GPU time. We have reworked post-processes used during hero abilities.

Our team encountered technical challenges that we overcame in order to save visual fidelity and gameplay usability.

We use LLGD and Render Doc Capture to analyze the timings of post-processing, ensuring the game runs optimally without any hiccups.

By reworking post-process materials and blueprint actors, we optimize game architecture and engine performance.

To manage memory and game resources, we use optimization techniques: combining materials to reduce their number, reusing similar data to decrease the amount of instructions, and setting up masks by stencils to reduce the number of objects that use a particular material.

We assess the effectiveness of our optimizations using performance metrics and indicators such as GPU and post process time by Stat GPU command, and Timings on Low Level Graphics Debuger.

We optimized gaming performance by improving the gaming experience, eliminating FPS and Dyn Res drops when using gameplay ability.

We thoroughly test and debug our optimization process. We assign tasks to the QA team to record video of repeatable gameplay and Stat Unit/FPS, and analyze Low Level Graphics Driver (LLGD) captures to measure timings.

To ensure visually identical results while improving performance, we have reworked Post Process materials. Switch faced issues with PC materials due to their cost, resulting in visual bugs and poor performance. We explored multiple approaches to achieve the same results at a lower cost, and ultimately found a solution that was a win-win. We attempted to modify existing Ref Material, but it didn't perform well at its core. So, we started from scratch and created something entirely new.
2023-04-30 13:26