truebottleneck
方法论 · v1.0

我们如何计算每一个数字

这就是别的计算器没有的页面。下面是本站每个数字背后的完整逻辑——归一化、公式、精确常数、诚实的严重程度档位,以及我们刻意不去妄称知道的部分。每一个常数都是从公开跑分数据拟合而来,可复现。

1 · 部件分值(归一化)

瓶颈和 FPS 都从同一步开始:把每个 CPU 和 GPU 换算成一个可比较的 0–100 游戏性能分,由公开跑分数据构建而来。

CPU —— 取可用的最佳分值,换算到同一标尺

cpu_index = gaming_score              (if present — most game-accurate)
          = 1.4631 × single_thread    (else; measured median ratio, 188 samples)
          = 0.15651 × cpu_mark        (else; measured median ratio, 139 samples)
cpu_norm  = min(100, cpu_index / 12521 × 100)   (12521 = Ryzen 7 9850X3D, our gaming-flagship reference)

GPU —— 单一干净的指标

gpu_norm = min(100, g3dmark / 38951 × 100)   (38951 = RTX 5090, strongest standard retail card)

我们把 CPU 标尺锚定在最强的游戏芯片上,而不是图表上绝对最快的多核处理器。一颗 64 核的工作站 CPU 在游戏里并不更快,拿它当上限会不公平地压低每颗游戏 CPU 的分值,并夸大 CPU 瓶颈。GPU 上限则取最强的标准零售显卡,并刻意排除地区限定版本(如中国特供的 RTX 5090 D)和样本量过低的异常值,这样一个样本稀薄、虚高的分数就无法拉低其他所有显卡的归一化值。

2 · 瓶颈公式

两个部件中较弱的那个就是限制方。这个弱点究竟有多要紧,取决于分辨率:4K 下较慢的 CPU 几乎看不出影响,而较慢的显卡在那里被感受得最强烈。于是我们取两个部件之间的原始性能差距,再按较弱一方在你所选分辨率下有多关键来缩放。

分辨率 若 CPU 较弱 若 GPU 较弱
1080p0.550.50
1440p0.380.70
4K0.200.90
strong, weak = max(cpu_norm, gpu_norm), min(cpu_norm, gpu_norm)
limiter      = the weaker component (CPU or GPU)
rawgap       = (strong − weak) / strong          # relative capability gap, 0–1
bottleneck%  = rawgap × impact[limiter][res] × 100

搭配得当的一对,rawgap 极小,所以在每个分辨率下瓶颈都接近零。只有当较弱的部件恰好是该分辨率所倚重的那个时,真正的失衡才会被读作“显著”——例如 4K 下的一块弱显卡。

3 · FPS 公式

一块显卡跑某款游戏的原始帧数预算,与它的 g3dmark 以及该游戏在该分辨率下的实测需求呈线性关系。下面的基准常数是跨 84 块显卡拟合得出的。

est_fps  = baseline_a[res] × gpu.g3dmark × game.demand[res]
           baseline_a: 1080p = 0.00870   1440p = 0.005665   4K = 0.003363
1%_low   = est_fps × game.low1pct_ratio
fps      = min(est_fps, cpu_cap)    # cpu_cap = cpu_norm × coeff[category]
           coeff: esports/light ≈ 10   mixed/medium ≈ 5   heavy AAA ≈ 3
           # your CPU can't feed more frames than this, whatever the GPU does
# quality (non-Ultra): low ≈ ×1.6, medium ≈ ×1.3, high ≈ ×1.1
# DLSS/FSR ≈ ×1.3 (quality);  frame-gen ≈ ×1.6–1.9 (smoothness, not input latency)

示例:一块 RTX 4060(g3dmark 19498)在 Cyberpunk 2077、1080p Ultra 下 ≈ 0.00870 × 19498 × 0.437 ≈ 74 fps —— 与实测的原生(无光线追踪)结果相符。

4 · 诚实的严重程度档位

大多数计算器把微小的差距夸成吓人的字眼,好推你去升级。我们不这么做。高分辨率下显卡受限是健康且正常的——我们的措辞保持平和。

< 15%均衡 — 搭配健康,无需升级
15–30%中等 — 轻微;在更高分辨率下往往会自行抹平
> 30%显著

5 · 置信区间

任何单独一个数字本身都不诚实。每个结果都附带一个 ± 区间,起点是 ±10%,并随输入质量调整——我们需要估算的越多,区间就越宽;我们知道的越多,区间就越窄。下面是确切的公式:

confidence = 10                         (base)
           + 5   if the CPU score came from a converted metric (not native gaming_score)
           + 5   if the GPU's VRAM is missing and we fall back to a tier estimate
           − 3   if you picked a specific game (its demand is known, so we're more sure)
           + 2   per approximation toggle enabled (DLSS/FSR, frame-gen, non-Ultra preset)
confidence = clamp(result, 8%, 25%)

瓶颈头条是纯 CPU↔GPU 的数值,所以只有真正会改变它的因素(CPU 指标质量、游戏是否已知)才会拓宽它的区间;FPS 估算则会对每一个近似开关额外拓宽。如果结果与现实有出入,真值几乎总是落在那个区间之内。

6 · 我们不妄称的部分

  • 这些是估算,不是保证。驱动、散热、后台负载和游戏补丁都会改变真实数字。
  • 未指定游戏时,估算采用「平均 AAA」画像(需求 ≈ 0.6),并附带更宽的区间。
  • 帧生成的数字反映的是流畅度,而非输入延迟——插值出来的帧并不能改善它。
  • 内存容量和频率以提示旁注的形式呈现(如 8 GB 警告、高频 DDR5 提醒)——绝不会揉进头条瓶颈百分比,那一项始终是纯 CPU↔GPU 的数值。
  • 随着新跑分入库,分值会自动重新校准;硬件库会显示它最后的更新日期。

既然你已经看过这套算法,就用你自己的配件跑一遍吧。