龙空技术网

2D图像界面的介绍

我生几何 165

前言:

现在小伙伴们对“显示器的分辨率为1024768若能显示256种颜色”大致比较注意,朋友们都需要知道一些“显示器的分辨率为1024768若能显示256种颜色”的相关知识。那么小编在网络上汇集了一些对于“显示器的分辨率为1024768若能显示256种颜色””的相关内容,希望同学们能喜欢,你们一起来了解一下吧!

从这节开始我们要回到显示适配器本身了,延续过去的惯例我会从最早的技术开始一路讲到当代最新的产品,本篇所谈的主要会是计算机开始能够在平面上显示立体图形 (3D 绘图技术) 开始发展以前的部分,这个时期的显示适配器主要分成纯文本时期与 2D 图形两段,当时显示适配器的工作很单纯,只是一套将计算机输出的结果直接转换成可以让屏幕秀出文字或图形的电路。

基本上这一段期间 (正好是整个 1980 年代) 可以先后分成三个时期:

· 显示适配卡时期 (MDA、CGA、HGC、EGA)这个时期里显示适配卡的用途很单纯,唯一工作是用于将计算机计算的结果转换成屏幕能读懂的格式,本身几乎不负责运算工作。

· 显示子系统时期 (VGA 与各种兼容品)这个时期将前述的显示适配卡直接整合建置到主板中,同时显示色彩的能力与分辨率也都有所提升,这个显示子系统在未来很长一段时间都成为计算机显示的基础。

· 2D 图形加速卡时期 (IBM 8514/A 以后)从这个时期开始显示适配器除了负责输出与讯号转换之外,本身也担负了 2D 图形演算的工作 (在以往这些事情是由 CPU 处理的),可以大幅分摊处理器要负担的工作,因此连带的也让计算机整体的实际性能提高了。

MDA、CGA

发布年代:1981 年发布公司:IBM搭配系统:IBM PC (5150)主要芯片:Motorola 6845 (MDA)、Motorola MC6845 (CGA)

MDA 是个人计算机历史上第一张独立显示适配器,在 1981 年随 IBM PC (Model 5150,上图这台就是第一台以「个人计算机」名义推出的民用计算机主机) 一同推出,全名则是 Monochrome Display Adapter,翻成中文是单色显示适配器的意思。

MDA 本身内建有 4 KB 的显示内存,主要奠基于 Motorola 6845 CRT 控制器芯片,除此之外,比较特别的是当时的显示适配器居然是跟打印机接口做在同一张卡上的 (右下角比较大的接头),此外,由名称可以很容易的了解到 MDA 只能显示黑白画面 (严格说起来是 25 行 80 字符的黑底绿字,理论分辨率则是 720×350,如下图),而且由于 MDA 本身没有能力进行像素寻址与绘图,因此也无法显示任何图形。

也许看了上图之后,你会想问这个问题:如果 MDA 不支持显示图形,那上图中的 IBM 标志与框线要怎么显示出来?实际上 MDA 可以显示的「字」有下面这些,上图中的框线和 IBM 标志都是用「符号字符」拼凑出来的 (Codepage 437)。

上面这些字型很眼熟吧?没错,这些字型从 MCA 开始就一路往下传承,后续的所有显示接口与子系统 (不论是 CGA、EGA、VGA、XGA) 内部都建有这套字型,用于在开机过程中未加载任何内容时用来显示文字之用 (例如 UEFI 时代以前的 BIOS 与 POST 画面大抵上都是这套字型,还有纯 DOS 系统下的画面也是,因此又被称为 OEM 字型与 Extended ASCII)。

与 MDA 与 IBM PC 一同在 1981 年推出的还有全名为 IBM Color/Graphics Monitor Adapter (彩色图形显示器适配卡) 的 CGA,顾名思义这是一张可以显示彩色画面的显示适配器,分辨率最高可以达到 640×200 (此时仅能显示两种颜色) 或 320×200 (此时仅能显示四种颜色),在延伸图形模式 EGM 下则可以显示 160×100 16 色的画面 (如下图),同时也保留了与 MDA 相似的纯文本模式,具备的显示内存则提高为 16 KB。

不过 CGA 有个问题在于能处理的分辨率比起 MDA 来得差,因此在显示纯文本画面的时候 MDA 显示的文字质量较佳,所以在当年选购计算机时,挑选搭配显示适配器的依据除了价格之外还有「使用纯文本的时间占多数」还是「使用图形化面的时间占多数」这一因素。

