UI图像显示原理

图像显示原理图


CPU,GPU两个硬件都是通过总线连接起来的,在CPU当中输出的结果往往是一个位图,再经由总线在合适的时机传输给GPU,然后GPU会把位图进行图层的渲染,包括纹理的合成,之后把结果放到Frame Buffer,由视频控制器根据vsync信号,在指定时间之前去提取Frame Buffer中对应屏幕显示内容,最终显示到手机屏幕上。

具体示例图

首先我们创建一个UIView控件,显示部分由CALayer负责,CALayer中有一个contents属性,就是我们最终绘制到屏幕上的一个位图,比如hello word这个label,contents里就是一个hello word文字的位图。

然后系统会在合适的时机回调drawRect方法,我们可以在此之上绘制一些自定义内容。绘制好的内容由CoreAnimation这个框架交给OpenGL渲染管线,进行最终的绘图渲染和纹理合成,然后显示到屏幕上。


CPU工作图

CPU的工作有如图四个:

Layout:进行UI布局,文本计算。对应到我们平时编写的代码中,实际上就是每一个控件的frame的计算,和文本size的计算。

Display:绘制。比如drawRect方法。

Prepare:图片解码。比如UIImageView设置Image时,图片不能直接显示到屏幕上,需要对图片进行解码。

Commit:最后由CoreAnimation提交位图。


GPU渲染管线图
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一.图像显示原理关于CPU和GPU都是通过总线连接起来的在CPU当中往往是一个位图,再经由总线在合适的时机传输给G...
    coder1003阅读 697评论 0 0
  • 1、图像显示原理 CPU和GPU两个硬件是通过总线连接起来1、CPU经过复杂的处理会输出一个位图2、CPU输入的位...
    打碟的DJ阅读 750评论 3 1
  • 卷首语 欢迎来到 objc.io 的第三期! 这一期都是关于视图层的。当然视图层有很多方面,我们需要把它们缩小到几...
    评评分分阅读 1,951评论 0 18
  • 1.图像显示原理简介 有关概念:时钟信号:垂直同步信号V-Sync / 水平同步信号H-SynciOS设备双缓冲机...
    pipiOU阅读 2,965评论 0 4
  • 再一次面对生离死别的场面,依旧是泪眼婆娑。再一次看到那种撕心裂肺的哭泣,依旧是心如刀割。泪水遮挡了双眼,却遮...
    幽幽白书0阅读 282评论 0 0

友情链接更多精彩内容