Home โ€บ Guides โ€บ Speed and scaling

CPU and GPU Bottlenecks Explained: How to Tell Which One Limits You

Updated October 21, 2026 ยท By the Xingyu Zhitong editors

"My CPU bottlenecks my GPU by 12 percent" is one of the most repeated sentences in PC building, and one of the least meaningful. A bottleneck is not a property of a pair of parts. It is a property of a pair of parts running a specific workload at specific settings. The same RTX 4090 and Core i9-14900K that look badly mismatched at 1080p in an esports title can be perfectly balanced at 4K in a visual-heavy game, and irrelevant in a local language-model workload where neither is the limit. This article explains how to reason about it and measure it.

What a bottleneck actually is

Any pipeline runs at the speed of its slowest stage. In a game, the CPU prepares each frame: it runs game logic, physics, animation and the driver work that builds draw calls. The GPU then renders that frame. Both stages work on different frames at the same time, so the frame rate is limited by whichever stage takes longer per frame. If the CPU needs 8 ms per frame and the GPU needs 5 ms, the system delivers about 125 frames per second (1000 / 8) and the GPU sits partly idle. That is a CPU-limited situation. If the CPU needs 5 ms and the GPU 8 ms, the result is again 125 frames per second but now the GPU is the limit.

Notice what changes the balance: resolution and graphics settings change GPU time a great deal and CPU time very little. Higher resolution, ray tracing and heavier shaders push the GPU time up. Lower resolution, more NPCs, larger view distance for object counts, and higher frame-rate targets push CPU load up. So a fast CPU matters most when you play at low resolution with high frame rates; a fast GPU matters most at high resolution with heavy visuals.

Why a single percentage is misleading

Bottleneck calculators and forum threads produce a percentage by comparing generic benchmark scores of the two parts. That can be a useful rough sanity check, for example to warn you that pairing a very old quad-core with a flagship card will waste the card. But it hides the three things that decide the real outcome: the game or application, the resolution and settings, and the target frame rate. A "15 percent bottleneck" means nothing if you are capped at 60 fps by your monitor and both parts finish a frame in under 16.7 ms. The fair framing is: at the settings I actually use, what limits my frame rate, and would a faster part change what I experience?

Our RTX 4090 and i9-14900K bottleneck and PSU calculator follows the same logic for the specific pairing it covers: it estimates balance at 1080p, where CPU limits show up most, and the power draw that follows. Treat any such estimate as a starting hypothesis to test.

How to measure it yourself

