2

キャンバスアニメーションに最適なのはどれですか?requestAnimFrameまたはsetInterval?

4

2 に答える 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 に答える