[硬件扫盲]显卡达人修炼计划 [完成篇]

[硬件扫盲]显卡达人修炼计划 [完成篇] - 电脑诊所 - 电脑教程网

[硬件扫盲]显卡达人修炼计划 [完成篇]

日期:2007-07-06   荐:
  API篇 首先解释下API:是Application Programming Interface应用程序接口的缩写,是许多程序的大集合。3D API能让编程人员所设计的3D软件只要调用其API内的程序,从而让API自动和硬件的驱动程序沟通,启动3D芯片内强大的3D图形处理功能,从而大幅度地提高了3D程序的设计效率。目前普遍应用的3D API有DirectX、OpenGL、Glide、Heidi。 [1.1]  OpenGL OpenGL是个专业的3D程序接口,是一个功能强大,调用方便的底层3D图形库。OpenGL的前身是SGI公司为其图形工作站开发的IRIS GL。IRIS GL是一个工业标准的3D图形软件接口,功能虽然强大但是移植性不好,于是SGI公司便在IRIS GL的基础上开发了OpenGL。OpenGL的英文全称是“Open Graphics Library”,顾名思义,OpenGL便是“开放的图形程序接口”。虽然DirectX在家用市场全面领先,但在专业高端绘图领域,OpenGL是不能被取代的主角。 OpenGL是个与.硬件无关的软件接口,可以在不同的平台如Windows 95、Windows NT、Unix、Linux、MacOS、OS/2之间进行移植。因此,支持OpenGL的软件具有很好的移植性,可以获得非常广泛的应用。由于OpenGL是3D图形的底层图形库,没有提供几何实体图元,不能直接用以描述场景。但是,通过一些转换程序,可以很方便地将AutoCAD、3DS等3D图形设计软件制作的DFX和3DS模型文件转换成OpenGL的顶点数组。 在OpenGL的基础上还有Open Inventor、Cosmo3D、Optimizer等多种高级图形库,适应不同应用。其中,Open Inventor应用最为广泛。该软件是基于OpenGL面向对象的工具包,提供创建交互式3D图形应用程序的对象和方法,提供了预定义的对象和用于交互的事件处理模块,创建和编辑3D场景的高级应用程序单元,有打印对象和用其它图形格式交换数据的能力。 OpenGL的发展一直处于一种较为迟缓的态势,每次版本的提高新增的技术很少,大多只是对其中部分做出修改和完善。1992年7月,SGI公司发布了OpenGL的1.0版本,随后又与微软公司共同开发了Windows NT版本的OpenGL,从而使一些原来必须在高档图形工作站上运行的大型3D图形处理软件也可以在微机上运用。1995年OpenGL的1.1版本面市,该版本比1.0的性能有许多提高,并加入了一些新的功能。其中包括改进打印机支持,在增强元文件中包含OpenGL的调用,顶点数组的新特性,提高顶点位置、法线、颜色、色彩指数、纹理坐标、多边形边缘标识的传输速度,引入了新的纹理特性等等。OpenGL 1.5又新增了“OpenGL Shading Language”,该语言是“OpenGL 2.0”的底核,用于着色对象、顶点着色以及片断着色技术的扩展功能。 OpenGL 2.0标准的主要制订者并非原来的SGI,而是逐渐在ARB中占据主动地位的3Dlabs。2.0版本首先要做的是与旧版本之间的完整兼容性,同时在顶点与像素及内存管理上与DirectX共同合作以维持均势。OpenGL 2.0将由OpenGL 1.3的现有功能加上与之完全兼容的新功能所组成(如图一)。借此可以对在ARB停滞不前时代各家推出的各种纠缠不清的扩展指令集做一次彻底的精简。此外,硬件可编程能力的实现也提供了一个更好的方法以整合现有的扩展指令。 目前,随着DirectX的不断发展和完善,OpenGL的优势逐渐丧失,至今虽然已有3Dlabs提倡开发的2.0版本面世,在其中加入了很多类似于DirectX中可编程单元的设计,但厂商的用户的认知程度并不高,未来的OpenGL发展前景迷茫。 [1.2  ]DirectX DirectX并不是一个单纯的图形API,它是由微软公司开发的用途广泛的API,它包含有Direct Graphics(Direct 3D+Direct Draw)、Direct Input、Direct Play、Direct Sound、Direct Show、Direct Setup、Direct Media Objects等多个组件,它提供了一整套的多媒体接口方案。只是其在3D图形方面的优秀表现,让它的其它方面显得暗淡无光。DirectX开发之初是为了弥补Windows 3.1系统对图形、声音处理能力的不足,而今已发展成为对整个多媒体系统的各个方面都有决定性影响的接口。 DirectX 1.0 第一代的DirectX很不成功,推出时众多的硬件均不支持,当时基本都采用专业图形API-OpenGL,缺乏硬件的支持成了其流行的最大障碍。 DirectX 1.0版本是第一个可以直接对硬件信息进行读取的程序。它提供了更为直接的读取图形硬件的性能(比如:显示卡上的块移动功能)以及基本的声音和输入设备功能(函数),使开发的游戏能实现对二维(2D)图像进行加速。这时候的DirectX不包括现在所有的3D功能,还处于一个初级阶段。
