開発
動機
マウストレーサー開発時に発見
- マウスの軌跡をトレースするのに正確にかつ数多くリズムを刻む関数が必要だった
以前、mouseTracerを開発しているときに正確に等間隔のイベントを発生させる関数を探していました。
setIntervalやsetTimeoutは解説にも間隔が不正確と記載されていますので当初から候補にはありません。
その時に見つけたのがRequestAnimationFrameです。
ちなみに、requestAnimationFrameはES6やES7などのECMAScriptのバージョンとは直接関係なく、HTML5の仕様としてブラウザによって実装されたもののようです。
HTML5仕様書:https://html.spec.whatwg.org/multipage/imagebitmap-and-animations.html#dom-animationframeprovider-requestanimationframe