前端 动画

刷新率

指电子束对屏幕上的图像重复扫描的次数,即屏幕每秒画面被刷新的次数,大多数电脑显示器刷新频率60Hz。

Javascript动画

setTimeout、setInterval

通过setTimeout或setInterval一帧一帧的改变UI达到动画的效果。如果渲染频率与浏览器刷新频率不一致,即延迟时间比刷新时间短,会丢帧,造成视觉上动画卡顿。

丢帧

requestAnimationFrame

对setTimeout、setInterval优化,防止丢帧。每一帧的所有DOM操作集中,一次渲染完成。渲染频率与浏览器刷新频率一致,且对隐藏或不可见元素,不进行重排或重绘。

GPU加速

直接使用GPU改变图层(UI),无需渲染引擎重新渲染的过程,提高绘制速度。 如典型的3D变换:

.cube {
   -webkit-transform: translate3d(250px,250px,250px)
   rotate3d(250px,250px,250px,-120deg)
   scale3d(0.5, 0.5, 0.5);
}
原文地址:https://www.cnblogs.com/fe-huahai/p/6388917.html