CPU・GPUボトルネック計算機

普遍的なボトルネックスコアではなく実測フレーム時間

同じ再現可能な場面、設定、実行方法で取得したCPUとGPUのフレーム時間を使用してください。使用率だけではボトルネックを証明できません。このツールにハードウェア名のデータベースはなく、購入やアップグレードを推奨するものでもありません。

フレーム時間分析

ベンチマークの条件を記述

ラベルは任意です。アカウント名、シリアル番号、機密性のあるプロジェクト情報は入力しないでください。

直接表示の値はLivewire経由で処理されます。任意のラベルを含むステップ形式の値は、各ステップで復元できるようページのURLとブラウザー履歴に入ります。機密性のあるワークロード名や情報は入力しないでください。

同じゲーム場面で測定したCPUとGPUのフレーム時間を比較します。各側のフレームレート上限を推定し、差が指定した許容差を超えた場合だけ遅い側を示します。1回の測定から、あらゆるゲームや設定に通用する普遍的なボトルネック率を作れない理由も説明します。

CPUまたはGPUのボトルネックを分析する方法

  1. 1

    再現できる場面を測定する

    同じ解像度、画質設定、フレーム上限、VSync状態で、ゲーム内ベンチマーク、リプレイ、固定ルートを使います。記録前にゲームを十分動かしてください。

  2. 2

    CPUフレーム時間を入力する

    プロファイラーまたは性能記録から、1フレーム当たりのCPU時間をミリ秒で転記します。選んだ測定区間を代表する値を使います。

  3. 3

    GPUフレーム時間を入力する

    同じ場面、同じ測定区間のGPU時間を転記します。異なる実行、プリセット、解像度の結果を混ぜないでください。

  4. 4

    許容差を設定して解釈する

    実行ごとの通常のばらつきで僅差の順位が逆転し得るため、許容差内は均衡と扱います。小さな差だけで判断せず、測定を繰り返してください。

出発点として役立つのはフレーム時間

FPSはフレーム時間の逆数です。時間をミリ秒で測る場合:

フレームレート上限 = 1000 / フレーム時間(ms)

測定した処理段階のうち遅い側が、単純化したパイプラインの上限を決めます:

推定上限 = 1000 / max(CPUフレーム時間, GPUフレーム時間)

これは診断用の推定であり、ゲームが必ずそのレートで表示するという保証ではありません。フレーム上限、同期、キュー、エンジン処理、読み込み、OSのスケジューリング、画面表示が実測FPSに影響します。MicrosoftのDirectXプロファイリング資料も、CPU側とGPU側のどちらも利用可能な時間予算を超え得るため、両者の1フレーム時間を別々に定義しています。

目標フレームレート 1フレームの時間予算
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

1000 / ms は測定段階の上限です。たとえばCPU時間12 msは約83.33 FPS、GPU時間7 msは約142.86 FPSに相当します。この測定ではCPU側が遅く、単純化した上限は約83.33 FPSです。

許容差が重要な理由

近いフレーム時間を過度な確信で判定してはいけません。この計算機は絶対差を遅い側のフレーム時間と比較します:

相対差 = |CPU ms - GPU ms| / max(CPU ms, GPU ms) × 100

差が指定した許容差内なら、この測定では均衡または判定困難です。許容差を超えた場合は、フレーム時間が長い側が現在の制限側です。

CPU時間 GPU時間 相対差 許容差5%での結果
12.0 ms 7.0 ms 41.67% CPU側の制限
6.0 ms 10.0 ms 40.00% GPU側の制限
8.0 ms 8.3 ms 3.61% 均衡、または判定には僅差すぎる

この割合は、一つの負荷で得た二つの時間の隔たりです。CPUやGPUの無駄の割合ではなく、ハードウェア交換による性能向上も予測しません。

再現可能な測定にする

有用な比較には負荷の固定が必要です。次を揃えてください:

  • ゲームとエンジンのビルド
  • セーブデータ、リプレイ、ベンチマーク手順、固定移動ルート
  • 解像度、レンダースケール、画質プリセット、グラフィックスAPI
  • フレーム上限、VSync、動的解像度の状態
  • ドライバー設定、電源モード、バックグラウンド負荷
  • ウォームアップ時間と測定時間

