先挖个坑, 之后再寻找原因
问题是这样的一个可以滚动的页面, 但是死活都没有生成出layerForScrollingContent , 不知道为什么, 即便给scroll的contianer添加will-change:scroll;
也没有用, 如果添加了will-change:transform;
,则会生成container
和scrollBar
的layer , 就是不生成content
的layer
那么既然没有生成解决办法就是手动生成, 做法很简单 , 在需要滚动的内容包一个div, 并且设置will-change:transform;
如图二
还是上动图清楚看到区别吧~
很明显的区别就是没有paint的触发
没有手动添加一个layer的时候
手动添加layer的时候
从单位上就可以知道有多少倍的区别了
不过如果对比那些默认生成layerForScrollingContent
还有有些区别的, 主要是在一帧开始就开始渲染了 , 其他的不好对比因为还没找到没有生成layerForScrollingContent
的原因, 这是另外的页面来的 ( 注: 虚线是这一帧的开始