[1] [2] [3] [4]  

DirectX 2.0 DirectX 2.0在二维图形方面做了些改进,增加了一些动态效果,采用了Direct 3D的技术。这样DirectX 2.0与DirectX 1.0有了相当大的不同。在DirectX 2.0中,采用了“平滑模拟和RGB模拟”两种模拟方式对三维(3D)图像进行加速计算的。DirectX 2.0同时也采用了更加友好的用户设置程序并更正了应用程序接口的许多问题。从DirectX 2.0开始,整个DirectX的设计架构雏形就已基本完成。 DirectX 3.0 DirectX 3.0的推出是在1997年最后一个版本的Windows95发布后不久,此时3D游戏开始深入人心,DirectX也逐渐得到软硬件厂商的认可。97年时应用程序接口标准共有三个,分别是专业的OpenGL接口,微软的DirectX D接口和3DFX公司的Glide接口。而那时的3DFX公司是最为强大的显卡制造商,它的Glide接口自然也受到最广泛的应用,但随着3DFX公司的没落,Voodoo显卡的衰败,Glide接口才逐渐消失了。 DirectX 3.0是DirectX 2.0的简单升级版,它对DirectX 2.0的改动并不多。包括对DirectSound(针对3D声音功能)和DirectPlay(针对游戏/网络)的一些修改和升级。DirectX 3.0集成了较简单的3D效果,还不是很成熟。 DirectX 5.0 微软公司并没有推出DirectX 4.0,而是直接推出了DirectX 5.0。此版本对Direct3D做出了很大的改动,加入了雾化效果、Alpha混合等3D特效,使3D游戏中的空间感和真实感得以增强,还加入了S3的纹理压缩技术。 同时,DirectX 5.0在其它各组件方面也有加强,在声卡、游戏控制器方面均做了改进,支持了更多的设备。因此,DirectX发展到DirectX 5.0才真正走向了成熟。此时的DirectX性能完全不逊色于其它3D API,而且大有后来居上之势。 DirectX 6.0 DirectX 6.0推出时,其最大的竞争对手之一Glide,已逐步走向了没落,而DirectX则得到了大多数厂商的认可。DirectX 6.0中加入了双线性过滤、三线性过滤等优化3D图像质量的技术,游戏中的3D技术逐渐走入成熟阶段。 DirectX 7.0 DirectX 7.0最大的特色就是支持T&L,中文名称是“坐标转换和光源”。3D游戏中的任何一个物体都有一个坐标,当此物体运动时,它的坐标发生变化,这指的就是坐标转换;3D游戏中除了场景+物体还需要灯光,没有灯光就没有3D物体的表现,无论是实时3D游戏还是3D影像渲染,加上灯光的3D渲染是最消耗资源的。虽然OpenGL中已有相关技术,但此前从未在民用级硬件中出现。 在T&L问世之前,位置转换和灯光都需要CPU来计算,CPU速度越快,游戏表现越流畅。使用了T&L功能后,这两种效果的计算用显示卡的GPU来计算,这样就可以把CPU从繁忙的劳动中解脱出来。换句话说,拥有T&L显示卡,使用DirectX 7.0,即使没有高速的CPU,同样能流畅的跑3D游戏。 DirectX 8.0 DirectX 8.0的推出引发了一场显卡革命,它首次引入了“像素渲染”概念,同时具备像素渲染引擎(Pixel Shader)与顶点渲染引擎(Vertex Shader),反映在特效上就是动态光影效果。同硬件T&L仅仅实现的固定光影转换相比,VS和PS单元的灵活性更大,它使GPU真正成为了可编程的处理器。这意味着程序员可通过它们实现3D场景构建的难度大大降低。通过VS和PS的渲染,可以很容易的宁造出真实的水面动态波纹光影效果。此时DirectX的权威地位终于建成。 DirectX 9.0 2002年底,微软发布DirectX9.0。DirectX 9中PS单元的渲染精度已达到浮点精度,传统的硬件T&L单元也被取消。全新的VertexShader(顶点着色引擎)编程将比以前复杂得多,新的VertexShader标准增加了流程控制,更多的常量,每个程序的着色指令增加到了1024条。 PS 2.0具备完全可编程的架构,能对纹理效果即时演算、动态纹理贴图,还不占用显存,理论上对材质贴图的分辨率的精度提高无限多;另外PS1.4只能支持28个硬件指令,同时操作6个材质,而PS2.0却可以支持160个硬件指令,同时操作16个材质数量,新的高精度浮点数据规格可以使用多重纹理贴图,可操作的指令数可以任意长,电影级别的显示效果轻而易举的实现。 VS 2.0通过增加Vertex程序的灵活性,显著的提高了老版本(DirectX8)的VS性能,新的控制指令,可以用通用的程序代替以前专用的单独着色程序,效率提高许多倍;增加循环操作指令,减少工作时间,提高处理效率;扩展着色指令个数,从128个提升到256个。 增加对浮点数据的处理功能,以前只能对整数进行处理,这样提高渲染精度,使最终处理的色彩格式达到电影级别。突破了以前限制PC图形图象质量在数学上的精度障碍,它的每条渲染流水线都升级为128位浮点颜色,让游戏程序设计师们更容易更轻松的创造出更漂亮的效果,让程序员编程更容易。 显卡所支持的DirectX版本已成为评价显卡性能的标准,从显卡支持什么版本的DirectX,用户就可以分辨出显卡的性能高低,从而选择出适合于自己的显卡产品。 第二部分 术语解析: [2.1]  RAMDAC   RAMDAC是Random Access Memory Digital/Analog Convertor的缩写,即随机存取内存数字~模拟转换器。RAMDAC作用是将显存中的数字信号转换为显示器能够显示出来的模拟信号,其转换速率以MHz表示。   计算机中处理数据的过程其实就是将事物数字化的过程,所有的事物将被处理成 0和 1两个数,而后不断进行累加计算。图形加速卡也是靠这些0和1对每一个象素进行颜色、深度、亮度等各种处理。显卡生成的信号都是以数字来表示的,但是所有的CRT显示器都是以模拟方式进行工作的,数字信号无法被识别,这就必须有相应的设备将数字信号转换为模拟信号。而RAMDAC就是显卡中将数字信号转换为模拟信号的设备。
 [1] [2] [3] [4]  

  RAMDAC的转换速率以MHz表示,它决定了刷新频率的高低(与显示器的“带宽”意义近似)。其工作速度越高,频带越宽,高分辨率时的画面质量越好.该数值决定了在足够的显存下,显卡最高支持的分辨率和刷新率。如果要在1024×768的分辨率下达到85Hz的分辨率,RAMDAC的速率至少是1024×768×85×1.344÷1.06≈90MHz。   目前主流的显卡RAMDAC都能达到350MHz和400MHz,已足以满足和超过目前大多数显示器所能提供的分辨率和刷新率。 [2.2]   S端子 S—Video的简称,视频信号专用输入输出接口。可用于输出视频信号至电视,S端子采用亮度和色度分离输出设计,克服了视频节目复合输出时的亮度和色度的互相干扰,提供较高清晰度的输出效果。 [2.3]  T&L T&L(Transform and Lighting,变形与光源处理),nVidia公司为提高显示质量而研究出来的一种技术,可以取代在3D图像处理过程中,原来由CPU负责的"几何转换"(Transform)和"光照处理"(Lighting)处理过程,消除CPU瓶颈对电脑3D图像处理性能的限制。同时,显卡的硬件T&L有更强大的多边形生成和"光照处理"能力,能使3D游戏中的人物和光影场景更真实能。 [2.4] 多边形生成率 3D芯片每秒能画出多少骨架(三角形)。由于3D贴图,效果渲染都需要在这些骨架上进行。所以多边形生成率越高,3D芯片/卡能提供的画面越细腻。 [2.5]  分辨率 显卡输出到显示器的可视信号,是由一系列的点构成的。分辨率就是指显示卡所能在显示器上描绘的点的数最,通常以"横向点数×纵向点数"表示。由于显示器呈长方形,所以一般来说水平点数大于垂直点数。例如"1024×768",就表示在显示器上横向有1024个点,纵向有768个点。 [2.6] 接口类型 接口类型是指显卡与主板连接所采用的接口种类。显卡的接口决定着显卡与系统之间数据传输的最大带宽,也就是瞬间所能传输的最大数据量。不同的接口能为显卡带来不同的性能。,而且也决定着主板是否能够使用此显卡。只有在主板上有相应接口的情况下,显卡才能使用。显卡发展至今共出现ISA、PCI、AGP等几种接口,所能提供的数据带宽依次增加。AGP(Accelerated Graphics Port)作为接口的。AGP的意思是图形加速接口,也称AGP总线。AGP可直接向图形分支系统的存储器提供高速带宽。PCI EXPress是新一代的总线接口,而采用此类接口的显卡产品,已经在2004年正式面世。早在2001年的春季“英特尔开发者论坛”上,英特尔公司就提出了要用新一代的技术取代PCI总线和多种芯片的内部连接,并称之为第三代I/O总线技术。随后在2001年底,包括Intel、AMD、DELL、IBM在内的20多家业界主导公司开始起草新技术的规范,并在2002年完成,对其正式命名为PCI Express。 PCI Express采用了目前业内流行的点对点串行连接,比起PCI以及更早期的计算机总线的共享并行架构,每个设备都有自己的专用连接,不需要向整个总线请求带宽,而且可以把数据传输率提高到一个很高的频率,达到PCI所不能提供的高带宽。相对于传统PCI总线在单一时间周期内只能实现单向传输,PCI Express的双单工连接能提供更高的传输速率和质量,它们之间的差异跟半双工和全双工类似。   PCI Express的接口根据总线位宽不同而有所差异,包括X1、X4、X8以及X16(X2模式将用于内部接口而非插槽模式)。较短的PCI Express卡可以插入较长的PCI Express插槽中使用。PCI Express接口能够支持热拔插,这也是个不小的飞跃。PCI Express卡支持的三种电压分别为+3.3V、3.3Vaux以及+12V。用于取代AGP接口的PCI Express接口位宽为X16,将能够提供5GB/s的带宽,即便有编码上的损耗但仍能够提供约为4GB/s左右的实际带宽,远远超过AGP 8X的2.1GB/s的带宽。 PCI Express规格从1条通道连接到32条通道连接,有非常强的伸缩性,以满足不同系统设备对数据传输带宽不同的需求。例如,PCI Express X1规格支持双向数据传输,每向数据传输带宽250MB/s,PCI Express X1已经可以满足主流声效芯片、网卡芯片和存储设备对数据传输带宽的需求,但是远远无法满足图形芯片对数据传输带宽的需求。 因此,必须采用PCI Express X16,即16条点对点数据传输通道连接来取代传统的AGP总线。PCI Express X16也支持双向数据传输,每向数据传输带宽高达4GB/s,双向数据传输带宽有8GB/s之多,相比之下,目前广泛采用的AGP 8X数据传输只提供2.1GB/s的数据传输带宽。   尽管PCI Express技术规格允许实现X1(250MB/秒),X2,X4,X8,X12,X16和X32通道规格,但是依目前形式来看,PCI Express X1和PCI Express X16将成为PCI Express主流规格,同时芯片组厂商将在南桥芯片当中添加对PCI Express X1的支持,在北桥芯片当中添加对PCI Express X16的支持。除去提供极高数据传输带宽之外,PCI Express因为采用串行数据包方式传递数据,所以PCI Express接口每个针脚可以获得比传统I/O标准更多的带宽,这样就可以降低PCI Express设备生产成本和体积。另外,PCI Express也支持高阶电源管理,支持热插拔,支持数据同步传输,为优先传输数据进行带宽优化。   在兼容性方面,PCI Express在软件层面上兼容目前的PCI技术和设备,支持PCI设备和内存模组的初始化,也就是说目前的驱动程序、操作系统无需推倒重来,就可以支持PCI Express设备。
 [1] [2] [3] [4]  