短い1回の標本を信じず、複数回実行して代表統計を比較します。AMDのCPU性能資料はテスト場面や乱数シードなどの固定を推奨し、Unreal Engine資料は解像度変更を診断に使います。解像度を大幅に上げても性能がほぼ変わらなければ、その負荷でCPU側の制限を調べる根拠になりますが、普遍的な判定ではありません。

使用率だけでは証明にならない理由

使用率は診断を補助しますが、単独では確定できません。CPU全体の使用率が低く見えても、メインまたはレンダースレッド一本が飽和している場合があります。GPU使用率が低い原因は、フレーム上限、CPU待ち、同期、投入処理の不足かもしれません。GPU使用率が高いことはデバイスが稼働していたことを示すだけで、高負荷な処理や交換後の結果までは特定しません。

時間計測ツールはより詳しい文脈を示します。Intel PresentMonはフレームとGPUのテレメトリを記録し、NVIDIA NsightはCPU・GPUのフレーム継続時間とGPU負荷区間を示し、AMD Radeon GPU Profilerはキュー時間とGPUアイドル区間を可視化します。プロファイラーのしきい値も経験則であり、Radeon GPU ProfilerのCPU制限判定も、全エンジン共通の法則ではなく調整可能なGPUアイドルしきい値を使います。

1% lowから分かること、分からないこと

1% lowはフレーム時間分布の遅い裾を要約し、平均値では隠れる不均一な表示の発見に役立ちます。しかし遅いフレームの原因がCPU、GPU、アセット配信、シェーダーコンパイル、メモリ圧迫、別の停止のどれかは示しません。

定義も一定ではありません。99パーセンタイルのフレーム時間からレートを求める方式(1000 / p99フレーム時間)も、最も遅い1%のFPS標本を平均する方式もあります。NVIDIA Nsight Systemsは、1%のフレームだけがそれより長い値を99パーセンタイルのフレーム長と定義します。比較時はツールと定義を記録し、1% lowを対応するCPU・GPUフレーム時間の代用にしないでください。

普遍的なボトルネック率が誤解を招く理由

PCに恒久的なCPU・GPUボトルネック比率はありません。制限する処理は、ゲーム、場面、解像度、設定、エンジン版、ドライバー、フレーム上限、目標レートで変わります。混雑した都市ではシミュレーションや描画命令の送信が重くても、別の場面を高いレンダースケールで動かせばGPU時間が長くなることがあります。

型番だけの計算機はこうした条件を観測できません。同一場面の実測時間なしに「23%のボトルネック」と示しても、安定した技術的意味はありません。この計算機は実際の測定を説明するために使い、重視する負荷で繰り返し、原因となる処理を特定する際はタイムラインプロファイラーを使ってください。

公式技術資料

よくある質問

同じ場面、同じプロファイラー測定から、1フレーム当たりのCPU時間とGPU時間をミリ秒で入力します。総使用率、公称クロック、ベンチマーク点数、異なる設定で測った時間は入力しません。

いいえ。この測定でCPU時間がGPU時間より許容差を超えて長かったという意味だけです。フレーム上限、設定、バックグラウンド処理、高負荷な一本のスレッド、場面によって結果は変わります。広い結論を出す前に負荷を詳しく測定してください。

5%は明確な差と僅差を分ける実用的な出発点ですが、普遍的な基準ではありません。反復結果のばらつきが大きければ広げ、僅かな差を分類する前に複数回比較してください。

できません。両者は表示性能の異なる部分を要約し、CPU時間とGPU時間ではありません。対応するCPU-msとGPU-msを使い、平均FPSと1% lowは処理量とフレーム時間の安定性を示す別の文脈として扱います。

解像度とレンダースケールは通常、CPUのシミュレーションや送信処理よりGPU処理を直接変えます。上げれば長い側がGPUへ移り、下げれば高FPSでCPU側の制限が現れることがあります。新しい結果は新しい負荷を表し、矛盾ではありません。

関連ツール