iOS面试题图像、动画iOSUI

iOS 离屏渲染原因

2021-08-30  本文已影响0人  木扬音

正常渲染流程

离屏渲染

如果我们对视图做了特殊处理:圆角、阴影等。GPU需要对图像进行额外的渲染、合并,然后将每个图层处理结果存入到离屏缓冲区,再将多个图层进行叠加合并,存入帧缓冲区,最后显示到屏幕上

离屏渲染流程

离屏缓冲区

光栅化

我们在开启光栅化时,会将layer渲染成位图保存到缓存中,这样在下次使用时,就可以直接复用,提高效率

圆角触发离屏渲染的时机

CALayer的构成,如图所示,它是由backgroundColor、contents、borderWidth&borderColor构成的

image.png

苹果官方文档针对圆角设置的一些说明:
官方文档告诉我们,设置cornerRadius只会对CALayer中的backgroundColor 和 boder设置圆角,不会设置contents的圆角,如果contents需要设置圆角,需要同时将maskToBounds / clipsToBounds设置为true。

官方文档针对圆角设置的一些说明

检测离屏渲染

检测离屏渲染
上一篇下一篇

猜你喜欢

热点阅读