FPSテスト
ブラウザーのフレームレートとフレーム間隔のばらつきを測定。
軽量な描画を行いながら、このタブにアニメーションコールバックが届く間隔を10秒間測ります。GPUに高負荷をかけずに、平均FPS、1% Low、フレーム間隔を確認できます。
これはブラウザーのタイミング測定です。ゲームのベンチマークやモニターのリフレッシュレートを直接測るものではありません。
測定できます
平均FPS
— FPS
現在のFPS
— FPS
フレーム間隔の中央値
— ms
1% Low FPS
— FPS
0.0 / 10 s · 0 間隔
— ms
指標の定義
現在のFPS: 直近の短い時間窓に含まれる完全な間隔を数えて算出します。
平均FPS: 1,000 × 間隔数 ÷ 合計ミリ秒。瞬間FPSの算術平均ではありません。
1% Low FPS: 最も長いceil(N × 0.01)個の間隔の平均で1,000を割ります。100間隔以上が必要です。
フレーム間隔の中央値: アニメーション間隔の中央値(線形補間)。GPUの実行時間ではありません。
P95間隔: (N − 1) × 0.95の位置で線形補間した95パーセンタイル。
P99間隔: (N − 1) × 0.99で線形補間した99パーセンタイル。1,000/P99はこのテストの1% Lowとは異なります。
長い間隔の数: 中央値の1.5倍を厳密に超える間隔。ディスプレイの欠落フレーム数ではありません。
代表的なコールバック頻度: 1,000 ÷ 間隔の中央値。代表的なコールバックの頻度であり、確認済みの表示仕様ではありません。
測定したいディスプレイで、ウィンドウサイズと電源設定を固定し、測定中はスクロールを控えてください。全画面表示でもブラウザーの制約はなくなりません。 計算は端末内で行い、測定レポートはアップロードしません。サイト全体の分析についてはプライバシーポリシーをご確認ください。
フレームレートの動きを比較
低い更新頻度の動きを、現在のブラウザーのコールバック頻度と比較します。見える違いはブラウザーやディスプレイの制約を受けます。
30 回/秒(目標)
実測更新回数/秒: —
60 回/秒(目標)
実測更新回数/秒: —
120 回/秒(目標)
実測更新回数/秒: —
ブラウザーの頻度
実測更新回数/秒: —
これはアニメーションの更新回数であり、実際に表示されたフレーム数ではありません。全トラックの速度は同じです。頻度が割り切れない場合、更新間隔は均等になりません。再生は手動で開始します。
FPSテストの手順
1. 測定条件をそろえます。確認したいディスプレイでこのページを開き、比較時はブラウザー、ウィンドウサイズ、電源設定を同じにします。不要なアニメーションページや負荷の高いアプリを閉じてください。
2.「FPSテストを開始」を選びます。約1秒の予備測定後、完全なフレーム間隔を10秒以上収集します。
タブを表示したまま、ディスプレイ間でウィンドウを移動しないでください。表示サイズ、DPR、画面の向き、全画面状態が変わると中断します。
3. 平均と間隔を確認します。平均FPSは全体のコールバック頻度を示します。間隔グラフや1% Lowは平均だけでは分からないばらつきを示します。小さな差を評価する前に再測定してください。
FPS・フレーム間隔・リフレッシュレート
FPSは1秒あたりのフレーム数を表します。このページではブラウザーのアニメーションコールバックから求める推定値です。フレーム間隔はコールバック間のミリ秒数です。
Hzで表すリフレッシュレートはディスプレイの更新周期です。ブラウザーの動きは表示周期に連動することが多いものの、OSやブラウザーのスケジューリングによって制限・変更されます。
コールバックが来たことは、新しいフレームが実際に表示された証拠ではありません。このページでモニターの最大リフレッシュレートは確認できません。
完全に均等な場合は、フレーム間隔 = 1,000 ÷ FPSです。以下は計算例で、測定値ではありません。
| FPS | フレーム間隔 (ms) |
|---|---|
| 30 | 33.33 |
| 60 | 16.67 |
| 120 | 8.33 |
| 144 | 6.94 |
| 165 | 6.06 |
| 240 | 4.17 |
FPSが60前後になるのはなぜ?
60 FPS前後という結果だけで故障とは判断できません。現在の条件で、このタブが観測した頻度を表しています。
OSのリフレッシュレート設定、ブラウザーを表示しているディスプレイ、省電力設定を確認します。外部ディスプレイでは接続方法と表示モードも確認してください。
バックグラウンドアプリ、拡張機能、ブラウザー固有のスケジューリングも影響します。原因を決めつけず、同じ条件で繰り返し測定してください。
このページでリフレッシュレートの上限を解除したり、ケーブルの不良やハードウェアアクセラレーションの有無をFPSだけから特定したりすることはできません。
描画経路を詳しく調べるには、ハードウェアアクセラレーションの確認へ。このFPSテストの測定方法
内部解像度640×160、DPR 1の小さなCanvas 2Dを描きながらrequestAnimationFrameのコールバック間隔を記録します。予備測定は除外し、動きを減らす設定ではマーカーを静止させて同じ計時を行います。
平均FPS = 1,000 × 間隔数 ÷ 実測ミリ秒。分位点は(N − 1) × pで線形補間します。1% Low = 1,000 ÷ 最長ceil(N × 0.01)個の間隔の平均で、1,000/P99とは異なります。
P95、P99、1% Lowには100間隔以上が必要です。末尾サンプルが5個未満なら注意を表示します。長い間隔は中央値の1.5倍を超えるものです。表示中の停滞は保持し、2,000 msを超える空白や非表示で中断します。
10秒を超える最後の完全な間隔も保持します。グラフは実際の終了時刻と最小・最大値を保ち、統計には全間隔を使います。温度、ハードウェアの健康スコア、ゲームFPS予測は出しません。プロトコル:fps-raf-v1。
関連するグラフィックステスト
持続的なWebGL負荷をかけ、負荷中の性能を確認します。
より長い制御されたブラウザー負荷で変化を調べます。
ブラウザーがWebGPUの基本検証を完了できるか確認します。
ブラウザーが公開するWebGL機能と基本描画を確認します。
FPSテストのよくある質問
このFPSテストで分かることは?
軽量な描画中に、このタブに届くアニメーションコールバックの間隔を測ります。実際に表示されたフレーム数ではありません。
ゲームのFPSと同じですか?
いいえ。ゲームでは負荷や描画方式が異なります。ゲーム内のカウンターや適切なデスクトップツールを使ってください。
モニターの正確なリフレッシュレートを検出できますか?
いいえ。表示設定と近い値になることはありますが、正確な値や対応する最大値は確認できません。
どのくらいのFPSなら良い結果ですか?
共通の合格点はありません。同じ条件で繰り返し比較してください。高い数値だけでGPUが優れているとは証明できません。
ここでの1% Low FPSとは?
最も長い1%の間隔を平均し、1,000をその平均で割ってFPSに変換します。ツールごとに定義が異なるため、同じ方法の結果を比較してください。
平均と1% Lowに大きな差があるのはなぜ?
少数の長い間隔が1% Lowを下げても、平均は高く保たれることがあります。グラフを確認して再測定してください。ハードウェア故障の特定にはなりません。
タブを切り替えると停止するのはなぜ?
非表示のページではコールバックが停止・抑制されることがあります。異なる条件を混ぜないため、新しい測定を行います。
120 FPSの比較が実現しないのはなぜ?
デモは届くコールバックより速く更新できません。毎秒120回を目標にしても、コールバックが少なければ120回の表示更新にはなりません。
WebGPUは必要ですか?
いいえ。アニメーションの計時とCanvas 2Dを使い、WebGPUもWebGLも必要ありません。
結果はアップロードされますか?
レポートはローカルで計算し、アップロードしません。コピー、ダウンロード、ブラウザー内の履歴保存ができます。サイト全体の分析にはプライバシーポリシーが適用されます。
ブラウザー内に保存 / アカウント不要
レポートと比較
このブラウザーに最大20件を保存します。基準として固定したレポートは保持されます。読み込んだレポートは検証されていない外部データです。
読み込んだレポートの本文は元の言語で表示します。
保存済みレポート(0/20件)・2件選ぶと比較できます
保存したレポートはありません。テストを実行するか、レポートを読み込んでください。