CGA 与 MDA 使用的屏幕接头基本上都是采九针脚 D-Sub 接头,其中第 3、4、5 针用于显示红蓝绿 RGB 三原色,仅在 CGA 上使用,而第 7 针则是被 MDA 用于显示影像之用。

Hercules Graphics Card

发布年代:1982 年发布公司:Hercules Computer Technology, Inc.搭配系统:IBM PC (5150)主要芯片:Motorola 6845

发布于 MDA 推出后一年的赫尔克里士图形适配器应该算是台湾开始有个人计算机之后第一款被广泛运用的显示适配器吧?这张卡与 MDA 很像,要说它是以 MDA 为基础开发出来的产品也不为过,与 MDA 一样是单色显示适配器,但 HGC 却有着类似 CGA 般,能够绘制图形与像素寻址的能力,名称中的 Graphics 基本上也是这么来的。

HGC 这张显示适配器能够支持的原生分辨率为 720×348,比起 CGA 甚至是后来的 EGA 都还要来得高,也因此很适合在台湾发展的中文系统中使用 (拐个弯把宽度调回标准的 640 之后就可以把高增加到 408 用来容纳中文输入法需要的空间了)。

不过尽管 Hercules Graphics Card 这张卡把单色显示发挥到非常完整,但往彩色显示发展可以说是必然的趋势,因此很快在 IBM 推出后续的 EGA、VGA 之后,Hercules Graphics Card 就被淘汰了,这家公司也因为在彩色显示时代中推出的产品表现差强人意 (后来的 Hercules InColor Card 特性与 EGA 还蛮相似的) 而最终被 ELSA 收购。

EGA

发布年代:1984 年发布公司:IBM搭配系统:IBM PC (5150)、IBM PC/AT (5170)主要芯片:Motorola 6845

EGA 的全名是 Enhanced Graphics Adapter (增强图形适配卡),从名称上不难看出这是 CGA 的后继产品 (顺便也取代了 MDA 与 HGC),在 1984 年随 IBM 的第二代个人计算机系统 PC/AT 推出,具备 256 KB 的显示内存。

EGA 的色彩显示方面比起 CGA 来说可以说是强了不少,能够支持的颜色有 64 种,最高可以在 640×350 分辨率下同时正常显示其中的 16 种颜色,在这样的状况下彩色画面终于看起来有那么点像回事了 (上图与下图分别是 EGA 模式下执行的游戏与 Windows 1.01)。

在显示器接口方面,EGA 使用的仍然是与 CGA、MDA 相同的 9 针脚 D-Sub 接头,不过接脚定义则有所改变,第 2 ~ 7 针脚全部用于显示色彩 (RGB 各 2 针),第 8 ~ 9 针脚则用于水平与垂直同步信号。

VGA、MCGA

发布年代:1987 年发布公司:IBM搭配系统:IBM PS/2

接下来就是大名鼎鼎的 VGA (Video Graphics Array) 了,在 1987 年随着 IBM PS/2 计算机推出 (是的没错,又是 PS/2!),基本上可以视为 EGA 的后继者,但在这里要特别强调,VGA 并不是一款显示适配器,名称中的 A 是 Array 而不是 Adapter,实际上 VGA 是一整套标准,涵盖了硬件、分辨率、输出接口三者,硬件的部分在 IBM PS/2 (仅有高阶款的 PS/2 支持 VGA) 上最初的产品也不是一张独立的适配卡 (尽管后来确实有为早期旧款的 PS/2 推出 VGA 升级卡,如下图),而是直接做在主板上的一块芯片。

最初 VGA 内建了 256 KB 的显示内存,在标准状况下主要提供对两种分辨率模式的支持,针对 640×480 (这分辨率很眼熟吧?其实直到 UEFI 时代之前,计算机的开机画面都还是这个分辨率,因为那时候没加载显示适配器的驱动程序) 可以支持 16 色、针对 320×200 分辨率则可以支持 256 色 (总色域增加为 262,144 色,一次可以从中挑选 256 色显示),而设计上的极限分辨率则是 16 色 800×600 @ 70 Hz。

VGA 的彩色显示功能相较于 EGA 又有了挺明显的强化,彩色游戏画面的质量明显比以往高出许多,2D 游戏差不多就是在这个时期开始有大幅度进展的。

