您的位置:首页 > Web前端 > JavaScript

JavaScript高级程序设计第25章(新兴的API)

2015-10-19 20:38 701 查看
一、requestAnimationFrame()

1.早期动画循环——使用计时器或循环间隔

编写动画循环的关键是知道延迟多长时间合适。一方面,循环间隔必须足够端,这样才能让不同的动画效果显得更平滑流畅;另一方面,循环间隔还要足够长,这样才能确保浏览器有能力渲染产生的变化。

大多数电脑的显示器刷新频率是60Hz(看了一下自己的电脑,确实是这样子的),大概相当于每秒钟重绘60次。大多数浏览器都会对重绘操作加以限制,不超过显示器的重绘频率,因为即使超过那个频率用户体验也不会有提升

因此,最平滑动画的最佳循环间隔是1000ms/60,约等于17ms。以这个循环间隔重绘的动画是最平滑的,因此这个速度最接近浏览器的最高限速。

但要记得计时器和循环间隔的缺点:不精确,得看浏览器是否空闲

2.循环间隔的问题

浏览器使用的计时器并非精确到毫秒级别,即使你优化了循环间隔,结果仍然只能接近你想要的效果

• IE8-的计时器精度为15.625ms

• IE9+为4ms


Firefox和Safari为10ms


Chrome为4ms
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: