Profiling

Keywords: Optimization, Overdraw, Fillrate, Pix, Nsight, Profiler

Profiling is the process of measuring the performance of your game on the target platform. This is done to give an idea of what to focus optimization efforts on. It's important to do this on the actual platform the game will ship on as they all have different strengths and weaknesses.

To profile the game you can use various tools. Most engines have some profiler built in, but there are also external tools that can help with this such as Pix or Nsight. It's necessary to profile both the CPU and GPU to get a clear picture of where your precious milliseconds are going but since realtime VFX usually does something that needs to be rendered, the GPU is the one we tend to focus on.

In this video series Oskar Swierad gives a good primer in profiling for Unreal, but the ideas hold true for any engine. In the following video you can see an example of the profiling tools of the decima engine created by Guerilla Games.