CPU Bound vs GPU Bound
Which processor limits the frame rate
Also known as: CPU bottleneck · GPU bottleneck · Game thread draw thread GPU · Stat unit · Bottleneck game performance
Definition
A game is CPU bound when the processor takes the longest to prepare each frame, and GPU bound when the graphics card takes the longest to draw it. The slower one decides the frame rate. A CPU bound game is held back by gameplay code, animation, physics and the number of draw calls, and a GPU bound game by pixel shading, resolution, overdraw, shadows and lighting. The first step in any optimization is to find out which one limits you.
In production
A quick test is to lower the render resolution: if the fps rises, the GPU is the limit. In Unreal Engine, stat unit shows game, draw and GPU times, and in Unity the Profiler shows the CPU and GPU timelines. Artists usually help the GPU with cheaper materials, fewer transparent layers and texture sizes, and the CPU with fewer objects, fewer materials, instancing and LODs. Optimizing the wrong side does nothing.