[2.7]色深 色深(Color Depth),也称之为色位深度,在某一分辨率下,每一个像素点可以有多少种色彩来描述,它的单位是“bit”(位)。典型的色深是8-bit、16-bit、24-bit和32-bit。深度数值越高,可以获得更多的色彩。 [2.8]视频输出/输入 这类视频接口并不是必须的,它的主要作用就是将显示信号输出到外部设备上,或收集外部采集的视频信号。带有视频输出的显卡通常造价要稍高一些,而您如果根本就不需要它,那在购买的时候还是挑选不带视频输出的型号,他能够省下不少钱。 [2.9]刷新频率 图像在屏幕上更新的速度,也即屏幕上的图像每秒种出现的次数,它的单位是赫兹(Hz)。刷新频率越高,屏幕上图像闪烁感就越小,稳定性也就越高,换言之对视力的保护也越好。一般时人的眼睛、不容易察觉75Hz以上刷新频率带来的闪烁感,因此最好能将您显示卡刷新频率调到75Hz以上。要注意的是,并不是所有的显示卡都能够在最大分辨率下达到75Hz以上的刷新频率(这个性能取决于显示卡上RAMDAC的速度),而且显示器也可能因为带宽不够而不能达到要求。 [2.10] 显存 显示卡的主芯片在整个显示卡中的地位固然重要,但显存的大小与好坏也直接关系着显示卡的性能高低。显存也存在速度的差别,显存的速度直接关系到显示卡的整体性能。使用相同芯片的显示卡,显存越快,显示卡的速度也就越快。 [2.11] 像素填充率 即每秒钟显示芯片/卡能在显示器上画出的点的数量。像素填充率的最大值为3D时钟乘以渲染途径的数量。如NVIDIA的GeForce 2 GTS芯片,核心频率为200 MHz,4条渲染管道,每条渲染管道包含2个纹理单元。那么它的填充率就为4x2像素x2亿/秒=16亿像素/秒。 [2.12]   DVI    DVI全称为Digital Visual Interface,它是1999年由Silicon Image、Intel(英特尔)、Compaq(康柏)、IBM、HP(惠普)、NEC、Fujitsu(富士通)等公司共同组成DDWG(Digital Display Working Group,数字显示工作组)推出的接口标准。它是以Silicon Image公司的PanalLink接口技术为基础,基于**S(Transition Minimized Differential Signaling,最小化传输差分信号)电子协议作为基本电气连接。**S是一种微分信号机制,可以将象素数据编码,并通过串行连接传递。显卡产生的数字信号由发送器按照**S协议编码后通过**S通道发送给接收器,经过解码送给数字显示设备。一个DVI显示系统包括一个传送器和一个接收器。传送器是信号的来源,可以内建在显卡芯片中,也可以以附加芯片的形式出现在显卡PCB上;而接收器则是显示器上的一块电路,它可以接受数字信号,将其解码并传递到数字显示电路中,通过这两者,显卡发出的信号成为显示器上的图象。   目前的DVI接口分为两种,一个是DVI-D接口,只能接收数字信号,接口上只有3排8列共24个针脚,其中右上角的一个针脚为空。不兼容模拟信号。   另外一种则是DVI-I接口,可同时兼容模拟和数字信号。兼容模拟幸好并不意味着模拟信号的接口D-Sub接口可以连接在DVI-I接口上,而是必须通过一个转换接头才能使用,一般采用这种接口的显卡都会带有相关的转换接头。   显示设备采用DVI接口具有主要有以下两大优点: 一、速度快   DVI传输的是数字信号,数字图像信息不需经过任何转换,就会直接被传送到显示设备上,因此减少了数字→模拟→数字繁琐的转换过程,大大节省了时间,因此它的速度更快,有效消除拖影现象,而且使用DVI进行数据传输,信号没有衰减,色彩更纯净,更逼真。 二、画面清晰   计算机内部传输的是二进制的数字信号,使用VGA接口连接液晶显示器的话就需要先把信号通过显卡中的D/A(数字/模拟)转换器转变为R、G、B三原色信号和行、场同步信号,这些信号通过模拟信号线传输到液晶内部还需要相应的A/D(模拟/数字)转换器将模拟信号再一次转变成数字信号才能在液晶上显示出图像来。在上述的D/A、A/D转换和信号传输过程中不可避免会出现信号的损失和受到干扰,导致图像出现失真甚至显示错误,而DVI接口无需进行这些转换,避免了信号的损失,使图像的清晰度和细节表现力都得到了大大提高

