EN

贝博ballapp.数字媒体的实验考古(七):从纸张到屏幕

发布日期:2024-05-15 02:35:48 来源:ballbet贝博在线 作者:BB贝博ballbet网页登录
贝博ballapp

  今天是数字媒体的实验考古的第七节课:“从纸张到屏幕”,这节课的主要目的,是希望讲一下电子显示屏是如何成为电脑艺术中最重要的元素的。我们今天去参观一个新媒体艺术或数字艺术展览,往往第一印象就是大大小小的显示屏,但是在新媒体艺术和计算机的发展过程中,纸上的硬拷贝是发挥过很重要的作用的。特别是基于计算机的视觉创作,早期使用计算机的艺术家们曾经以纸张为媒介做过许多有趣的探索。

  而我们现在习以为常的电子显示屏加键盘计算机操作范式,大概到70年代中后期才成为计算机标准的操作方式。而这种操作方式的起点,是我接下来要讲到的视频终端(Video Terminal)。而在视频终端带来的电脑操作方式的变化发生之前,大部分人操作电脑都是电传打字机(teletypewriter),虽然我没有能够找到真正的电传打字机,但许多设备、协议的工作原理都继承自电传打字机,通过了解这些设备的工作方式,我们可以大概的推演电传打字机的工作原理。

  在开始之前,我们来想一下电脑是如何处理图形的。我们发现我们前面几节课讲到的大多电脑所生成、处理的图像都是位图,也就是bitmap。今天电脑上面最常见的图形都是位图,比如说Photoshop编辑的数字照片,或者数字绘画(digital painting)作品通常都是位图。

  但是对于老式电脑来说,位图有一个很大的问题就是需要占用很大的内存,在相当一段时间里,用电脑处理位图都是一项奢侈的功能。一般来讲,位图占用的显存空间就是水平分辨率乘以垂直分辨率再乘以颜色深度。对于24位真彩色的图像来说,它的每一个像素都要占三个字节。

  我现在使用的屏幕分辨率是1366×768,这已经是一个比较旧的规格了。如果我的显示屏设置为24位真彩色的话,那么这样一屏所占用的显存就是1366*768*24=25,178,112 bit,大概是24Mbit,每字节8个bit,也就大概是3MByte,这是能支持这个显示规格最小的显存容量。

  一直到90年代中期,主流的显卡的显存也往往只有4MByte,晚一些带3D加速的显卡会有8MByte,因此我们前面两节课提到的80年代直到90年代初的电脑,它们来处理全屏真彩色位图是颇为困难的事情。在当时,商业应用为了追求高分辨率而牺牲颜色深度是普遍的做法,16-bit“增强色”曾经是一个常见的设置,它能显示6万5千种颜色,每个字节只需要2个字节,可以比24位线的显存,而在更老的设备上,可以用8-bit也就是一个字节存储彩色,这种情况下就只有256种颜色。而一个极端的案例就是老式Macintosh,它为了支持更高的显示分辨率完全放弃了彩色,而只有黑白显示,这类机型一直生产到90年代(最后一款是Macintosh Classic II)。

  在Macintosh发布时最引人注目的软件就是MacPaint,它充分展示了苹果电脑处理位图的功能,其中最著名的画面是日本版画家桥口五叶(Hashiguchi Goyo)的作品《梳头的女人》的数字化版本,虽然它的分辨率照现在的标准并不高,但仍然能清晰的展现出服饰上的花纹和发丝的质感,在大多数家用电脑只能显示“卷轴和精灵”图像的1984年,可以实现全屏幕位图编辑的Macintosh是非常先进的。苹果设计师Susan Kare的采访讲到了这张图片制作的过程:Interview with Susan Kare

  黑白屏幕的老式Macintosh的分辨率是512×342像素,只有黑白两色,因此每个像素只占一个bit,换算下来它需要21.375KByte显存,这个容量看起来不大,但是初代Macintosh只有128KB内存,同时它没有独立的显存,因此有将近1/6的内存用做显示的,仅剩下略多于100KB的内存可以提供给应用程序和操作系统。

  初代Macintosh发布于1984年。在当时,能够提供桌面出版、CAD等应用的电脑系统往往会使用黑白显示屏换取更高的分辨率。在PC平台上,1982年发售的大力神图形卡(Hercules Graphics Card - HGC)支持720×348的黑白图像,较高的图形分辨率让HGC显卡成为80年代PC软件汉字系统最常用的型号。

  但对于更老的硬件来说,即使是单色位图处理起来也是相当消耗资源的,它们往往会使用只能显示固定字母的逻辑,比如IBM PC发售时所标配的MDA单色显卡。而对于类似游戏机的家用电脑来说,它们通常以更低的分辨率来换取显示颜色,同时它们的显示芯片往往会限制特定显示块(block)内的色彩数量。

  到现在为止,我们提到的情形仍然只限于家用电脑。但在当时,人们使用电脑的另一个重要途径是通过终端去操作更加强大的电脑主机。主机+终端的组合无论是大型机、小型机还是微型机,都被广泛使用。

  当时的大型计算机往往是若干个大机柜,一个机柜是CPU,一个机柜是磁带机,一个机柜是硬盘。有些时候甚至CPU和内存都是不同的机柜。电脑的使用者通常并不能直接接触到电脑主机,也不能独占电脑资源,而是需要和很多人共享计算机资源。分时系统(time-sharing)的出现让多个用户可以同时操作同一台计算机,每一个用户独占一套输入输出设备,但CPU和内存资源是分享的。这套服务于单个用户输入输出设备通常是一台电传打字机、或者是后面提到的视频显示型终端机,这样的设备在整个电脑系统里是触角的末端,也因此被称作终端。

  我们在第三节课“电信网络”中已经展示过终端的基本用法,我们展示的终端是比较新的型号,因此可以显示中文,不过它也只支持较早的GB2312和GBK中文编码,不能支持UTF-8。我今天展示的终端是使用以太网连接到我的笔记本扮演的主机上的,但更多情况下终端机是通过串口线、或Modem电话拨号来连接的。

  在我们教室里展示的这两台终端机都是连在同一台笔记本电上的,它们使用Linux系统里设置好的用户登陆。这种情形与大型主机的工作模式非常接近,两个用户分别操作两台终端,可以同时在主机上独立执行程序而几乎感知不到对方的存在。

  我们在前面讲到电脑显示位图对于资源的要求颇高,因此能够显示位图的设备也曾经非常昂贵。而对于主机/终端架构的应用场景来说,位图对传输的带宽要比较高,在较慢的网络下也无法使用。因此在大型主机时代一种常用的图像显示装置是矢量显示终端。

  矢量显示终端是早期计算机图形最常用的电子式显示设备,电子枪可以平滑的在屏幕上的特定两点间画线,因此它所需要传输的数据量较小,不需要传输所有的像素,只要传递路径的起止点就可以在屏幕上显示图形。

  在1970年代,常见的矢量显示终端有Imlac PDS-1和Tektronix 4010系列等。它们的刷新频率比较低,但是分辨率却比较高,比如Imlac PDS-1有1024x1024个可定位的位置。它们所使用的显像管并不像电视机那样有固定的扫描线,而是由显像管控制电子束只沿着需要绘制的路径扫描需要绘图的部分。也因此在显示线条和图表的时候,几乎不会出现低分辨率光栅显示器上常见的锯齿。

  其中Tektronix 4010为了节约成本使用了长效荧光粉,使用这种荧光粉的显像管叫做存储管(storage tube)。使用存储管的显示器一旦电子枪在屏幕上扫过图形的线条路径之后,就不再需要像普通显像管那样需要反复扫描就可以长期维持发光,但存储管需要擦除画面的时候,却无法部分地擦除,只能全屏幕擦除之后重画。

  而Imlac PDS-1使用的是类似普通电视机的短效荧光粉,当电子枪扫过对应的位置之后很快就会变暗,因此它需要反复扫描才能维持屏幕上的画面,这让它必须内置一定容量的存储器来存储画面内容,也因此生产成本更高。但它有更高的刷新速度,可以实现一些存储管无法展示的,需要动画效果的游戏,第一人称射击游戏的起源《迷宫大战》(Maze War)就诞生在Imlac PDS-1上。

  在计算机图形学相关的资料里,以Imlac PDS-1为代表的,以矢量画线方式工作、使用短效荧光粉,需要刷新来维持画面的,通常被称作随机扫描显示器(Random-Scan Display);而Tektronix 4010这样使用长效荧光粉的,通常称作存储管显示器(Storage Tube Display)或更常用的直观存储管(DVST - Direct View Storage Tube);今天我们看到的大多数CRT显示器,包括电视机,它们的电子枪都只能按照顺序进行扫描,因此被称作光栅扫描显示器(Raster-Scan Display)。

  现在想买到矢量显示器已经相当困难,我们可以用软件模拟它。在Linux系统上使用大多数发行版自带的xterm就可以模拟Tektronix图形终端(xterm模拟的是Tektronix 4014,是19寸屏幕的型号,原始的4010使用的是11寸显示屏)。我们用

  命令就可以启动xterm内置的Tektronix仿真模式,我们会发现这个时候退格键并不能将我们已经输入的字符从屏幕上擦掉,而当显示的内容超过一屏时,新的内容会直接覆盖在旧的内容上面,而不是把旧的内容顶掉。这个时候要想清除屏幕,就必须用Linux的clear命令做全屏清除。这正是Tektronix 4010等存储管显示器所具有的特性。

  在1970年代,矢量显示终端被广泛应用在工程和科学绘图上。Tektronix开发了一组用于绘图的FORTRAN语言子程序,被称作PLOT-10:Plot-10 Home Page。但今天PLOT-10的环境配置起来较为复杂,我用Linux上常见的交互式绘图软件Gnuplot来做展示,这款软件最初发布于1986年,因此可以相当完整的支持Tektronix终端。

  如果我们翻阅当时的电脑图形杂志,会发现当时的计算机图形许多都是基于线条的。早期计算机图形的这种形态也塑造了80年代的科幻电影和绘画中,在当时的科幻作品中,往往会使用光条图形来代表计算机构建的虚拟世界。

  另外一个重要的矢量显示设备是PLATO,也就是“柏拉图”终端机。网页里的电脑博物馆里的PLATO模拟器是现代爱好者重建的版本,它是支持彩色的,但当时的柏拉图终端只支持黑白显示。在柏拉图终端里孵化了许多电子游戏的原型,比如空当接龙纸牌游戏的最早实现就是在PLATO平台上的。同时柏拉图系统也是许多社交和协作系统的起点,比如PLATO Notes就是企业群件(groupware)的起点,著名的Lotus Notes也得名于此。PLATO也是世界上最早广泛用触摸屏的设备之一,1964年的PLATO IV使用了带有触摸屏的等离子显示器。

  使用矢量绘图的方式工作的另外一种图像输出设备就是笔式绘图仪(Pen Plotter),今天仍在广泛使用的刻字机其实也是一种笔式绘图仪,只不过它的笔尖被换成了刻刀。我们现场使用的机型就是国内比较容易买到的刻乐刻字机,它只需要换一个刀座就可以用普通的圆珠笔画图了。

  绘图仪是最早的计算机图形输出设备之一,第一款商品化的电脑绘图仪是1959年的Calcomp 565滚筒式绘图仪,它的滚筒可以带动纸张做垂直移动,而笔尖则在横杆上做水平移动,以此在二维平面上定位笔尖并完成绘图。

  今天市面上大多数刻字机和绘图仪都是使用HP-GL语言控制的,HP-GL是1977年惠普为HP-8972绘图仪开发的控制语言,其中最常见的两个命令就是PU和PD,分别对应绘图仪抬笔(Pen Up)和落笔(Pen Down)的移动。通常每个PU或PD命令后面都会跟随两个数。

线