JavaScriptプログラムに関する各種メモ書き

ブラウザのリフレッシュレート

● ブラウザのリフレッシュレート

ブラウザのリフレッシュレート というのは誰がどのタイミングで決定するのか?

誰が決定するか

ディスプレイ(モニター)のハードウェアが決定します。ブラウザではありません。

ディスプレイのリフレッシュレート
  ↓ (OSが検出)
  ↓ (ブラウザが取得)
requestAnimationFrame のタイミング

一般的なリフレッシュレート

  • 60Hz: 一般的なディスプレイ (約16.67ms/フレーム)
  • 120Hz/144Hz: ゲーミングモニター (約8.33ms, 6.94ms/フレーム)
  • 240Hz: ハイエンドゲーミングモニター (約4.17ms/フレーム)

ブラウザによる違い

基本的に違いはありません。すべてのモダンブラウザ(Chrome, Firefox, Safari, Edge)は同じ仕様に従い、ディスプレイのリフレッシュレートに同期します。

実際の確認方法

let lastTime = 0;
let frameCount = 0;

const measureFPS = (timestamp: number) => {
  frameCount++;
  
  if (timestamp - lastTime >= 1000) {
    console.log(`FPS: ${frameCount}`);
    frameCount = 0;
    lastTime = timestamp;
  }
  
  requestAnimationFrame(measureFPS);
};

requestAnimationFrame(measureFPS);

このコードでリフレッシュレートが確認できます。 60Hzのディスプレイなら 59 , 60 , 62 , 61 といった 常に60とはならないものの、60あたりの数値が表示されるはずです。

No.2699
12/17 14:48

edit