回流与重绘
回流:是指浏览器需要重新计算元素位置和大小
重绘:是指浏览器需要重新计算背景颜色字体颜色,但是大小和位置没有发生变化
回流比重绘更耗费性能,因为回流会重新计算位置和大小,而重绘只需要重绘外观,比较快速
解决方案
- 可以用CSS3动画替代JavaScript 动画,因为css3是运行在GPU 上而js是运行在CPU 上
- 避免频繁修改样式,我们可以把样式集中在一起,一次性修改,可以减少回流次数
- 避免频繁读取元素样式,因为读取元素样式也会触发回流,可以使用缓存或者批量读取方式来减少读取样式的次数
- 使用文档片段来减少DOM 操作,因为DOM 操作也会触发回流,使用文档片段可以将多次dom操作合并成一次操作,减少回流的次数
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 CC_Blog!
评论