CPU vs GPU Bottleneck Calculator
Use CPU and GPU frame times captured from the same repeatable scene, settings and run method. Utilization alone cannot prove a bottleneck. This tool has no hardware-name database and makes no purchase or upgrade recommendation.
Describe the benchmark context
Labels are optional. Do not enter account names, serial numbers or confidential project information.
Direct-view values are processed through Livewire. Funnel values, including optional labels, are placed in the page URL and browser history so each step can restore them. Do not enter confidential workload names or information.
Use this bottleneck calculator to compare measured CPU and GPU frame times from the same game scene. It estimates each side’s frame-rate ceiling, identifies the slower side only when the gap exceeds your tolerance, and explains why one capture cannot become a universal bottleneck percentage for every game or setting.
How to analyze a CPU or GPU bottleneck
-
1
Capture one repeatable scene
Use an in-game benchmark, replay or fixed route with the same resolution, graphics settings, frame cap and VSync state. Warm up the game before recording.
-
2
Enter CPU frame time
Copy the CPU time per frame in milliseconds from your profiler or performance capture. Use a representative value from the chosen test window.
-
3
Enter GPU frame time
Copy the matching GPU time from the same scene and capture window. Do not combine results from different runs, presets or resolutions.
-
4
Set a tolerance and interpret the result
A tolerance treats small differences as balanced because normal run-to-run variation can reverse a close result. Repeat the capture before acting on a marginal gap.
Frame time is the useful starting point
Frames per second is the reciprocal of frame time. When time is measured in milliseconds:
frame-rate ceiling = 1000 / frame time in ms
The slower measured stage sets the simplified pipeline ceiling:
estimated ceiling = 1000 / max(CPU frame time, GPU frame time)
This is a diagnostic estimate, not a promise that the game will present frames at exactly that rate. Frame caps, synchronization, queues, engine work, loading, operating-system scheduling and display presentation can all affect observed FPS. Microsoft defines CPU time per frame and GPU time per frame separately in its DirectX profiling guidance because either side can exceed the available frame budget.
| Target frame rate | Time budget per frame |
|---|---|
| 30 FPS | 33.33 ms |
| 60 FPS | 16.67 ms |
| 120 FPS | 8.33 ms |
| 144 FPS | 6.94 ms |
| 240 FPS | 4.17 ms |
The 1000 / ms conversion is a ceiling for the measured stage. For example, a 12 ms CPU time corresponds to about 83.33 FPS, while a 7 ms GPU time corresponds to about 142.86 FPS. In that capture, the CPU side is slower and the simplified ceiling is about 83.33 FPS.
Why the tolerance matters
Close frame times should not be reported with false certainty. This calculator compares the absolute gap with the slower frame time:
relative gap = |CPU ms - GPU ms| / max(CPU ms, GPU ms) × 100
If that gap is inside your selected tolerance, the result is balanced or indeterminate for this capture. If it exceeds the tolerance, the side with the longer frame time is the current limiting side.
| CPU time | GPU time | Relative gap | Result at 5% tolerance |
|---|---|---|---|
| 12.0 ms | 7.0 ms | 41.67% | CPU-side limitation |
| 6.0 ms | 10.0 ms | 40.00% | GPU-side limitation |
| 8.0 ms | 8.3 ms | 3.61% | Balanced or too close to call |
This percentage describes the separation between two timings in one workload. It is not the percentage of the CPU or GPU that is wasted, and it does not predict the performance gain from changing hardware.
Make the capture reproducible
A useful comparison keeps the workload stable. Use the same:
- game and engine build;
- save, replay, benchmark sequence or fixed movement route;
- resolution, render scale, quality preset and graphics API;
- frame cap, VSync and dynamic-resolution state;
- driver settings, power mode and background workload;
- warm-up period and capture duration.
Run the test several times and compare representative statistics instead of trusting one short sample. AMD’s CPU performance guidance recommends fixing variables such as the test scene and random seed, while its Unreal Engine guidance suggests changing resolution as a diagnostic: if a much higher rendering resolution barely changes performance, that is evidence worth investigating for a CPU-side limit in that workload. It is still evidence, not a universal verdict.
Why utilization is not proof
Utilization can support a diagnosis but cannot establish one by itself. Total CPU utilization may look modest while one main or render thread is saturated. Low GPU utilization may come from a frame cap, a wait on the CPU, synchronization or too little submitted work. High GPU utilization says that the device was busy; it does not identify the exact expensive pass or predict an upgrade result.
Timing tools provide better context. Intel PresentMon records frame and GPU telemetry, NVIDIA Nsight shows CPU and GPU frame durations and GPU workload ranges, and AMD Radeon GPU Profiler visualizes queue timing and GPU idle periods. Even profiler thresholds are heuristics: Radeon GPU Profiler’s CPU-bound classification uses an adjustable GPU-idle threshold rather than a law that applies to every engine.
What 1% lows can and cannot tell you
A 1% low summarizes the slow tail of a frame-time distribution, so it is useful for spotting uneven delivery that an average can hide. It does not reveal whether the CPU, GPU, asset streaming, shader compilation, memory pressure or another stall caused those slow frames.
Definitions also vary. Some reports derive a rate from the 99th-percentile frame time (1000 / p99 frame time), while others average the slowest 1% of FPS samples. NVIDIA Nsight Systems defines its 99th-percentile frame length as the value for which only 1% of frames are longer. Record the tool and definition when comparing results, and do not substitute a 1% low value for matching CPU and GPU frame times.
Why universal bottleneck percentages are misleading
A computer does not have one permanent CPU/GPU bottleneck ratio. The limiting work can change with the game, scene, resolution, settings, engine version, driver, frame cap and target frame rate. A busy city scene may stress simulation and draw-call submission, while a different scene at a higher render scale may spend more time on the GPU.
Model-name calculators cannot observe those conditions. A result such as “23% bottleneck” without measured, same-scene timing has no stable technical meaning. Use this calculator to describe the capture you actually made, repeat the test under the workload you care about, and use a timeline profiler when you need to find the specific work responsible.
Official technical references
Frequently Asked Questions
Enter CPU time per frame and GPU time per frame in milliseconds from the same profiler capture and scene. Do not enter overall utilization percentages, advertised clock speeds, benchmark scores or timings collected at different settings.
No. It means the measured CPU frame time was longer than the GPU frame time by more than the selected tolerance in this capture. A frame cap, game settings, background work, one expensive thread or the scene itself may change the result. Profile the workload before drawing a broader conclusion.
Five percent is a practical starting point for separating a clear gap from a close result, but it is not a universal standard. Use a wider tolerance when repeated runs vary more, and compare several captures before classifying a marginal difference.
No. They summarize different parts of delivered frame performance and are not CPU and GPU timings. Use matching CPU-ms and GPU-ms measurements. Keep average FPS and 1% lows as separate context for throughput and frame-time consistency.
Resolution and render scale usually change GPU work more directly than CPU simulation or submission work. Increasing them can move the longer frame time toward the GPU; lowering them can expose a CPU-side limit at higher frame rates. The new result describes the new workload, not a contradiction.
Related Tools
BMI Calculator
Calculate body mass index from height and weight. Shows WHO category, healthy-weight range and limitations of BMI.
One Rep Max Calculator
Estimate your one-rep max (1RM) from weight lifted and reps completed using Epley, Brzycki and Lander formulas.
GPA Calculator
Calculate grade point average from letter grades and credit hours. Supports US 4.0 and 5.0 honors scales with the standard A/B/C/D letter table.
Age Calculator
Calculate exact age in years, months and days from a birth date, plus total days, hours and the next birthday countdown.
Scientific Calculator
Full scientific calculator with trig, log, exponents, factorial, memory, parentheses and DEG/RAD toggle. Runs in your browser.
Inflation Calculator
Calculate the equivalent purchasing power of a dollar across any two years using historical CPI data from 1913 to today.