Guide

Volume Shader BM Test — 測定方法

このベンチマークが内部でどのように動作するのかを解説します。モード、指標、精度の限界、そしてこのテストで分からないことも説明します。

🚀 volumeshadertest
6月24日
5分

Volume Shader BM Test は、小さく透明性の高いベンチマークです。このページでは、何を測定しているのか、4つのテストモード、結果パネルの指標、そして表示される数値が公平な比較にならないケースを正確に説明します。

1. レンダリングスタック

このテストは単一のフラグメントシェーダーを通じて WebGL 2.0 上で動作します。ネイティブプラグイン、補助拡張、オフスクリーンワーカーは使用しません。頂点シェーダーはフルスクリーン三角形を2つ描画し、フラグメントシェーダーが各ピクセルの測定対象処理を行います。

2. シェーダーが行うこと — SDF による raymarching

ポリゴンをラスタライズする代わりに、フラグメントシェーダーは Signed Distance Fields(SDF)を使った raymarching を使用します。各ピクセルごとに、GPU はカメラから仮想レイを飛ばし、SDF で定義された表面に当たるか、シーン外へ抜けるまで、離散的なステップで前進させます。各ステップでは距離場全体を評価します。これは大きな数学処理の塊であり、シェーダーコアに強い負荷をかけます。

これは、WebGL 2.0 raymarching 詳細解説 で深く取り上げているものと同じ技術です。

3. テストモード

4つのモードがあります。これらは単なる解像度スケールではありません。それぞれ異なるシェーダーワークロードを実行するため、スコアを直接比較することはできません。

  • Light — 最大 200 レイステップ、ソルバーレベル 8。
  • Medium — 最大 600 レイステップ、ソルバーレベル 8。
  • Heavy — 最大 1002 レイステップ、ソルバーレベル 8。
  • Extreme — 最大 1500 レイステップ、ソルバーレベル 12。

すべて表示中の canvas 解像度を使い、レイは最大ステップ前に早期終了する場合があります。

4. 指標

  • Average FPS — 実行全体のフレームレートです。ただし最初の1秒は除外します(§6 を参照)。
  • Min / Max FPS — 実行中の最悪および最良の1秒間の FPS です。
  • Frame time — 1フレームあたりのミリ秒数です。60 FPS ≈ 16.7 ms、30 FPS ≈ 33.3 ms です。
  • Stability — 最小の1秒 FPS を最大の1秒 FPS で割った割合です。今回の変動を示しますが、熱スロットリングだけを証明するものではありません。

FPS 結果ガイド では、これらの段階を日常的な感覚でどう読むかを説明しています。

5. テストモードは直接比較できません

各モードは異なる内部ループの予算を持っています。45 FPS の Light スコアと 45 FPS の Heavy スコアは、同じ GPU 処理量を表していません。2つのデバイスを比較する場合は、必ず両方で同じモードを実行し、できれば同じブラウザを使用してください。

6. 初回実行が不安定なのは意図的です

ページを初めて読み込むと、ブラウザは GLSL をドライバー固有のバイナリにコンパイルします。一部のドライバーではこれに数百ミリ秒かかり、実行開始時のカクつきとして現れます。最初の結果は捨て、2回目の結果を使用してください。デバイス比較では、それぞれ2回実行してください。

7. モバイル結果は GPU 以外にも大きく影響されます

スマートフォンのベンチマークは、GPU シリコンの素の性能だけでなく、放熱余裕と OS の電源ポリシーに大きく左右されます。バッテリーセーバー / 低電力モード、画面輝度、ケース素材、さらには端末の持ち方でもスコアは変わります。公平にスマートフォンを比較するには、電源に接続し、バッテリーセーバーを無効にし、ピーク FPS よりも stability を重視してください。詳細は スマホ GPU テストガイド を参照してください。

8. このテストではないもの

Volume Shader BM Test は、合成ワークロード上でのシェーダー ALU スループットを測定します。ブラウザ、ドライバー、またはデバイスが GPU 計算性能の一部を失っていないかを見つけるには非常に有用です。ただし、これは次のものではありません

  • 3DMark、Geekbench GPU、GFXBench のようなネイティブベンチマークの代替。
  • ゲーム FPS の予測指標。ゲームはシェーダー ALU ではなく、ドローコールやテクスチャ帯域幅に大きく左右されます。
  • メモリ帯域幅、レイトレーシング性能、動画デコード性能の測定。

9. プライバシー

レンダリング、FPS 計測、結果集計はブラウザ内で行われ、ハードウェアフィンガープリント、GPU ID、スコアは送信しません。任意の Google Analytics は同意後のみ読み込まれ、広告スクリプトは現在無効です。詳細と同意管理はプライバシーポリシーをご覧ください。

テストを実行する

Volume Shader BM テストを開始 →

関連

タグ
測定方法透明性仕組み