0.7.0TckerクラスはタイミングのAPIに、setTimeoutかrequestAnimationFrameを使うことができます。0.7.0では、タイミングを決めるプロパティとしてTicker.useRAFに替わってTicker.timingModeが備わり、3つのモードから選べるようになりました。Ticker.tickイベントのタイミングをsetTimeoutとrequestAnimationFrameのどちらのAPIで決めるか、および用いるモードを示す。つぎの3つの定数から選ぶ(表001)。デフォルト値はTicker.TIMEOUT。他のモードを選んでも、requestAnimationFrameのAPIがサポートされない場合は、Ticker.TIMEOUTに切替わる。フレームレートに合わせた時間間隔。フレームレートによらず、requestAnimationFrameの呼出しにもとづく。アニメーションは経過時間を調べて進める。フレームレートに合わせてTicker.tickイベントを間引く。基本となるリフレッシュレート60Hzの約数にフレームレートを定めないと効果は少ない。"synched"説明Ticker.tickイベントはデフォルトでは、内部的にwindow.setTimeout()メソッドで配信されます。このメソッドはミリ秒の経過にもとづいて、コールバック関数を呼出します。その時間間隔にはばらつきが少ないといえます。window.requestAnimationFrame()メソッドは、ブラウザが描画できるようになったときにコールバックを呼出します。したがって、アニメーションを描画するのに適しています。一般的な画面のリフレッシュレート60Hzにもとづくと、フレームレートは約60FPSです。間隔にはばらつきがあります。setTimeout()メソッドの実行間隔はばらつきが少なくても、準備の整わないブラウザにアニメーションの描画を命じるのは無駄が生じたり、CPUの負荷を高めたりします。requestAnimationFrame()メソッドは、setTimeout()と異なり、ブラウザのタブが非表示になったり、最小化されたときは呼出し頻度を減らすので、CPUの負荷が下げられます。Ticker.RAF定数のタイミングモードでアニメーションを進めるときは、Ticker.getTime()メソッドやリスナー関数の受取るEventオブジェクトのtimeあるいはdeltaプロパティで調べた経過時間から動きを計算することになります。requestAnimationFrameのAPIをサポートしていないブラウザも少なくありません。その場合には、Ticker.TIMEOUTモードが用いられます。以下のコード001は、ステージに置いたインスタンス(instance)を、Ticker.tickイベントのたびにリスナー関数(rotate())で回し続けます(図001)。回転角はフレーム当たりの大きさで決めることにします。Ticker.timingModeプロパティをTicker.RAFモードにしたので、Ticker.tickイベントの間隔はフレームレートにもとづきません(第2行目)。図001■ステージに置かれたインスタンスが回り続ける→そこで、イベントの経過時間に応じて動きを計算します。リスナー関数(rotate())が受取るEventオブジェクトのdeltaプロパティから得た経過ミリ秒数と対応させたいフレームレート(FPS)よりつぎのような調整係数を求め、フレーム当たりの動きの大きさ(5度)に乗じればよいでしょう(第5行目)。1000;stage.update();}Ticker.tickイベントは、Ticker.RAFモードでは1秒間で約60回送られます。前掲コード001では、基準フレームレート(fps)がその半分(30)です(第1行目)。すると、イベントの回数が倍に増える替わりに動きは半分に減るため、同じフレームレートをTicker.TIMEOUTまたはRAF_SYNCHEDモードで定めた場合より滑らかなアニメーションとなります。リンクと細かい字句の修正。