死活沒生成layerForScrollingContent的解決辦法
- 2019 年 12 月 4 日
- 筆記
本文作者:IMWeb DeepKolos 原文出處:IMWeb社區 未經同意,禁止轉載
先挖個坑, 之後再尋找原因
問題是這樣的一個可以滾動的頁面, 但是死活都沒有生成出layerForScrollingContent , 不知道為什麼, 即便給scroll的contianer添加will-change:scroll;
也沒有用, 如果添加了will-change:transform;
,則會生成container
和scrollBar
的layer , 就是不生成content
的layer
那麼既然沒有生成解決辦法就是手動生成, 做法很簡單 , 在需要滾動的內容包一個div, 並且設置will-change:transform;

還是上動圖清楚看到區別吧~

很明顯的區別就是沒有paint的觸發
沒有手動添加一個layer的時候

手動添加layer的時候

從單位上就可以知道有多少倍的區別了
不過如果對比那些默認生成layerForScrollingContent
還有有些區別的, 主要是在一幀開始就開始渲染了 , 其他的不好對比因為還沒找到沒有生成layerForScrollingContent
的原因, 這是另外的頁面來的 ( 注: 虛線是這一幀的開始