You do not need a calculator when you can observe the system. A reliable method:

  1. Run the workload at your normal settings and watch GPU utilization with a monitoring tool (the NVIDIA overlay, Windows Task Manager's GPU view, or nvidia-smi on the command line). Sustained GPU utilization in the high nineties means the GPU is the limit. Remember that a utilization number means "fraction of time any part of the GPU was busy", not that every unit was saturated, but a persistently high value is a strong indicator.
  2. If GPU utilization is well below that and the frame rate is below your target, look at the CPU. Per-core graphs matter: a game may be limited by one or two heavily loaded threads while the overall CPU shows 20 percent usage across 24 threads. A single core at 100 percent is a CPU bottleneck even though the average looks low.
  3. Change one variable. Lower the resolution: if the frame rate rises a lot, you were GPU-limited. If it barely changes, you are CPU-limited (or limited by something else, such as a frame cap). Raise the resolution: if the frame rate stays the same, you were CPU-limited before and are likely still so.
  4. Check frame time, not just average fps. Stutter often comes from CPU-side spikes, shader compilation, memory or storage, and shows up in the 1 percent low figures and frame-time graph rather than in averages.
  5. Rule out other limits: a frame-rate cap or vsync, thermal or power throttling, slow RAM or single-channel memory, a storage stall, or a PCIe link running at fewer lanes than expected.

Common misconceptions

"A strong CPU is wasted at 4K." Partly true: at 4K with demanding settings, the GPU often limits the frame rate and CPU choice matters less. But the CPU still determines the 1 percent lows in simulation-heavy games and the speed of everything else you do on the machine.

"A bottleneck damages hardware." No. A part running below its capacity is simply under-used. The only real cost is paying for performance you do not get.

"Upgrade the part showing 100 percent." Correct for the GPU in a GPU-limited game, but a CPU at 100 percent on one thread does not mean you need more cores; you need faster cores for that thread.

"Every system has a bottleneck." True, and fine. Something always limits you; the useful question is whether the limiter is the part you are willing to upgrade.

Bottlenecks in LLM workloads are different

For local language-model inference, the usual limiter is neither CPU speed nor GPU compute, but memory bandwidth and capacity. During token generation each token requires reading the model weights from memory, so speed scales with the memory bandwidth of wherever the weights live. NVIDIA lists 24 GB of GDDR6X on the RTX 4090; models whose weights and cache fit in that VRAM run at GPU memory speed, while layers that do not fit are offloaded to system RAM and run at the much lower speed of system memory and the PCIe link. The relationship is explored in tokens per second and running 70B models locally.

Where the CPU does matter in inference: when layers are offloaded to the CPU (llama.cpp supports this partial offload, discussed in our server comparison), when tokenization and sampling in a Python server become the limit at very high request rates, and when preprocessing data for fine-tuning. For a GPU-resident model, a mid-range modern CPU is usually enough. Spending the budget on VRAM instead typically gives a larger real improvement.

PCIe also deserves a mention. A PCIe Gen4 x16 slot is about 32 GB/s per direction and Gen5 x16 about 64 GB/s per direction (the commonly quoted 64 and 128 GB/s figures are bidirectional totals). That is plenty for a single GPU holding the whole model, since weights cross the bus once at load time. It matters for multi-GPU splits and offloading; see NVLink versus PCIe.

A worked example

Suppose a game runs at 1080p on an RTX 4090 and CPU thread 1 limits you to 240 fps; the GPU shows 55 percent utilization. At 1440p the same game drops to 200 fps with GPU utilization at 75 percent, and at 4K it falls to 130 fps with the GPU at 98 percent. The interpretation: at 1080p and 1440p the CPU is the limiter (GPU headroom remains), though at 1440p the GPU is getting close; at 4K the GPU is the limiter. If your monitor is 4K at 120 Hz, you are effectively balanced and a faster CPU would not raise your experienced frame rate, which is capped at 120 anyway. If your monitor is 1080p at 360 Hz, a faster CPU is the upgrade that matters. These numbers are invented for illustration, but the reasoning is how you read your own measurements.

Other limiters that masquerade as CPU or GPU problems

Before blaming either processor, rule out the quieter culprits. Memory configuration is the most common: a CPU fed by a single stick of RAM, or by memory running below its rated speed because the profile was never enabled, can lose a measurable share of performance in CPU-bound games. Thermal throttling is next; a GPU that reaches its temperature limit lowers its clocks, and the monitoring overlay will show clock speed falling over a few minutes while utilization stays high. Power limits do something similar when a card is capped below its default board power. Background software, an antivirus scan, or a browser with dozens of tabs can steal CPU time. And a storage device that is nearly full or very slow can cause hitches when a game streams assets, which looks like a frame-time spike rather than a lower average.

A second category is the link between parts. A GPU in a slot that is wired for fewer PCIe lanes than expected, because a second device shares them, will transfer data more slowly; this rarely changes game frame rates much but can slow loading and some compute tasks. Check the link width and generation reported by your GPU utility while the card is under load, since many cards drop to a lower link state at idle to save power.

Deciding what to buy

  1. Decide the resolution and refresh rate you will actually use.
  2. Find benchmark results for your target games or applications at those settings from reviewers who publish frame-time data. Compare how the candidate CPUs and GPUs scale.
  3. Prefer a balance that leaves slight GPU limitation at your target settings; this gives the smoothest frame times and the best use of the more expensive part.
  4. Leave budget for power: a high-end pairing needs a supply sized for it (see PSU sizing for the RTX 4090).
  5. If your workload is local AI, put memory capacity and bandwidth first; see GPU memory estimation.

Sources

Figures are estimates based on published model configurations and vendor specifications. Real memory use, speed and power draw depend on the software stack, drivers, settings and workload, so test on your own hardware before you buy. Spotted a mistake? Email huhuwen09@gmail.com with the page address and we will check and correct it.