点击查看【bilibili】

显示技术的发展

23、屏幕&2D 图形显示 Screens&2D Graphics - 图1

1960年 圆形屏幕:显示临时值

实例:早期的图形计算机——1960 年的 PDP-1

  • 键盘和显示器分开,因为当时的文本任务和图形任务是分开的。
  • 显示器屏幕是圆形的。
  • 屏幕主要用于跟踪程序的运行情况,显示临时值。因为临时值(比如寄存器的值)如果用打印机一遍又一遍打印出来没有意义,不仅废纸而且速度很慢;而屏幕刷新很快,正适合显示临时值。
  • 但是屏幕很少用于输出计算结果,结果一般都打印在纸上或其它更永久的东西上。因为早期的屏幕无法显示清晰的文字,而打印到纸上有更高的对比度和分辨率。

image.png

阴极射线管 CRT

意义:CRT 是最早最有影响力的显示技术
原理:把电子发射到有磷光体涂层的屏幕上,当电子撞击涂层时会发光几分之一秒。由于电子是带电粒子,路径可以用磁场控制,屏幕内用板子或线圈 把电子引导到想要的位置,上下左右都行。
image.png
两种绘图方式

  • 矢量扫描:引导电子束描绘出形状。虽然发光只持续一小会儿,但如果重复得足够快 可以得到清晰的图像。

image.png

  • 光栅扫描:按固定路径,一行行来,从上向下,从左到右,不断重复,只在特定的点打开电子束,以此绘制图形。用这种方法,可以用很多小线段绘制形状,甚至文字。

image.png

液晶显示器 LCD:显示像素

原理

  • 随着显示技术的发展,终于可以在屏幕上显示清晰的点,叫”像素”
  • LCD 也用光栅扫描,每秒更新多次像素里红绿蓝的颜色

image.png
缺点

  • 像素太占内存,在当时不可行。200像素×200像素的图像,有 40,000 个像素,哪怕每个像素只用一个 bit 表示黑或白,连灰度都没有,也会占 40,000 bit 内存,比 PDP-1 全部内存的一半还多。

因此,很多早期计算机不用像素,而使用一些其他技巧来渲染图形,直到发展到内存足够用。

字符生成器——CRT光栅扫描

定义: 早期计算机因为内存不够,不存像素值,而是存字符。其中80×25个字符最为典型(总共 2000 个字符),如果每个字符用 8 位表示,比如用 ASCII,总共才 16000 位,这种大小更合理。为此,计算机需要额外硬件来从内存读取字符,转换成光栅图形,这样才能显示到屏幕上,这个硬件叫 “字符生成器“,基本算是第一代显卡。
原理

  • 字符生成器内部有一小块只读存储器(ROM),存着每个字符的图形,叫”点阵图案“。如果图形卡看到一个 8 位二进制,发现是字母 K,那么会把字母 K 的点阵图案,通过CRT的光栅扫描显示到屏幕的适当位置。
  • 为了显示,”字符生成器” 会访问内存中一块特殊区域,这块区域专为图形保留,叫 屏幕缓冲区,程序想显示文字时,修改这块区域里的值就行。

缺点:只能画字符到屏幕上,限制大,没法绘制任意形状
优点

  • 占用内存少得多
  • 用字符也能模仿图形界面。不过由于字符集小,做不了复杂的绘图,可以对 ASCII 进行了各种扩展,加新字符。

image.png

屏幕矢量画图——CRT适量模式

原理:所有东西都由线组成,只有线条,没有别的。要显示文字和其他图案,都是用线条画出来。
实例:使用一个早期矢量显示系统Vectrex的适量命令来画三角形。
image.png

Sketchpad + 光笔

定义和原理

  • Sketchpad 是一个交互式图形界面,用途是计算机辅助设计 (CAD),诞生于1962年,它被广泛认为是第一个完整的图形程序。
  • 为了与图形界面交互,Sketchpad 用了当时发明不久的输入设备 光笔:就是一个有线连着电脑的触控笔,笔尖用光线传感器,可以检测到显示器刷新,通过判断刷新时间,电脑可以知道笔的位置
  • 有了光笔和各种按钮,用户可以画线和其他简单形状,甚至 Sketchpad 还可以让线条完美平行,长度相同,完美垂直90度,甚至动态缩放。用户还可以保存设计结果,方便以后再次使用,甚至和其他人分享。用户还可以有一整个库,里面有电子元件和家具之类的,可以直接拖进来用

意义:代表了人机交互方式的关键转折点
image.png

位图显示——使用像素

时间:最早用真正像素的计算机和显示器出现于 1960 年代末
定义:内存中的位(Bit) 对应屏幕上的像素,这叫 位图显示
优点:可以绘制任意图形了
image.png