图像显示原理
CPU和GPU2个硬件通过总线连接起来,cpu输出位图适当时机通过总线传给gpu,
gpu用位图用图层的渲染,纹理合成,把结果放到帧缓冲区,由视频控制器根据vSin到帧缓冲区提取内容
显示到屏幕上
创建UIView之后,显示部分是由CALayer负责,CALayer有个contents属性就是要绘制到屏幕上的位图。
例如我们要创建一个UILabel,系统在适当时机回调我们一个drawRect:方法,绘制自定义的内容,绘制好的位图会通过Core Animation框架
提交给GPU的OpenGL渲染和合成,显示到屏幕上。(Core Animation及之前步骤是发生在CPU OpenGL是发生在GPU之上)
CPU的工作
Layout:UI布局 文本计算(.frame)
Display:绘制(drawRect:)
Prepare:(UIImageView图片编解码)
Commit:(CoreAnimation提交位图)
GPU渲染管线
顶点着色
图元装配
光栅化
片段着色
片段处理
这五步做完会把像素点提交到帧缓冲区