Kay*_*ote 4 javascript optimization dom asynchronous requestanimationframe
FastDOM - 一个小型库,可以将DOM读取和写入raf(requestAnimationFrames).
https://github.com/wilsonpage/fastdom
我已经阅读了代码,但是,我正在努力了解它是如何工作的.以下是我们的一些假设: - 浏览器通常设置为60fps - 所以总共可以在一秒内最多60raf
也就是说每个FastDOM读/写批处理将在17ms(1000 ms/60 fps)之后运行.这会不是很慢,因为一个函数可能会一个接一个地读/写调用?
显然,上述情况并非如此,但我很困惑,并希望澄清.
谢谢,
两种类型的DOM操作(读/写)都有自己的作业队列.每个队列都被刷新(例如,其中的所有作业都被运行/执行)requestAnimationFrame
例如,如果在5ms内添加100次读取操作(例如,在循环期间),所有这些读取操作将(很可能)在下次read刷新队列时发生(可能是在添加最后一个作业后1ms) ,或者在添加最后一个作业后16.66667ms).
仔细阅读来源,写得很好,评论很好.