至于 MCGA (Multi-Color Graphics Array) 则是与 VGA 同期推出的技术,基本上可以视为增强版的 CGA,由于成本与价格较低,因此推出时主要是作为 VGA 以下的低阶入门产品发布,MCGA 内建的显示内存仅有 64 KB,仅出现于 Model 25 与 Model 30 的 IBM PS/2 上,支持 CGA 的所有模式但无法与 EGA 的专有模式兼容,虽然如同 VGA 一般加入了对 640×480 @ 60 Hz 分辨率的支持但却只支持单色模式,至于对 320×200 分辨率的支持则与 VGA 一样可以支持到 256 色。

至于显示器接口方面 VGA 与 MCGA 所引入的新接口就是上节曾经介绍过,也为大家所熟知的 VGA (D-Sub 15 针)。

IBM Image Adapter/A

发布年代:1987 年发布公司:IBM搭配系统:IBM PS/2

这款产品比较广为人知的名字是 IBM 8514,基本上是作为 PS/2 系统的选用升级配件发布。值得注意的是,IBM 8514 并非仅是内建 VGA 影像子系统的显示内存扩充卡,实际上 IBM 8514 本身具备了辅助运算的能力 (但 IBM 8514 仅能增强 VGA 影像子系统的功能而无法完全独立运作),因此 IBM 8514 经常被视为是第一张进入个人计算机领域的 2D 图形加速卡 (在此之前基本上 2D 图形加速是工作站在玩的,价格极为昂贵),不过仍然与工作站使用的图形协同处理器在功能上有一段差距 (IBM 8514 并非可程序化的加速系统)。

内建有 512 KB 显示内存的 IBM 8514 的输出能力比起 VGA 来说确实提高了不少,16 色显示模式下的最高输出分辨率从 VGA 的 640×480 一举提升到了 1024×768,而在安装扩展内存模块 (可以提供额外 512 KB 的显示内存) 之后,即使是在 1024×768 @ 43.5 Hz 分辨率下仍然可以同时显示 256 种颜色 (总色域仍然是 262,144 种颜色)。

由于上市时价格高达 1,300 美金 (还没算上显示内存扩充子卡呢,别忘了还得搭配好的屏幕才能发挥功能,当时 IBM 也推出了一款同样名为 8514 的 CRT 屏幕,如上图,光这屏幕就要价 1,550 美金) 加上只能搭配 MCA 接口使用,而不支持当时已蔚为主流的 ISA 接口等因素的影响,整体来说 IBM 8514 的销售情况并不成功,但 IBM 8514 可以说是后来蓬勃发展的 2D 图形加速卡市场的开山鼻祖。

XGA

发布年代:1990 年发布公司:IBM搭配系统:IBM PS/2

约莫在其他厂商开始制作 8514/A 兼容卡时,IBM 又推出了 XGA (Extended Graphics Array),基本上最初的 XGA 可以被视为原本的 VGA 子系统的延伸 (在架构上也向下兼容 VGA),主要是加上了 8514/A 所能提供的功能,初期同样采用内建芯片的方式安装于 IBM PS/2 Model 90 与 90XP 中,之后也依循与 MCGA 升级 VGA 相仿的作法推出了 IBM PS/2 XGA Display Adapter/A 可将旧款 PS/2 计算机升级为 XGA 等级。

XGA 的输出能力比起 8514/A 又高出了不少,在安装了显示内存扩充子卡之后的 XGA 能够在 1024×768 分辨率下同时显示高达 256 种颜色,在标准 VGA 分辨率 (640×480) 下甚至可以同时显示高达 65,536 种色彩。

值得注意的是,在 VGA 之后由于兼容卡数量众多,加上各种 IBM 兼容 PC 的采用,VGA 显示系统标准几乎已经成为开放规范,而 XGA 则是 IBM 最后一次尝试订定自家的显示系统标准,不过理所当然是失败了,最后 XGA 只被认为是 Super VGA (VGA 的延伸) 中的一支。

基本上 XGA 升级卡的价格仍然相当昂贵,包含 512 KB 显示内存的基本版就要价高达 1,100 美元,能提供额外 512 KB 显示内存的扩充子卡也要价高达 350 美元,而且一开始还只支持 IBM 自家的 MCA 通道而无法搭配主流的 ISA 使用,除此之外还刻意不支持 800×600 这个常用分辨率,直接跳到 1024×768 (当时 IBM 还很豪气的表示因为 800×600 这分辨率有其他人做了所以不需要我们出手),因此最后在消费市场上也是失败收场。

