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

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 は同意後のみ読み込まれ、広告スクリプトは現在無効です。詳細と同意管理はプライバシーポリシーをご覧ください。