Genre guides5 min read

CPU-Bound vs GPU-Bound: How to Tell What Limits Your Game

Every game is limited by either the CPU or the GPU at any moment. A five-minute test with resolution and per-thread usage tells you which one is yours, and a table shows which settings to touch and which part to upgrade.

Render of the William's XASTER M landed among canyons in a dust storm at dusk
Render of our own ships, made in Blender. Not an in-game capture.

In short

  • You are GPU-bound when the graphics card works at 95-100 % and lowering the resolution raises the frame rate. You are CPU-bound when the GPU sits lower and lowering the resolution changes almost nothing.
  • The five-minute test is to repeat the same demanding scene at a lower and a higher resolution and watch GPU usage and per-thread CPU usage.
  • Each limit has its own levers: when GPU-bound, internal resolution, shadows and lighting rule; when CPU-bound, population, draw distance and simulation.
  • An upscaler such as DLSS helps whoever is GPU-bound and barely helps whoever is CPU-bound. Frame generation is the partial exception, at a cost in latency.

A game is GPU-bound when the graphics card works at its maximum and the CPU waits, and CPU-bound when it is the other way round. At any moment, one of the two is true. Knowing which one is yours changes which settings work and where to spend money. With five minutes and a repeatable scene you can find out.

The two situations

GPU-bound CPU-bound
GPU usage 95-100 % Clearly lower, often 50-80 %
CPU usage No thread is saturated One or several threads near 100 %
Lowering the resolution Frame rate rises Frame rate barely changes
Raising the resolution Frame rate drops Frame rate barely changes
Settings that help Internal resolution, shadows, lighting, volumetrics Population, draw distance, simulation, shadows (distance)
Part that helps A more powerful GPU A faster CPU, faster memory
Upscaler Helps a lot Helps little

The underlying reason is how the work is split. The GPU paints pixels: its load grows with resolution and per-pixel effects. The CPU prepares the world: its load grows with the number of characters, objects, animations and draw commands, and barely depends on resolution. That is why lowering the resolution is the cleanest test: it reduces the GPU’s work without touching the CPU’s.

The five-minute test

  1. Pick a demanding, repeatable scene. Better the busiest area of your game (a crowded square, a large base) than an empty landscape. Stand in the same spot, with the same time of day and weather if you can.
  2. Turn on an overlay with GPU usage and per-thread CPU usage. Your GPU maker’s overlay works for the card; Task Manager, with the CPU graph switched to logical processors, for the threads. For frame times, PresentMon.
  3. Measure at your normal resolution. Note average frame rate, 1 % low and GPU usage.
  4. Lower the resolution two steps (for example from 1440p to 1080p, or the upscaler mode from Quality to Performance) and measure again in the same spot.
  5. Interpret.
    • The frame rate rises noticeably and the GPU drops: you were GPU-bound.
    • The frame rate barely rises and the GPU stays low: you are CPU-bound.
    • The frame rate rises a little and then stalls: you were GPU-bound up to a point and CPU-bound beyond it. This is the most common case, and it means the limit changes with settings.

If you are not sure, repeat raising the resolution. In a CPU-bound game, going from 1080p to 1440p costs almost no frames, and that is what gives the limit away.

What to change depending on the result

If you are GPU-bound

  • Lower the internal resolution with an upscaler before lowering the output resolution. It is the biggest lever.
  • Reduce the quality of shadows, global illumination and volumetric effects (clouds, fog). They are the most expensive per pixel.
  • Go from Ultra to High: the visual difference is small and the gain is large. The guide how to configure a game’s graphics ranks them by impact.
  • If you have hit your display’s maximum, the excess is room to raise quality.

