渲染分为两种 1.在屏渲染 2.离屏渲染
在屏渲染:就是在屏幕缓存区的渲染,没有切换缓存区。
离屏渲染:很多博客上说,切圆角、画阴影会触发离屏渲染,但是很多都没解释为什么这样会触发。然后我就翻阅各种博客有一个解释我觉得是比较好的。在我的理解下,渲染是一层一层的渲染的,就像是你的view一层一层的上下排列,渲染也是一层一层的渲染。当你切圆角的时候,在屏幕的缓冲区没办法一次性的将layer渲染到屏幕上。
对于每一层layer,要么能找到一种通过单次遍历就能完成渲染的算法,要么就不得不另开一块内存,借助这个临时中转区域来完成一些更复杂的、多次的修改/剪裁操作。
这样就产生的离屏渲染。
网友评论