キャンバスアニメーションに最適なのはどれですか?requestAnimFrameまたはsetInterval?
1489 次
2 に答える
5
requestAnimationFrame
ブラウザが新しいフレームを描画する準備ができたときに、アニメーションが正確に実行されることを保証します。を使用するsetInterval
と、次のいずれかのリスクが生じます。
- 間隔が短すぎると、表示されない描画操作を頻繁に実行してバッテリーの寿命が消耗します
- 間隔が長すぎる。この場合、短い間隔を使用してよりスムーズなアニメーションを得ることができた
requestAnimationFrame
ページが表示されていないときに実行頻度を下げることができます (バッテリー寿命を節約できます) が、一部の実装でsetInterval
はこれも行われます (現在 Firefox と Chrome で)。
requestAnimationFrame
アニメーションに使用することを意図してゼロから構築されています。setInterval
定期的なアクションを必要とするあらゆることを行うように設計されています。アニメーション (特にキャンバス アニメーション) を行っている場合は、 を使用することをお勧めします。古いブラウザーrequestAnimationFrame
では にフォールバックします。setInterval
于 2012-12-12T14:13:18.440 に答える
-1
ただし、大きな関数呼び出し、つまり load で setInterval を使用して、ウィンドウが load の場合にのみ呼び出すことができます。
function load()
{
var intervalle = x;
var game= setInterval(process,intervalle);
...
}
window.addEventListener("load",load,true);
于 2012-12-12T16:28:43.870 に答える