计算机的渲染流程
计算机显示一张图片,要先拿到图片数据,在通过特定的方式将图片显示到显示器上,显示器的画面是由一个一个像素点所构成的,显示器可显示的像素越多,分辨率就越高,画面就越精细,同样的屏幕区域内能显示的信息也越多,但对硬件的要求也就越高,能耗也越大。
![[2].从计算机如何显示图片开始 - 图1](/uploads/projects/nanziyaonulibenpao@uyzg7e/123a71b952019e34fa5de83127a5c006.png)
图片获取流程
现代计算机,一般会将图片以压缩格式(jpg、png)存放在服务器或磁盘里,需要使用这张图片时,CPU会首先去解压缩这张图片(解码),解压完成后,会得到一种中间状态的图片格式(在iOS系统中,会转化为位图,在其他系统中,会根据特定厂商的需求转换为其他格式),再对它进行光栅化处理,便得到了后续步骤需要使用的图片数字信号
图片显示流程
图片的显示主要是将内存中的图片数字信号显示在显示器上,这个过程是通过显示控制器的扫描进行显示的
1. 早期随机扫描显示
随机扫描系统使用像铅笔一样工作的电子束在CRT屏幕上创建线条图像。图片是由一系列直线段构成的。通过指示光束从屏幕上的一个点移动到下一个点, 在屏幕上绘制每个线段, 在该点上其x和y坐标定义每个点。画完图后。系统循环回到第一行, 并每秒设计图像的所有行30至60次。
![[2].从计算机如何显示图片开始 - 图2](/uploads/projects/nanziyaonulibenpao@uyzg7e/1f638ad34f9ebec99b9d195e23c22d2e.png)
2. 光栅扫描显示(类似于打印机,一行一行打印)
光栅扫描显示基于对像素的强度控制, 该像素以屏幕上称为“光栅”的矩形框的形式出现。开和关像素的信息存储在刷新缓冲区或帧缓冲区中。![[2].从计算机如何显示图片开始 - 图3](/uploads/projects/nanziyaonulibenpao@uyzg7e/f7348bd5cb80d7a9a0f66f048ba073c3.png)
1. 简单的光栅扫描渲染流程
![[2].从计算机如何显示图片开始 - 图4](/uploads/projects/nanziyaonulibenpao@uyzg7e/3c69a7d62bb60d40e67fd17eeca86df7.png)
2. 常用光栅扫描显示系统结构
![[2].从计算机如何显示图片开始 - 图5](/uploads/projects/nanziyaonulibenpao@uyzg7e/dc74f4a36c2e2457fa971753e7f56ebf.png)
3. 高级光栅扫描显示系统结构
![[2].从计算机如何显示图片开始 - 图6](/uploads/projects/nanziyaonulibenpao@uyzg7e/dd7512c436653458fb36bd302371eeff.png)
4. 两种扫描方式
- 逐行扫描(也称为非交错扫描)
每一帧图像由电子束顺序地一行接着一行连续扫描而成,这种扫描方式称为逐行扫描。
优点:经逐行扫描出来的画面清晰无闪烁,动态失真较小。
缺点:画面会突变,网络不好的情况下图片会失真,对环境的要求高 - 隔行扫描
优点:对带宽的要求较低,保证了视频的帧率
缺点:行间闪烁,视频清晰度降低