If you are CPU-bound

  • Do not lower the resolution: you lose image quality and gain nothing.
  • Lower what loads the CPU: population or character density, draw distance for objects, shadow quality at a distance (each shadow repeats the scene’s drawing) and scattered vegetation.
  • Close background programs and enable the fast memory profile in the motherboard.
  • If that is still not enough, the fix is hardware: a processor with more per-core performance or more cache (see what 3D V-Cache is) and faster memory.
  • Do not expect an upscaler to fix it: it lowers the GPU’s load, not the CPU’s. Frame generation can raise the displayed rate even when the CPU limits, at a cost in latency.

How work is split in a modern engine

Engines such as Unreal Engine 5 divide a frame across several threads: the game thread (logic, AI, physics, network), the render thread (prepares the rendering commands) and the GPU. They work as a chain, and frame time is, to a large extent, that of the slowest of the three. That is why a game can have 12 CPU threads almost idle and still be limited: what runs at 100 % is the game thread or the render thread, and it cannot be split without further ado. Developers see this with the engine’s stat unit command, which separates those three times; from the outside on a PC, what you see is per-thread usage and GPU usage.

This is also why a processor with more cores does not always perform better in games: what counts is the speed of the most loaded thread, its cache and memory latency. For a game with a large world and heavy simulation, that is explained in why MMOs and survival games depend on the CPU.

A limit that changes with the scene

The limit is not fixed. In an empty landscape, the same PC can be GPU-bound; in a zone with hundreds of characters, CPU-bound. An online persistent-world game such as COLONIZED (closed alpha applications open, first waves planned for winter 2026-2027, not yet playable) mixes both cases depending on where you stand. So test in the worst scene, not the best. What we have measured from the development build, on video memory and effect cost, is in our guide to optimizing Unreal Engine 5 games; we have not published system requirements.

Mistakes when running the test

  • Testing in a different spot each time. The sky, the time of day and the crowd change the result. Mark a point and a direction.
  • Looking only at the average. A CPU limit often shows in the 1 % lows before it shows in the average.
  • Forgetting the limiter. With V-Sync or a cap on, the frame rate sits pinned and it looks like “nothing changes” when you lower the resolution. Turn them off for the test.
  • Mixing changes. If you lower the resolution and the shadows together, you do not know what moved the result.
  • Trusting total CPU usage. A 15 % total can hide a thread at 100 %.

Practical summary

What you see You are Do this
GPU 95-100 %, low frame rate GPU-bound Upscaler, shadows, lighting, volumetrics
GPU low, one thread at 100 % CPU-bound Population, draw distance, distant shadows; CPU and memory
Frame rate pinned at a round number Limited by a cap Check V-Sync and the limiter
Fine averages, stutter Low minimums Memory, storage, VRAM

If you want to understand why your GPU sits low, see why your GPU is not at 100 %. To measure rigorously, how to measure your PC’s performance.

Questions and answers

What does CPU-bound mean?

It means the CPU limits performance: it cannot prepare frames as fast as the GPU could draw them. You recognize it because GPU usage stays below 100 % and the frame rate does not rise when you lower the resolution.

What does GPU-bound mean?

It means the GPU limits performance: the card works at its maximum and the CPU waits. You recognize it by GPU usage near 100 % and a frame rate that rises when you lower the resolution or the graphics settings.

How do I run the resolution test?

Pick a demanding, repeatable scene, note the frame rate at your usual resolution, lower the resolution (or the upscaler mode) by a step or two and measure again in the same spot. If the frame rate rises a lot, you were GPU-bound; if it barely changes, you were CPU-bound.

Is it better to be GPU-bound or CPU-bound?

In a demanding game, being GPU-bound at a high frame rate is the comfortable case, because you can move it by lowering graphics quality. A CPU limit is stiffer and has fewer levers. But what matters is that the result is enough for you.

Sources

Third-party figures link to their source. The date is the publication date or, when there is none, the day we checked the page.

  1. PresentMon: capture of frame times and latencies · Intel (GameTechDev, GitHub) · 2026-10-22
  2. NVIDIA DLSS technology page · NVIDIA · 2026-10-22