iBooksで実行されるスクリプト化された電子書籍を作成しています。JSsetTimeout
やを使用してアニメーションを作成しrequestAnimationFrame
ます。アニメーションの実行が非常に遅い理由を広範囲にデバッグした後、要求した20〜50ミリ秒ではなく(デスクトップのChromeまたはSafariに入る)、タイマーが10倍以上の間隔で起動していることがわかりました。場合によっては1秒以上かかることもあります(これはsetTimeout
、明らかにrequestAnimationFrame
/webkitRequestAnimationFrame
がiOSまたは少なくともiBooks化バージョンのWebkitでは利用できないためです)。
さらに調査したところ、これは明らかにiPadの問題ほどiBooksの問題ではないことがわかりました。iPadのSafariでも同様の粒度が見つかりました。ここで説明するように、これは遅いプロセッサの機能にすぎませんか(私はiPad 2でテストしています)?
または、これは、ここで説明するように、スクロール中に機能しないと報告されているsetTimeoutに関連していますか(私の場合はスクロールは含まれていません)?
ちなみに、私が行っているアニメーションの種類は、ハードウェアアクセラレーションの可能性があるCSSアニメーションを使用して実装できるものではありません。
結論として、iBooksでもSafariでも、iPadのJSでタイマーの粒度を細かくする方法を知っている人はいますか?