CPUとGPUの負荷
目次
PCBenchmarkXは各リピートで固定された作業量の合成負荷を実行するため、異なるシステム間で比較できます。これらのテストではゲームの記録は使用されず、最終的な数値は「特定のゲームでのFPS」とは異なります。完全な測定サイクルは手法に記載されています。
この説明はエンジン0.8.0に関するものです。バージョン間でGPUシナリオの実行が変更されたため、古い測定値はスコアを再計算しただけでは新しい測定値と同等とは見なせません。ドライバーやオーバークロックを確認するには、1つのエンジンバージョンを使用してください。
CPU: オブジェクトのシミュレーション
Section titled “CPU: オブジェクトのシミュレーション”CPUブロックでは、座標、速度、フラグを持つ65 536個のオブジェクトが作成されます。各ステップで移動、境界からの反射、可視性が再計算されます。メインスレッドはまず8 192個のオブジェクトを連続して処理し、その後残りの部分をワーカースレッドに渡し、並行して準備を行います。その後、スレッドが同期されます。
ワーカースレッド数は次のルールで選択されます:
workers = clamp(physical_cores − 1, 1, 6)物理コア数が不明な場合は、論理プロセッサによる推定値が使用されます。スレッド用のコアは手動で固定されません。このアプローチは、すべてのコアで完全に並列化された実行ではなく、限られた支援を伴う「単一リード」スレッドのモデルを模倣しています。
オブジェクトの状態と走査順序は決定論的です。CPUセクションの各測定前に、それはリセットされ、512の準備フレームを除外して実行し、前回の実行からの残留状態をシリーズに持ち込まないようにします。
負荷の決定論は、同じ実行時間を意味するものではありません: 周波数、温度、スケジューラ、バックグラウンドプロセスは引き続き測定に影響を与えます。
3つのGPU負荷
Section titled “3つのGPU負荷”GPU部分はDirect3D 12を通じて動作します。内部の作業テクスチャは、ウィンドウやデスクトップのサイズに関係なく、固定サイズ1920×1080です。
| 負荷 | 計算作業 | 何を区別するのに役立つか |
|---|---|---|
| Geometry | 9 216インスタンスによる6回のシーン描画と2パスのポストプロセス | ジオメトリ処理とグラフィック作業の供給 |
| Shader | 1回のシーン描画、16パスのポストプロセス、シェーダー複雑度パラメータ24 | ピクセルおよびテクスチャ負荷 |
| Compute | グリッド1920×1080、グループ8×8、96イテレーションの整数演算 | コンピュートシェーダーの実行 |
| Combined | CPUシミュレーションと固定グラフィックパイプライン | CPU、ドライバー、GPUの協調動作 |
これらは異なる作業量を持つ個別のシナリオです。例えば、Computeの8 000条件付きフレームは、ゲームでの8 000 FPSとして読んだり、Geometryの800フレームと直接比較することはできません。統合には、スコア計算に記載されているシナリオごとの正規化が適用されます。
負荷はポータブルな機能レベルで書かれています: shader model 5.0およびfeature level 11_0、ベンダー拡張なし。同じコードが異なる世代およびメーカーのビデオカードで実行され、特定のベンダー向けの別ブランチはありません。
負荷の実行の正確性は速度とは別に検証されます。エラーが発生した場合は、プログラムのメッセージに従い、原因を解消した後にテストを繰り返してください。
このセットには、ディスク速度とRAM帯域幅の個別テストはありません。メモリとドライバーは負荷の実行に影響を与えますが、ベンチマークはSSDとRAMの個別評価を計算しません。
ブロックの繰り返し
Section titled “ブロックの繰り返し”5つのパフォーマンス負荷は、順序を入れ替えながら3ラウンドで実行されます:
| ラウンド | 順序 |
|---|---|
| 1 | CPU → Geometry → Shader → Compute → Combined |
| 2 | Shader → Compute → Combined → CPU → Geometry |
| 3 | Combined → CPU → Geometry → Shader → Compute |
各負荷のシーケンス内の位置はラウンドごとに変わります。これにより、比較への影響が減少します。ウォームアップは依然として結果を変える可能性があるため、ブロックに対して実行速度のばらつきと最初のブロックから最後のブロックへの変化が追加で保存されます。
シナリオの評価には、その3つのブロックのthroughputの算術平均が使用されます。ブロックの中央値と幾何平均は追加の診断として確認できますが、最終的な指標は依然としてこの平均に基づきます。
なぜ低解像度がメインテストを軽減しないのか
Section titled “なぜ低解像度がメインテストを軽減しないのか”CPU、GPU、Combinedの負荷は画面バッファ外で実行されます。それらのコマンド送信パスはPresentを引き起こさず、表示キューの制限を待ちません。内部テクスチャは、デスクトップが800×600に切り替えられても、1920×1080のままです。
インターフェースとレイテンシテストは別の出力パスを通じて動作します。したがって、デスクトップ解像度の変更自体は負荷を軽減しません。それでも、どの解像度でも「完全に同一の」結果を読み取ることはできません: 出力部分にはドライバーとシステムの現在の状態が関与します。
バージョン0.5.2の1920×1080、1280×768、800×600でのアーカイブ検証は再現性に関する記事に記載されています。これはGPUシナリオ変更後の新しいシリーズを置き換えるものではありません。
ドライバーとビデオカードの比較
Section titled “ドライバーとビデオカードの比較”Geometry、Shader、Computeは異なる実行パスを検証します。1つのビデオカードがあるシナリオでは速く、別のシナリオでは遅い場合があります。ドライバーのバージョン、周波数、電力制限、コマンド供給が結果を変える可能性があります。Computeだけが異なるからといって、その差をドライバーだけに帰することはできません。複数のリピート、エンジンバージョン、各シナリオを個別に比較してください。
デスクトップ解像度を下げてもComputeの作業グリッドは減少しません。このテストはウィンドウ表示のFPSではなく、独自のコンピュートシェーダーを使用します。基本GPU ScoreにおけるComputeの重みは10%です; 詳細は計算式に記載されています。
説明された実装について検証済み: 2026-10-02。