IBM 后续在 1992 年推出的增强版 XGA-2 (内建显示内存增加为 1 MB 并补上了在 800×600 分辨率之下的 65,536 色彩显示支持与 1024×768 @ 75 Hz 的支援,且大幅降价到 400 美金以下) 也未能挽回颓势,于是在 XGA 之后 IBM 就没有再自行设计显示系统标准了,之后也在 1992 年推出了基于 SVGA 的图形适配卡,此后 IBM 基本上也不再继续生产与设计自家的个人计算机用显示适配卡,转为选择搭载第三方厂商设计制造的显示适配器为主。

至于在显示接口方面,由于 XGA 基本上可以大略视为 VGA 子系统 + 2D 图形加速卡的结合,因此在显示输出的部分仍然维持 VGA 的设计,也就是 15 针的 D-Sub 接头。

接下来的故事……1990 年代

1990 年代是个人计算机发展极为快速的十年,从 Windows 3.0 以上版本开始 Windows 系统逐渐获得市场的青睐,越来越高的市场占有率使得硬件开发商们开始意识到可以特别针对 Windows 强化显示加速性能,这比起强化通用图形加速芯片来得简单又低成本得多。

而且在此时微软又正巧在 Windows 系统内加入了通用绘图 API 层,也就是名为 GDI 的图形设备接口 (Graphics Device Interface),解决了过去由于各家显示接口 I/O 端口设计可能不同而衍生的许多问题 (原理上很简单,就是在程序与硬设备之间插入一层正好介于用户层与系统核心层之间的 GDI 层,各家厂商就可以自行针对自家硬件来开发专属驱动程序,并将其作为硬件与 GDI 层之间的沟通桥梁),因此从 1990 年代开始,基本上通用的图形接口规格就停滞在以 VGA 为基础而延伸而来的 Super VGA,而厂商的主要发展目标改为针对 Windows GDI 设计专用的 2D 图形加速器。

由于开发难度相对而言比较简单,很快的这些专门针对 Windows 而设计的加速器在性能上就超越以往所有的通用图形加速器了,而且更重要的是,成本相较于那些天价级别的通用图形加速器来说可说是超级便宜,关于 1990 年代所发生的事情,我将在下一节继续介绍。

如同上一节谈过的,从本节开始我们要看的是厂商开始专精针对特定主流操作系统发展、优化的 2D 图形加速卡,在 1990 年代这十年里 2D 图形运算逐渐达到极致,3D 绘图运算也逐步开始走入消费性个人计算机市场 (实际上 1970~1990 年代 3D 绘图运算就一直有在发展了,只是主要仅止于工作站甚至大型服务器领域,本篇只谈 2D 图形运算的部分,3D 图形加速卡留待之后介绍),要说在个人计算机显示的发展上 1990 年代是最为关键的十年其实也不为过。

ATI 的早期发展

不过在开始谈 1990 年代的 2D 图形加速卡发展之前,我打算先谈上节没有提到,但很重要的一间公司,也就是现在 AMD 显示芯片部门的前身-ATI。

ATI 创办的时间点比起它近 15 年内的主要对手 NVIDIA 来得早很多,早在 1985 年就创立了 (顺带一提 1985 年是很关键的一年,第一版 Windows 也是在这年发布的),创立之初的 ATI 是一间 OEM 厂商 (原始设备制造商),主要的业务是替各种 IBM PC 兼容机生产显示芯片。

我在上节一直没有提 ATI 的原因其实就是这点,因为 ATI 主要做的事情实际上是「跟风」IBM 提出的显示系统标准,并推出价格比 IBM 低廉或性能上表现更佳的兼容产品 (例如 EGA Wonder 系列就是设计用来提供与 EGA 相似规格的产品,当时一张约 350 ~ 400 美金左右,比起 IBM 本家光是 EGA 本身一张就高达 584 美金的报价算是便宜不少了吧?而且最厉害的是 ATI 推出的显示适配器在功能上还经常会超越 IBM 本家的产品)。

因此尽管我先前在介绍上选择以制定规范的 IBM 推出的产品为主,但由于 IBM 本家产品的价格实在过于「精美」,因此实际上 ATI 在当时能见度与市占率都是很高的。

最后要特别谈到的是,ATI 靠着设计、生产与 IBM 本家产品的兼容版 (Clone) 维生的时代基本上一路延续到 1991 年的 Mach 8,这是 ATI 第一款特别为 Windows 进行优化的 2D 图形加速卡,也是最后一次基于 IBM 的设计制造出的产品 (Mach 8 可以被看作是 IBM 8514/A 的 Clone)。

标签: #显示器的分辨率为1024768若能显示256种颜色