iOS界面渲染机制

2019-02-17  本文已影响0人  hehc08

iOS渲染视图的核心是Core Animation


image.png

从中可以看到,界面显示的整体流程如下:
1、CoreAnimation提交会话,包括自己和子树(view hierarchy)的layout状态等;
2、RenderServer解析提交的子树状态,生成绘制指令;
3、GPU执行绘制指令;
4、显示渲染后的数据;

具体来说:

CPU阶段

布局(Frame)
显示(Core Graphics)
准备(QuartzCore/Core Animation)
通过IPC提交(打包好的图层树以及动画属性)

OpenGL ES阶段

生成(Generate)
绑定(Bind)
缓存数据(Buffer Data)
启用(Enable)
设置指针(Set Pointers)
绘图(Draw)
清除(Delete)

GPU阶段

接收提交的纹理(Texture)和顶点描述(三角形)
应用变换(transform)
合并渲染(离屏渲染等)

app从点击屏幕(硬件)到完全渲染的过程:

上一篇下一篇

猜你喜欢

热点阅读