開啟監控
被硬件加速的復合層會被黃色線包圍
但是如果復合層過多, 會造成瀏覽器嚴重卡頓
層創建標準,從目前來說,滿足以下任意情況便會創建層:
- 3D 或透視變換(perspective transform) CSS 屬性
- 使用加速視頻解碼的 元素
- 擁有 3D (WebGL) 上下文或加速的 2D 上下文的 元素
- 混合插件(如 Flash)
- 對自己的 opacity 做 CSS 動畫或使用一個動畫 webkit 變換的元素
- 擁有加速 CSS 過濾器的元素
- 元素有一個包含復合層的后代節點(換句話說,就是一個元素擁有一個子元素,該子元素在自己的層里)
- 如果有一個元素,它的兄弟元素在復合層中渲染,而這個兄弟元素的z-index比較小,那么這個元素(不管是不是應用了硬件加速樣式)也會被放到復合層中。
使用3D硬件加速提升動畫性能時,最好給元素增加一個z-index屬性,人為干擾復合層的排序,可以有效減少chrome創建不必要的復合層,提升渲染性能,移動端優化效果尤為明顯。
參考: CSS3硬件加速技巧