1、图像显示原理
CPU和GPU两个硬件是通过总线连接起来
1、CPU经过复杂的处理会输出一个位图
2、CPU输入的位图经过总线,会在合适的时机发送给GPU
3、GPU中会将接收到的位图进行处理(图层渲染、纹理合成等)
4、GPU会将处理后的结果放在帧缓存区(Frame Buffer)中
5、最后经由视频控制器,会在指定时间之前,通过V-Sync信号从帧缓存区中提取中要显示的内容显示在屏幕上
2、UI视图是如何渲染到屏幕上的
1、首先创建一个 UIView 控件
2、UIView 的控件的显示内容是由 CALayer 来负责的
3、CALayer 中的 contents 属性就是我们要渲染到屏幕上的位图
4、比如说我们创建了一个UILabel,那么 contents 就是我们显示为 Hello world 的位图
5、系统会在合适的时机回调给我们一个 drawRect 方法,我们可以在此方法中自定义我们想要的视图
6、最后会通过 Core Animation 框架提交给 GPU 的 OpenGL 渲染管线进行图片的处理(图层渲染、纹理合成等)渲染到屏幕上面
3、CPU和GPU承担的工作
CPU的工作
CPU的工作- Layout:UI布局和文本计算等
- Display:绘制(drawRect方法)
- Prepare:图片的编解码等
- Commit:提交位图(Core Animation)
GPU的工作(不甚了解)
GPU的工作GPU 主要用于处理 CPU 提交过来的位图,经过定点着色、图元装配、光栅化、片段着色、判断处理等操作后,将位图放在帧缓存区中
网友评论