画面リフレッシュレートテスト
モニターの実際のリフレッシュレートを検出、高フレームレート性能をテスト
画面リフレッシュレートとは?
画面リフレッシュレートは、ディスプレイが1秒間に画面を更新する回数を指し、Hz(ヘルツ)で測定されます。一般的なリフレッシュレートには60Hz、75Hz、120Hz、144Hz、240Hzがあります。より高いリフレッシュレートは、より滑らかなアニメーションとゲーム体験を意味し、モーションブラーとスクリーンテアリングを減少させます。
使い方
使い方
- テストモードを選択:バウンシングボール、スクロールストライプ、フラッシュテストまたはUFOテスト
- テスト開始ボタンをクリックして検出を開始
- アニメーションの滑らかさとFPS値の変化を確認
- 数秒待つと推定リフレッシュレートの結果が表示されます
- フルスクリーンでテストするとより正確なデータを得られます
テストのヒント
- テスト前にアニメーション負荷の高い他のタブを閉じてください。ブラウザの負荷、省電力モード、外部ディスプレイが測定の滑らかさに影響する場合があります。
- 表示されたFPSを、OSやグラフィックスコントロールパネルのモニター設定と照らし合わせて確認しましょう。
利用シーン
仕組み
リフレッシュレートの推定はrequestAnimationFrame(t => ...)を使用します。これはディスプレイの垂直同期信号に同期したブラウザコールバックです。各呼び出しはミリ秒単位のDOMHighResTimeStampを受け取り、連続するタイムスタンプの差分からフレームごとの間隔を得て、それらの移動平均で1000を割ることでヘルツ単位の推定レートを算出します。推定器は数百フレームを収集して一時的なスタックを平均化し、結果を最も近い一般的なパネルレートにスナップします:60、75、90、120、144、165、240、または360Hzです。 測定はチェーン内の最も遅いリンクに制約されます。144Hzのパネルでも、OSのディスプレイ設定が60Hzにロックされている場合、HDMI 1.4ケーブルが帯域幅を処理できない場合(1080p@144Hzは約7.6Gbps必要で、色深度を考慮するとHDMI 1.4の8.16Gbpsの余裕を超えます)、またはGPUドライバーが省電力モードで制限をかけている場合は60Hzとして読み取られます。可変リフレッシュレート技術(AMD FreeSync、NVIDIA G-Sync)は、パネルが動作範囲内の任意のレートを維持し、コンテンツが最小値未満の場合にLow Framerate Compensationにドロップすることを可能にします。 ブラウザのスケジューリングにも独自の上限があります。テストタブがフォーカスを失うと、ChromiumとFirefoxの両方でPage Visibilityの下でrequestAnimationFrameが約1Hzにスロットリングされ、Intersection Observerのスロットリングはアクティブなタブでも非表示のiframeを約30fpsに制限します。GL実装とソフトウェアフォールバックの合成パスもGCの一時停止中にフレームをドロップすることがあるため、安定した読み取りにはテストタブをフォアグラウンドに保ち、他のタブでフルスクリーン動画を再生せず、スナップレートの出力を信頼する前に少なくとも3秒のサンプルウィンドウが必要です。
- サンプリング:requestAnimationFrameタイムスタンプの差分を計算、FPS = 1000 / 平均(フレーム間隔ms)、推定器は60/75/90/120/144/165/240/360Hzのバケットにスナップ。
- 帯域幅ゲート:1080p@144Hzは約7.6Gbps必要、4K@120Hzは約25Gbps必要。最上位層にはHDMI 2.1(48Gbps)またはDSC付きDisplayPort 1.4(32.4Gbps)が必要。
- OS/ドライバー制限:パネルが144Hzを通知していても、Windowsのディスプレイ設定やNVIDIAコントロールパネルが60Hzに固定することがある。rAFはコンポジターに与えられた値を超えることはできない。
- VRR(FreeSync/G-Sync):パネルレートが範囲内で浮動、LFCしきい値を下回るとGPUがフレームを複製して明るさを維持。
- タブスロットリング:Page Visibilityがバックグラウンドタブを約1Hzに低下、クロスオリジンの非表示iframeは親タブがフォアグラウンドでも約30fpsにスロットリング。
- サンプルウィンドウ:500ms未満の読み取りはノイジー。安定した推定を得るには、タブをフォアグラウンドにして少なくとも3秒収集してから標準レートにスナップ。
使用例
標準的な 60 Hz オフィスモニター
モード: Bouncing Ball
計測時間: 5 秒
フレーム数: 298
現在の FPS: 59.6
推定リフレッシュレート: 60 Hz
2020 年以前に販売されたほとんどのデスクトップ・ノート PC ディスプレイは 60 Hz が上限です。144 Hz ゲーミングモニター
モード: UFO Test
計測時間: 5 秒
フレーム数: 718
現在の FPS: 143.6
推定リフレッシュレート: 144 Hz
eスポーツ向けパネルでは標準的。DisplayPort 1.2+ または HDMI 2.0+ が必要で、OS 側のレートも 144 Hz に設定する必要があります。バックグラウンドタブのスロットリング
モード: Scrolling Bars
現在の FPS: 30.0
推定リフレッシュレート: 30 Hz(クランプ)
タブがフォーカスを失うと Chrome と Firefox は requestAnimationFrame を約 30 fps に制限するため、テストタブは常に表示しておいてください。よくある質問
テストはどのようにリフレッシュレートを測定しますか?
requestAnimationFrame() を使用して 1 秒間に描画されるフレーム数を数えます。このコールバックはディスプレイの 1 リフレッシュごとに 1 回呼ばれるため、フレーム数を経過時間で割ることで実効リフレッシュレートが得られます。結果は通常きれいな数値(60、75、100、120、144、165、240 Hz)に丸められます。
なぜモニターのスペックより低い値になるのですか?
よくある原因:省電力モードで GPU が抑制されている/モニターケーブルが定格リフレッシュレートに対応していない(HDMI 1.4 は 4 K で 60 Hz が上限、それ以上には DP 1.2+ または HDMI 2.0+ が必要)/モニターは対応していても OS が 60 Hz に設定されている/別のタブがメインスレッドを占有しフレームが落ちている、など。
なぜ 60 Hz モニターで 60 Hz より高い値が出るのですか?
一部のブラウザでは、特に最初の数フレームで requestAnimationFrame が実際のディスプレイ更新よりも速く発火することがあります。マルチモニター環境では Chrome が最も高いリフレッシュレートのディスプレイ値を採用する場合もあります。安定した値を得るには 10 秒以上テストを継続してください。
フレームレート(FPS)とどう違うのですか?
リフレッシュレートはモニターが 1 秒間に表示できる最大フレーム数です。FPS はアプリケーションが生成しているフレーム数です。両者は独立しており、60 Hz モニター上で 200 FPS のゲームでも実際に表示される独立したフレームは 1 秒あたり 60 枚だけです(VSync オフならティアリングが発生します)。
可変リフレッシュレート(G-Sync、FreeSync)はどうなりますか?
VRR モニターは GPU 出力に合わせてフレームごとにリフレッシュレートを変えます。このページはテスト中の平均レートを測定するため、VRR ディスプレイではモニターの最大値ではなく、ブラウザが現在描画しているレートが反映されます。
保存やアップロードは行われますか?
いいえ。測定はすべてクライアントサイドで行われます。結果は記録も送信もされません。
ウィンドウ表示と全画面表示のどちらでも実行できますか?
はい、ただしバックグラウンドのタブやフォーカスを失ったウィンドウはバッテリー節約のためブラウザによって抑制され、しばしば約 1 fps まで落ちます。正確な結果を得るにはタブをフォーカスし、できれば全画面表示で実行してください。