iOS中图形绘制框架大致结构

层次:
最上层是UIKit,其下是CoreAnimation,(就是layer层,layer专门负责图形显示和渲染,而UIKit中的UIView等视图控件就是对layer封装添加了交互等功能),再往下就是基于GPU的OpenGL和基于CPU的CoreGraphics的绘制引擎
渲染:
OpenGL的渲染分为当屏渲染和离屏渲染,离屏渲染需要在当前屏幕缓冲区之外新开辟一个缓冲区,对此需要切换上下文环境付出一些性能上的代价
离屏渲染触发方式:
- shouldRasterize(光栅化)
- masks(遮罩)
- shadows(阴影)
- edge antialiasing(抗锯齿)
- group opacity(不透明)
CPU渲染则是使用core Graphics技术或者重写drawRect会触发
网友评论