(出处:http://www.sheup.com)


 [1] [2] [3] [4] 

  目前的DVI接口分为两种,一个是DVI-D接口,只能接收数字信号,接口上只有3排8列共24个针脚,其中右上角的一个针脚为空。不兼容模拟信号。   另外一种则是DVI-I接口,可同时兼容模拟和数字信号。兼容模拟幸好并不意味着模拟信号的接口D-Sub接口可以连接在DVI-I接口上,而是必须通过一个转换接头才能使用,一般采用这种接口的显卡都会带有相关的转换接头。   显示设备采用DVI接口具有主要有以下两大优点: 一、速度快   DVI传输的是数字信号,数字图像信息不需经过任何转换,就会直接被传送到显示设备上,因此减少了数字→模拟→数字繁琐的转换过程,大大节省了时间,因此它的速度更快,有效消除拖影现象,而且使用DVI进行数据传输,信号没有衰减,色彩更纯净,更逼真。 二、画面清晰   计算机内部传输的是二进制的数字信号,使用VGA接口连接液晶显示器的话就需要先把信号通过显卡中的D/A(数字/模拟)转换器转变为R、G、B三原色信号和行、场同步信号,这些信号通过模拟信号线传输到液晶内部还需要相应的A/D(模拟/数字)转换器将模拟信号再一次转变成数字信号才能在液晶上显示出图像来。在上述的D/A、A/D转换和信号传输过程中不可避免会出现信号的损失和受到干扰,导致图像出现失真甚至显示错误,而DVI接口无需进行这些转换,避免了信号的损失,使图像的清晰度和细节表现力都得到了大大提高

(出处:http://www.sheup.com)


 [1] [2] [3] [4] [5] 

  另外一种则是DVI-I接口,可同时兼容模拟和数字信号。兼容模拟幸好并不意味着模拟信号的接口D-Sub接口可以连接在DVI-I接口上,而是必须通过一个转换接头才能使用,一般采用这种接口的显卡都会带有相关的转换接头。   显示设备采用DVI接口具有主要有以下两大优点: 一、速度快   DVI传输的是数字信号,数字图像信息不需经过任何转换,就会直接被传送到显示设备上,因此减少了数字→模拟→数字繁琐的转换过程,大大节省了时间,因此它的速度更快,有效消除拖影现象,而且使用DVI进行数据传输,信号没有衰减,色彩更纯净,更逼真。 二、画面清晰   计算机内部传输的是二进制的数字信号,使用VGA接口连接液晶显示器的话就需要先把信号通过显卡中的D/A(数字/模拟)转换器转变为R、G、B三原色信号和行、场同步信号,这些信号通过模拟信号线传输到液晶内部还需要相应的A/D(模拟/数字)转换器将模拟信号再一次转变成数字信号才能在液晶上显示出图像来。在上述的D/A、A/D转换和信号传输过程中不可避免会出现信号的损失和受到干扰,导致图像出现失真甚至显示错误,而DVI接口无需进行这些转换,避免了信号的损失,使图像的清晰度和细节表现力都得到了大大提高

(出处:http://www.sheup.com/)


 [1] [2] [3] [4] [5] [6] 

标签: