1

Safari 5.1 以前のブラウザにはrequestAnimationFrame、動的な JavaScript ベースのポジショニングを使用する一部のアプリケーションに不可欠な機能がありません。setInterval更新とレンダリングの間の同期が欠けているため、十分な代替品ではありません。requestAnimationFrameこれらのブラウザで適切にエミュレートする方法は?

4

1 に答える 1

1

タイマー以外の選択肢はないと思います。によるフレーム落ちの可能性を回避したい場合はsetInterval、 を使用setTimeoutし、毎回コールバックから新しいタイムアウトを開始します。

function renderFrame() {
    // do stuff
    setTimeout(renderFrame, 1000/30);
}
renderFrame();

実際、私の最初の文は正確ではありません。Google 検索では、タイムスタンプ ベースのソリューションや、タイムスタンプと setTimeout の両方を使用する別のソリューションなど、他のオプションが表示されました。

于 2013-06-15T18:43:35.593 に答える