我正在创建在 iBooks 下运行的脚本化电子书。他们使用 JSsetTimeout
和/或requestAnimationFrame
. 在对动画运行如此缓慢的原因进行了广泛调试之后,我发现计时器正在触发,而不是在我要求的 20-50 毫秒内(并进入桌面上的 Chrome 或 Safari),间隔时间超过 10 倍,有时长达一秒或更长时间(这是setTimeout
,因为显然requestAnimationFrame
/webkitRequestAnimationFrame
在 iOS 中不可用,或者至少在 iBooks 版的 webkit 中不可用)。
经过进一步研究,我发现这显然不是 iBooks 问题,而是 iPad 问题——我在 iPad 上的 Safari 中发现了类似的粒度。这只是慢速处理器的功能(我正在 iPad 2 上进行测试),如此处所讨论的吗?
或者这是否与 setTimeout 被报告在滚动期间不起作用有关(尽管在我的情况下不涉及滚动)?
供您参考,我正在做的动画类型不是可以使用可能是硬件加速的 CSS 动画来实现的。
底线,有没有人知道如何在 iPad 上的 JS 中获得更精细的计时器粒度,无论是在 iBooks 还是 Safari 中?