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

Volume Shader BM Test は、小さく透明性の高いベンチマークです。このページでは、何を測定しているのか、4つのテストモード、結果パネルの指標、そして表示される数値が公平な比較にならないケースを正確に説明します。
1. レンダリングスタック
このテストは、単一のフラグメントシェーダーを通じて、完全に WebGL 2.0 上で動作します。ネイティブプラグイン、補助拡張、オフスクリーンワーカーは使用していません。頂点シェーダーはフルスクリーンの三角形を1つ描画し、フラグメントシェーダーが画面上のすべてのピクセルに対して処理を行います。
2. シェーダーが行うこと — SDF による raymarching
ポリゴンをラスタライズする代わりに、フラグメントシェーダーは Signed Distance Fields(SDF)を使った raymarching を使用します。各ピクセルごとに、GPU はカメラから仮想レイを飛ばし、SDF で定義された表面に当たるか、シーン外へ抜けるまで、離散的なステップで前進させます。各ステップでは距離場全体を評価します。これは大きな数学処理の塊であり、シェーダーコアに強い負荷をかけます。
これは、WebGL 2.0 raymarching 詳細解説 で深く取り上げているものと同じ技術です。
3. テストモード
4つのモードがあります。これらは単なる解像度スケールではありません。それぞれ異なるシェーダーワークロードを実行するため、スコアを直接比較することはできません。
- Light — ステップ数が少なく、解像度も低めです。控えめなモバイル GPU でも、基準値として使える FPS で動作するように設計されています。
- Medium — 中程度の反復回数、ネイティブのキャンバス解像度です。一般的な高負荷シェーダーワークロードに近い内容です。
- Heavy — ピクセルあたり 1,000 回以上のシェーダー反復を行います。多くのデスクトップ GPU が 30〜60 FPS 程度に収まるモードです。
- Extreme — ハイエンドの独立 GPU でもフレーム落ちし始めるレベルまで負荷を高めています。上位性能のランキングには有用ですが、気軽な比較向きではありません。
4. 指標
- Average FPS — 実行全体のフレームレートです。ただし最初の1秒は除外します(§6 を参照)。
- Min / Max FPS — 実行中の最悪および最良の1秒間の FPS です。
- Frame time — 1フレームあたりのミリ秒数です。60 FPS ≈ 16.7 ms、30 FPS ≈ 33.3 ms です。
- Stability — 実行中のフレームタイムがどれだけ安定しているかを示します。高い安定性は GPU が性能を維持できたことを意味し、低い値はスロットリング、プリエンプト、またはリソース競合が起きたことを意味します。
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、結果は収集しません。標準的なアクセス解析と広告サービスを使用しており、それらが Cookie を設定する場合がありますが、ベンチマークデータがデバイス外へ送信されることはありません。