1. ホーム
  2. javascript

[解決済み] RequestAnimationFrameポリフィルにおける1000/60の意味するところ

2022-03-04 03:55:14

質問

vivus.jsのソースを見ていたら、次のようなコード行に出会いました。

requestAnimFrame = (function () {
  return (
    window.requestAnimationFrame       ||
    window.webkitRequestAnimationFrame ||
    window.mozRequestAnimationFrame    ||
    window.oRequestAnimationFrame      ||
    window.msRequestAnimationFrame     ||
    function(/* function */ callback){
      return window.setTimeout(callback, 1000 / 60);
    }
  );
})();

今、私はクロームの最新バージョンを実行し、最初の条件は真であり、実際に返されるものであるが、私が本当に心配しているのは、最後の条件であるI.E.。

function(/* function */ callback){
    return window.setTimeout(callback, 1000 / 60);
}

なんでやねん 1000 / 60 setTimeoutが使用される理由は理解できますが、1000/60は実際に何をするのですか? 誰かこの部分を説明してくれますか?

追伸:数学的な質問ですが、かなりの量のコードを含んでいるので、SOに投稿させていただきました。

ありがとうございました。

解決方法は?

60フレーム/秒は、ほとんどの人間が何かをスムーズにアニメーションとして認識できる最小のフレームレートです。

したがって、1000msの60分の1(1s)ごとに動作していることになります。