最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • 页面渲染合成补充

    正文概述 掘金(沐晓)   2021-02-04   509

    在上一篇文章老生常谈之从输入URL到页面呈现的过程中描述了页面渲染流程,其中涉及页面的布局(Layout)和绘制(Painting),实际在绘制之后还有一个步骤叫做合成(Compositing)。

    Compositing

    在其它大佬的文章中将这一步说的非常清楚,当然还是很难懂,因为比较抽象,平常在工作中完全没有接触。这里我归纳下我的理解。

    1. 在合成前的渲染过程将 DOM 树转化为渲染层

    页面渲染合成补充

    1. 合成这步将渲染层合并为合成层,有很多方法会产生新的合成层,这些方法也是常说的 css 硬件加速的方法
    • 3D transforms:translate3d、translateZ 等

    • video、canvas、iframe 等元素

    • 通过 Element.animate() 实现的 opacity 动画转换

    • 通过 СSS 动画实现的 opacity 动画转换

    • position: fixed

    • 具有 will-change 属性

    • 对 opacity、transform、fliter、backdropfilter 应用了 animation 或者 transition

    1. 合成之后会有不同的合成层,合成层将独立在 GPU 渲染

    2. 在有 GPU 的时候其实渲染都是在 GPU 进行的,但是页面的布局(Layout) 和 绘制(Painting),渲染层计算这些都是在 CPU 进行计算的,会消耗 CPU。

    3. GPU加速的原理是,将元素提升为单独的合成层,在处理合成层动画时,直接在 GPU 进行动画计算渲染,无需再重新走重绘(Repaint)的流程而耗费 CPU,速度也更快更流畅。

    4. 合成层也并不是没有缺点,每个合成层在 GPU 单独渲染都要占用额外内容,过多的合成层会导致内存占用过高(层爆炸)

    后话

    以上内容是在阅读其它大佬博客后总结的,可能会有不少理解错误的地方,欢迎指正。

    参考

    • 浏览器层合成与页面渲染优化

    • 图解浏览器的基本工作原理

    • CSS动画之硬件加速


    欢迎来前端菜鸟群一起摸鱼划水~516913974


    起源地下载网 » 页面渲染合成补充

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元