一、强制使用GPU渲染
为了避免 2D transform 动画在开始和结束时发生的 repaint
操作,我们可以硬编码一些样式来解决这个问题:
.example1 {
transform: translateZ(0);
}
.example2 {
transform: rotateZ(360deg);
}
这段代码的作用就是让浏览器执行 3D transform
。浏览器通过该样式创建了一个独立图层
,图层中的动画则有GPU进行预处理
并且触发了硬件加速
。
二、开启GPU硬件加速可能触发的问题:
通过-webkit-transform:transition3d/translateZ开启GPU硬件加速之后,有些时候可能会导致浏览器频繁闪烁或抖动
,可以尝试以下办法解决之:
-webkit-backface-visibility:hidden;
-webkit-perspective:1000;
网友评论