RenderLayer合成层

RenderLayer对象可以是合成层呢?

RenderLayer具有CSS 3D属性或者CSS透视效果。

RenderLayer包含的RenderObject节点表示的是使用硬件加速的视频解码技术的HTML5“video”元素。

RenderLayer包含的RenderObject节点表示的是使用硬件加速的Canvas 2D元素或者WebGL技术。

RenderLayer使用了CSS透明效果的动画或者CSS变换的动画。

RenderLayer使用了硬件加速的CSS Filters技术。

RenderLayer使用了剪裁(Clip)或者反射(Reflection)属性,并且它的后代中包括一个合成层。

RenderLayer有一个Z坐标比自己小的兄弟节点,且该节点是一个合成层。

至于为什么这么做,有以下三个原因:

首先当然是合并一些RenderLayer层,这样可以减少内存的使用量;
其二是在合并之后,尽量减少合并带来的重绘性能和处理上的困难;
其三对于那些使用单独层能够显著提升性能的RenderLayer对象,可以继续使用这些好处,例如使用WebGL技术的canvas元素。

你可能感兴趣的:(RenderLayer合成层)