コンテンツにスキップ

スコアの計算方法

目次

PC Score は速度、遅延、均一性を 1 つの無次元指数に統合します。これを FPS や「Windows の高速化率」に直接変換することはできません。以下ではエンジン 0.5.2 向けのモデル score-model-1.2-candidate-1 について説明します。元のメトリクスが取得される条件は手法に記載されています。

ブロック内部では、スループットは有効なレコード数と最初と最後のレコードの時刻差から計算されます:

throughput = (N_valid − 1) × QPC_frequency / (last_QPC − first_QPC)

同じ負荷を 3 回繰り返した場合は、ブロックの throughput の平均が取られます。代わりに、異なる時点のシナリオが 1 つのブロックに混在しているフェーズ全体の行を使ってはいけません。

CPU フレーム時間: CPU 処理の継続時間です。GPU と Combined では、フレーム間隔は隣接する自身の GPU 開始タイムスタンプ間で計算されます。開始から終了までの GPU 処理そのものの継続時間は別に記録されます。

正の遅延は、たとえ数値を悪化させても除去されません。不正なタイムスタンプは別に識別されます。メトリクスが存在しない場合、それは unavailable のままで、そこにゼロは代入されません。

計算そのものには適合性の規則が適用されます: 非正、欠落、NaN、無限のクリティカル入力はスコアリング全体を棄却します。値はクランプされたり境界値に置き換えられたりしません — モデルに「修正された」入力は存在しません。

ソートされた値には線形補間 Hyndman-Fan Type 7 が使用されます:

h = (n − 1) × p
i = floor(h)
percentile = x[i] + (h − i) × (x[min(i + 1, n − 1)] − x[i])

インデックスはゼロから始まります。P50 は中央値に対応し、P99 は観測値のおよそ 99% がその下に収まる境界を示します。

  • 1% Low = 1000 / P99(フレーム時間、ミリ秒); 少なくとも 100 個の間隔が必要です。
  • 0,1% Low = 1000 / P99,9; 少なくとも 1 000 個の間隔が必要です。

これらの値は時間の逆パーセンタイルであり、最悪の 1 パーセントのフレームの平均 FPS ではありません。Low FPS の定義が異なれば、同じデータでも数値は異なる場合があります。

さらに、平均、最小、最大、P90、P95、n で割る標準偏差、中央値絶対偏差、変動係数が計算されます。

速度は「大きいほど良い」ため、正規化された値は измерение / эталон に等しくなります。遅延とテールの中央値に対する比は「小さいほど良い」ため、эталон / измерение が使用されます。

重み付き幾何平均:

G(x, w) = exp(Σ(w × ln(x)) / Σw)

これは測定値と基準値の比を統合するため、異なる測定単位が加算されることはありません。各成分の影響はその重みに依存します: そのうち 1 つを 2 倍にしても、最終結果が 2 倍になるわけではありません。

基準とは正規化用の固定された定数の集合であり、ここでは provisional-dev-reference-2026-08-21 と呼ばれます。これは「市場平均」でも業界標準でもありません。基準値と完全に一致した場合、最終指数は 10 000 になります。

シナリオ 基準 throughput、条件付きフレーム/秒
CPU 4 000
Geometry 740
Shader 360
Compute 7 600
Combined 665
GPU = G(Geometry / 740, Shader / 360, Compute / 7600)
Performance = 10000 × G(CPU / 4000, GPU, Combined / 665)

これら 2 つの式では引数は釣り合っています。Performance では CPU と Combined の寄与は同じ (それぞれ 3 分の 1) であり、3 つの GPU シナリオはそれぞれ対数部分で 9 分の 1 を寄与します。

ソフトウェア信号から GPU 処理の完了までの内部遅延の P50、P95、P99 が使用されます。

シナリオ P50、ミリ秒 P95、ミリ秒 P99、ミリ秒
Baseline 2,5 4 6
Loaded 9 12 16

各シナリオについて、重み 50/30/20 で G(эталон P50 / P50, эталон P95 / P95, эталон P99 / P99) が計算されます。次に:

Core Latency Score = 10000 × G(Baseline, Loaded; веса 40/60)

遅延が減少するとスコアは増加します。ミリ秒単位の測定値そのものは、逆に小さいほど良いです。

この成分は P99 / P50 の比に注目し、典型的な時間に対する遅延の強いテールがどの程度かを示します。これは個々の実行間の再現性のメトリクスではありません。

入力 基準 P99/P50
CPU frame time 1,20
Shader frame time 1,15
Combined frame time 1,20
Baseline Core Latency 2,40
Loaded Core Latency 16/9

各入力について эталон / измеренное отношение が計算され、次に 5 つの値の等しい重みでの幾何平均が取られ、10 000 が掛けられます。現在のモデルでは GPU テールは Shader から取られ、Geometry、Shader、Compute の寄せ集めからではありません。

PC Score = 10000 ×
(Performance / 10000)^0.50 ×
(Core Latency Score / 10000)^0.30 ×
(Consistency / 10000)^0.20

重み 50/30/20 は手法の内部で定義されています。それらはすべてのゲームに対する CPU、GPU、遅延の普遍的な割合を意味するものではありません。したがって、結果を比較する際は、成分ごとの内訳と元のメトリクスの両方を見る必要があります。

感度分析のために、エンジンは重み 60/20/20 と 40/40/20 の変種も計算します。さらに、各リーフ入力について解析的感度が出力されます: その入力を +1、+5、+10% ずらしたときの最終スコアです。これらは重みの選択と個々の入力の影響を確認するのに役立ちますが、主要な評価を置き換えるものではありません。

8 回の実行の検証では、4 つの評価すべてが保存された要約メトリクスから再計算されました。差異は 0,000001 ポイント未満でした。このような再計算はモデルの算術を検証します。再計算によって不適格なキャプチャを適格に変えることはできません: 取り消された実行、不完全な実行、診断用の実行は、どのような再処理でも不適格のままです。タイマーの精度とハードウェア上での再現性には別途の検証が必要です。

検証済み: 2026-09-20。