死活没生成layerForScrollingContent的解决办法

  • 2019 年 12 月 4 日
  • 筆記

本文作者:IMWeb DeepKolos 原文出处:IMWeb社区 未经同意,禁止转载

先挖个坑, 之后再寻找原因

问题是这样的一个可以滚动的页面, 但是死活都没有生成出layerForScrollingContent , 不知道为什么, 即便给scroll的contianer添加will-change:scroll;也没有用, 如果添加了will-change:transform;,则会生成containerscrollBar的layer , 就是不生成content的layer

那么既然没有生成解决办法就是手动生成, 做法很简单 , 在需要滚动的内容包一个div, 并且设置will-change:transform;

还是上动图清楚看到区别吧~

很明显的区别就是没有paint的触发

没有手动添加一个layer的时候

手动添加layer的时候

从单位上就可以知道有多少倍的区别了

不过如果对比那些默认生成layerForScrollingContent还有有些区别的, 主要是在一帧开始就开始渲染了 , 其他的不好对比因为还没找到没有生成layerForScrollingContent的原因, 这是另外的页面来的 ( 注: 虚线是这一帧的开始