美文网首页
CSS进阶知识点--动画性能优化

CSS进阶知识点--动画性能优化

作者: 梦幽辰 | 来源:发表于2019-12-25 15:48 被阅读0次

目标

增强页面渲染性能

CPU 和 GPU

CPU 即中央处理器,解释计算机指令以及处理计算机软件中的数据

GPU 即图片处理器,专门处理和绘制图形相关的硬件。GPU 是专门执行复杂的数学和几何计算而设计的,有了它,CPU 就从图形处理的任务中解放出来,可以执行其他更多的系统任务

现状

CSS 的动画、变形、渐变并不会自动的触发 GPU 加速,而是使用浏览器稍慢的软件渲染引擎。

在 transition,transform 和 animation 的世界里,应该卸载进程到 GPU 以加快速度。

只有 3D 变形会有自己的 layer,2D变形不会

translateZ()(or translate3d())Hack

为元素添加没有变化的 3D 变形,骗取浏览器触发硬件加速

代价

这种情况通过向它自己的层叠加元素,占用 RAM 和 GPU 存储空间

will-change

提前通知浏览器元素将要做什么动画,让浏览器提前准备合适的优化设置

语法

will-change:auto | scroll-position | contents | <custom-ident> | <animateable-feature>

参数说明

关键字 说明
auto 此关键字表示没有特定的意图,适用于它通常所做的任何启发式和优化
scroll-position 表示将要改变元素的滚动位置
contents 表示将要改变元素的内容
<custom-ident> 明确指定将要改变的属性与给定的名称(最重要)
<animateable-feature> 可动画的一些特征值,比如left、top、margin等

使用注意

  • 不能滥用

  • 提前声明

  • remove

尽量将 will-change 放在 hover 伪类的父元素里

相关文章

网友评论

      本文标题:CSS进阶知识点--动画性能优化

      本文链接:https://www.haomeiwen.com/subject/zgyinctx.html