UI图像显示原理

1、图像显示原理

UI图像显示原理_第1张图片

CPUGPU两个硬件是通过总线连接起来
1、CPU经过复杂的处理会输出一个位图
2、CPU输入的位图经过总线,会在合适的时机发送给GPU
3、GPU中会将接收到的位图进行处理(图层渲染、纹理合成等)
4、GPU会将处理后的结果放在帧缓存区(Frame Buffer)中
5、最后经由视频控制器,会在指定时间之前,通过V-Sync信号从帧缓存区中提取中要显示的内容显示在屏幕上

2、UI视图是如何渲染到屏幕上的

UI图像显示原理_第2张图片

1、首先创建一个 UIView 控件
2、UIView 的控件的显示内容是由 CALayer 来负责的
3、CALayer 中的 contents 属性就是我们要渲染到屏幕上的位图
4、比如说我们创建了一个UILabel,那么 contents 就是我们显示为 Hello world 的位图
5、系统会在合适的时机回调给我们一个 drawRect 方法,我们可以在此方法中自定义我们想要的视图
6、最后会通过 Core Animation 框架提交给 GPUOpenGL 渲染管线进行图片的处理(图层渲染、纹理合成等)渲染到屏幕上面

3、CPU和GPU承担的工作

CPU的工作

UI图像显示原理_第3张图片
CPU的工作
  • Layout:UI布局和文本计算等
  • Display:绘制(drawRect方法)
  • Prepare:图片的编解码等
  • Commit:提交位图(Core Animation)

GPU的工作(不甚了解)

UI图像显示原理_第4张图片
GPU的工作

GPU 主要用于处理 CPU 提交过来的位图,经过定点着色、图元装配、光栅化、片段着色、判断处理等操作后,将位图放在帧缓存区中

你可能感兴趣的:(UI图像显示原理)