第18章 动画与Canvas图形

Canvas是HTML5纳入的标准。

18.1. 使用requestAnimationFrame

早期动画的实现是使用setInterval来使动画周期允许。问题在于,这个方法无法准确知晓循环之间的延时——间隔时间太短,浏览器来不及渲染;间隔时间太长动画会卡帧。

浏览器的计时精度是不准确的,IE9+和Chrome的精度是4ms,Firefox和Safari的精度约为10ms;且切换到后台后,这个精度还会被限流。所以用setIntervalsetTimeout来做动画,是有问题的。