网页性能

179 阅读1分钟

网页性能判断标准,js动画,css动画都需要注意什么

RAIL可以帮助我们判断什么样的网页是丝滑的,而开发者工具可以让我们进一步准确的捕获出网页的性能数据。

JS动画要保证预留出6ms的时间给浏览器处理像素管道,而自身执行时间应该小于10ms来保证整体运行速度小于16ms。但触发动画的时机也很重要,定时器无法稳定的触发动画,所以我们需要使用requestAnimationFrame触发JS动画。同时我们应该避免一切FSL,它对性能的影响非常大。

CSS动画我们可以通过降低绘制区域并且使transform属性来完成动画,同时我们需要管理好图层,因为绘制和图层管理都需要成本,通常我们需要根据具体情况进行权衡并做出最好的选择。

参考文章:让你的页面更丝滑

减少回流和重绘

  1. 不要一条一条的修改DOM样式,与其这样,不如预先定义好css的class,然后修改DOM的className
  2. 不要把DOM节点的属性值放在一个循环中当作循环里的变量
  3. 为动画的HTML元件使用fixed或absolue的position,那么修改他们的css时不会回流的
  4. 不要使用table布局,因为可能很小的一个小改动会造成这个table的重新布局

参考文章:详谈层合成(composite)