ブラウザのリフレッシュレート というのは誰がどのタイミングで決定するのか?
ディスプレイ(モニター)のハードウェアが決定します。ブラウザではありません。
ディスプレイのリフレッシュレート
↓ (OSが検出)
↓ (ブラウザが取得)
requestAnimationFrame のタイミング
基本的に違いはありません。すべてのモダンブラウザ(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あたりの数値が表示されるはずです。