未来很可能做计算机和人工智能方面的研究,虽然不是做底层计算机研究,不过也要了解计算机才好。所以,我补一些计算机方面的基础知识,做一下笔记。课程是网上非常火爆的计算机科学速成课程,全课程40集,近期学完。23 屏幕和2D图形显示
23.1 早期的图形屏幕
早期文本任务与图形任务是分开的,早期的屏幕无法清晰地显示图像,还不如将其打印的纸上。早期屏幕的典型用途,是跟踪程序的运行情况,比如寄存器的值。因为屏幕更新很快,这对临时值显示简直完美。但是屏幕很少用于显示结果,结果值还是主要用纸打印出来。
显示屏幕和打字机分开
23.2 CRT显示技术
最早最有影响力的显示技术是阴极射线管(CRT),原理是把电子发射到有磷光体涂层的屏幕上,当电子撞击涂层时,会发光几分之一秒,由于电子是带电粒子,路径可以用磁场控制,屏幕内用板子或线圈,把电子引导到想要的位置上。
CRT显示技术
这样,就有两种方法绘制图形:
1.引导电子束描绘出形状,这叫矢量扫描,如果重复地够快就可以显示出现图形;2.按照固定路径,一行行来,从上到下,从左到右,不断重复,只在特定路径扫描,叫“光栅扫描”。
23.3 像素
随着技术发展,我们终于可以在屏幕上显示清晰的点,叫“像素”。
液晶显示技术(LCD)和以前的技术相当不同,但LCD也用光栅扫描,每秒更新多次像素里红绿蓝的颜色。
液晶(LCD)像素显示
23.4 符号显示
不过,早期计算机显示不用像素,因为就算二值400*400的显示,也有16万bits,这已经超过了电脑当时最大存储空间。所以早期电脑是存符号,80*25个符号最典型,每个符号用8位ASCII码表示,也才16000bits,这样才合理。
符号显示
这样计算机需要硬件从内存读取符号,转换成光栅图像,才能显示图像。这个硬件叫“符号生成器”,基本上算是第一代显卡。它内部只要一小块只读存储器,简称ROM,存着每个字符的图形,叫“点阵图案”。为了显示,“字符生成器”会访问内存中的一块特殊区域,这块区域专为图形保留,叫屏幕缓冲区。程序想显示文字时,修改这快区域的值就行。
但是字符集实在太小了,不能显示很多东西。因此对ASCII进行了各种扩展,加新字符。此外,还可以改变背景颜色。
23.5 矢量扫描法
但