iOS图像如何从文件渲染到屏幕上

CPU/GPU 协作完成

从网上下载下来的文件格式:png/jpeg->都是经过压缩格式


解压缩png/jpeg形成位图

1.CPU:计算frame,解压图片 形成纹理

2.GPU:又称硬件加速器,纹理混合,顶点坐标计算,像素点填充计算(片元着色器),总而言之GPU做的是渲染工作

iOS中级/初级开发者如何理解

1.将图片从磁盘/网络->获取UIImage 没有解压(图片只是装载到内存空间,但并没有确定要显示所以不会解压)

2.将UIImage->UIImageView(要解压

3.隐氏动画捕捉到图片变换->图层树(核心动画)

4.主线程runloop捕获,提交隐氏动画

5.GPU渲染流程

        *GPU获取图片的顶点坐标

        *将坐标交给顶点着色器来做计算

        *将光栅化(将顶点数据计算出像素点)

         *像素点填充颜色(片元着色器程序GPU)

注意:片元着色器在图形占有多少像素点,就执行多少次填充.并发技术


解压缩图片形成位图,位图就是像素数组,数组每一个像素就是图中一个点

解码原理:图片重新绘制!新的图片针对原图还原,从而重新绘制原图



你可能感兴趣的:(iOS图像如何从文件渲染到屏幕上)