admin管理员组

文章数量:1532013

2023年12月11日发(作者:)

深入解析显卡各项性能参数

很多朋友总问,为什么某某低端卡频率比高端卡高,但性能却低,现在我简单说一些判断依据。

通过一些具体显卡例子来说明:

[GeForce 7900GS][20像素管线][20纹理单元][7顶点管线][核心频率450MHz][像素单元频率450MHz][显存频率1380MHz][显存容量256MB][显存位宽256bit]

1、显卡型号为GeForce 7900GS,这个没什么多解释的;

2、20像素管线,现在游戏最重要的渲染(render)部分就是像素着色(pixel shader);

3、像素管线可以看成一个个工作小组,20像素管线(pixel shader pipeline),就像20个工作小组,同时进行像素着色工作;

4、显卡核心频率可以看成是每个工作小组的工作速度,450MHz即每秒完成450M次工作;

5、通过第3、4两条,很容易理解,整体工作能力就是工作小组数量*每个工作小组的速度,同理:像素着色能力=像素管线*核心频率;

6、纹理填充也是渲染的重要部分,纹理填充能力=纹理单元*核心频率,道理同上; 7、顶点生成也是渲染的重要部分,顶点生成能力=顶点管线*核心频率,道理同上;

8、显存(graphic memory)是评判显卡性能的又一个关键指标,显存容量大小决定了显卡需不需要借助系统内存一起工作;

9、当显存容量不足,必须借助系统内存的时候,速度会大大降低,因为系统内存速度往往要比显存慢很多,具体差多少见第10条。

10、这里给出一个显存带宽计算公式:显存带宽=显存频率*(显存位宽/8);

11、简单计算7900GS显存带宽=1380MHz*256bit/8=44160MB/s=44.16GB/s,系统内存如DDR2-800,带宽仅为6.4GB/s;

12、通过第10条,很容易理解,显卡其实并非只要显存位宽大就好,其实显存带宽包含了显存位宽和显存频率两部分;

注:GeForce 7系列显卡是传统显卡架构,所以用来举例;GeForce 8系列显卡架构有所不同,但其中判断方式基本相当

显示芯片

NVIDIA G80显示核心

显示芯片是显卡的核心芯片,它的性能好坏直接决定了显卡性能的好坏,它的主要任务就是处理系统输入的视频信息并将其进行构建、渲染等工作。显示主芯片的性能直接决定了显示卡性能的高低。不同的显示芯片,不论从内部结构还是其性能,都存在着差异,而其价格差别也很大。显示芯片在显卡中的地位,就相当于电脑中CPU的地位,是整个显卡的核心。因为显示芯片的复杂性,目前设计、制造显示芯片的厂家只有NVIDIA、ATI、SIS、VIA等公司。家用娱乐性显卡都采用单芯片设计的显示芯片,而在部分专业的工作站显卡上有采用多个显示芯片组合的方式。

显存频率

显存频率是指默认情况下,该显存在显卡上工作时的频率,以MHz(兆赫兹)为单位。显存频率一定程度上反应着该显存的速度。显存频率随着显存的类型、性能的不同而不同,SDRAM显存一般都工作在较低的频率上,一般就是133MHz和166MHz,此种频率早已无法满足现在显卡的需求。DDR SDRAM显存则能提供较高的显存频率,主要在中低端显卡上使用,DDR2显存由于成本高并且性能一般,因此使用量不大。DDR3显存是目前高端显卡采用最为广泛的显存类型。不同显存能提供的显存频率也差异很大,主要有400MHz、500MHz、600MHz、650MHz等,高端产品中还有800MHz、1200MHz、1600MHz,甚至更高。

显存频率与显存时钟周期是相关的,二者成倒数关系,也就是显存频率=1/显存时钟周期。如果是SDRAM显存,其时钟周期为6ns,那么它的显存频率就为1/6ns=166 MHz。而对于DDR SDRAM或者DDR2、DDR3,其时钟周期为6ns,那么它的显存频率就为1/6ns=166 MHz,但要了解的是这是DDR SDRAM的实际频率,而不是我们平时所说的DDR显存频率。因为DDR在时钟上升期和下降期都进行数据传输,其一个周期传输两次数据,相当于SDRAM频率的二倍。习惯上称呼的DDR频率是其等效频率,是在其实际工作频率上乘以2,就得到了等效频率。因此6ns的DDR显存,其显存频率为1/6ns*2=333 MHz。具体情况可以看下边关于各种显存的介绍。

但要明白的是显卡制造时,厂商设定了显存实际工作频率,而实际工作频率不一定等于显存最大频率。此类情况现在较为常见,如显存最大能工作在650 MHz,而制造时显卡工作频率被设定为550 MHz,此时显存就存在一定的超频空间。这也就是目前厂商惯用的方法,显卡以超频为卖点。此外,用于显卡的显存,虽然和主板用的内存同样叫DDR、DDR2甚至DDR3,但是由于规范参数差异较大,不能通用,因此也可以称显存为GDDR、GDDR2、GDDR3。

输出端口

VGA

显卡所处理的信息最终都要输出到显示器上,显卡的输出接口就是电脑与显示器之间的桥梁,它负责向显示器输出相应的图像信号。CRT显示器因为设计制造上的原因,只能接受模拟信号输入,这就需要显卡能输入模拟信号。VGA接口就是显卡上输出模拟信号的接口,VGA(Video Graphics Array)接口,也叫D-Sub接口。虽然液晶显示器可以直接接收数字信号,但很多低端产品为了与VGA接口显卡相匹配,因而采用VGA接口。VGA接口是一种D型接口,上面共有15针空,分成三排,每排五个。VGA接口是显卡上应用最为广泛的接口类型,绝大多数的显卡都带有此种接口。

目前大多数计算机与外部显示设备之间都是通过模拟VGA接口连接,计算机内部以数字方式生成的显示图像信息,被显卡中的数字/模拟转换器转变为R、G、B三原色信号和行、场同步信号,信号通过电缆传输到显示设备中。对于模拟显示设备,如模拟CRT显示器,信号被直接送到相应的处理电路,驱动控制显像管生成图像。而对于LCD、DLP等数字显示设备,显示设备中需配置相应的A/D(模拟/数字)转换器,将模拟信号转变为数字信号。在经过D/A和A/D2次转换后,不可避免地造成了一些图像细节的损失。VGA接口应用于CRT显示器无可厚非,但用于连接液晶之类的显示设备,则转换过程的图像损失会使显示效果略微下降。

DVI

DVI全称为Digital Visual Interface,它是1999年由Silicon Image、Intel(英特尔)、Compaq(康柏)、IBM、HP(惠普)、NEC、Fujitsu(富士通)等公司共同组成DDWG(Digital Display Working Group,数字显示工作组)推出的接口标准。它是以Silicon

Image公司的PanalLink接口技术为基础,基于TMDS(Transition Minimized Differential Signaling,最小化传输差分信号)电子协议作为基本电气连接。TMDS是一种微分信号机制,可以将象素数据编码,并通过串行连接传递。显卡产生的数字信号由发送器按照TMDS协议编码后通过TMDS通道发送给接收器,经过解码送给数字显示设备。一个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接口无需进行这些转换,避免了信号的损失,使图像的清晰度和细节表现力都得到了大大提高。

TV-OUT

TV-Out是指显卡具备输出信号到电视的相关接口。目前普通家用的显示器尺寸不会超过19寸,显示画面相比于电视的尺寸来说小了很多,尤其在观看电影、打游戏时,更大的屏幕能给人带来更强烈的视觉享受。而更大尺寸的显示器价格是普通用户无法承受的,将显示画面输出到电视,这就成了一个不错的选择。输出到电视的接口目前主要应用的有三种。

一种是采用VGA接口,VGA接口是绝大多数显卡都具备的接口类型,但这需要电视上具备VGA接口才能实现,而带有此接口的电视相对还较少,同时多是一些价格较贵的产品,普及程度不高。此种方法一般不多采用,也不是人们习惯意义上说的视频输出。

另外一种则是复合视频接口。复合视频接口采用RCA接口,RCA接口是目前电视设备上应用最广泛的接口,几乎每台电视上都提供了此类接口,用于视频输入。虽然AV接口实现了音频和视频的分离传输,这就避免了因为音/视频混合干扰而导致的图像质量下降,但由于AV接口传输的仍然是一种亮度/色度(Y/C)混合的视频信号,仍然需要显示设备对其进行亮/色分离和色度解码才能成像,这种先混合再分离的过程必然会造成色彩信号的损失,色度信号和亮度信号也会有很大的机会相互干扰,从而影响最终输出的图像质量。

采用AV接口输出视频的显卡输出效果并不十分理想,但它却是电视上都具备的接口,因此此类接口受到一定用户的喜爱。目前此种输出接口的显卡产品较少,大多都提供输出效果更好的S端子接口。

S端子

最后一种则是目前应用最广泛、输出效果更好的S端子接口。S端子也就是Separate

Video,而“Separate”的中文意思就是“分离”。它是在AV接口的基础上将色度信号C

和亮度信号Y进行分离,再分别以不同的通道进行传输,减少影像传输过程中的“分离”、“合成”的过程,减少转化过程中的损失,以得到最佳的显示效果。

通常显卡上采用的S端子有标准的4针接口(不带音效输出)和扩展的7针接口(带音效输出)。S端子相比于AV 接口,由于它不再进行Y/C混合传输,因此也就无需再进行亮色分离和解码工作,而且使用各自独立的传输通道,在很大程度上避免了视频设备内信号串扰而产生的图像失真,极大地提高了图像的清晰度。

但S-Video 仍要将两路色差信号混合为一路色度信号C进行传输,然后再在显示设备内解码进行处理,这样多少仍会带来一定信号损失而产生失真(这种失真很小) ,而且由于混合导致色度信号的带宽也有一定的限制。S-Video虽不是最好的,但考虑到目前的市场状况和综合成本等其它因素,它还是应用最普遍的视频接口。

Video-in

Video-in是指显卡上具备用于视频输入的接口,并能把外部视频源的信号输入到系统内。这样就可以把电视机、录像机、影碟机、摄像机等视频信号源输入到电脑中。带视频输入接口的显卡,通过在显卡上加装视频输入芯片,再整合入显卡自带的视频处理能力,提供更灵活的驱动和应用软件,这样就能给显卡集成更多的功能。显卡上支持视频输入的接口有RF射频端子、复合视频接口、S端子和VIVO接口等。

RF射频端子

RF射频端子是最早在电视机上出现的,原意为无线电射频(Radio Frequency)。它是目前家庭有线电视采用的接口模式。RF 的成像原理是将视频信号(CVBS)和音频信号(Audio)相混合编码后,输出然后在显示设备内部进行一系列分离/ 解码的过程输出成像。由于步骤繁琐且音视频混合编码会互相干扰,所以它的输出质量也是最差的。带此类接口的显卡只需把有线电视信号线连接上,就能将有线电视的信号输入到显卡内。

复合视频接口

复合视频接口采用RCA接口,RCA接口是目前电视设备上应用最广泛的接口,几乎每台电视上都提供了此类接口,用于视频输入。虽然AV接口实现了音频和视频的分离传输,这就避免了因为音/视频混合干扰而导致的图像质量下降,但由于AV接口传输的仍然是一种亮度/色度(Y/C)混合的视频信号,仍然需要显示设备对其进行亮/色分离和色度解码才能成像,这种先混合再分离的过程必然会造成色彩信号的损失,色度信号和亮度信号也会有很大的机会相互干扰,从而影响最终输出的图像质量。

VIVO接口

VIVO接口其实就是一种扩展的S端子接口,它在扩展型S端子接口的基础上又进行了扩展,针数要多于扩展型S端子7针。VIVO接口必须要用显卡附带的VIVO连接线,才能能够实现S端子输入与S端子输出功能。 显存位宽

显存位宽是显存在一个时钟周期内所能传送数据的位数,位数越大则瞬间所能传输的数据量越大,这是显存的重要参数之一。目前市场上的显存位宽有64位、128位和256位三种,人们习惯上叫的64位显卡、128位显卡和256位显卡就是指其相应的显存位宽。显存位宽越高,性能越好价格也就越高,因此256位宽的显存更多应用于高端显卡,而主流显卡基本都采用128位显存。

大家知道显存带宽=显存频率X显存位宽/8,那么在显存频率相当的情况下,显存位宽将决定显存带宽的大小。比如说同样显存频率为500MHz的128位和256位显存,那么它俩的显存带宽将分别为:128位=500MHz*128∕8=8GB/s,而256位=500MHz*256∕8=16GB/s,是128位的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 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 9.0c

与过去的DirectX 9.0b和Shader Model 2.0相比较,DirectX 9.0c最大的改进,便是引入了对Shader Model 3.0(包括Pixel Shader 3.0 和Vertex Shader 3.0两个着色语言规范)的全面支持。举例来说,DirectX 9.0b的Shader Model 2.0所支持的Vertex Shader最大指令数仅为256个,Pixel Shader最大指令数更是只有96个。而在最新的Shader Model 3.0中,Vertex Shader和Pixel Shader的最大指令数都大幅上升至65535个,全新的动态程序流控制、 位移贴图、多渲染目标(MRT)、次表面散射 Subsurface scattering、柔和阴影 Soft shadows、环境和地面阴影 Environmental and ground shadows、全局照明 (Global illumination)等新技术特性,使得GeForce 6、GeForce7系列以及Radeon X1000系列立刻为新一代游戏以及具备无比真实感、幻想般的复杂的数字世界和逼真的角色在影视品质的环境中活动提供强大动力。

因此DirectX 9.0c和Shader Model 3.0标准的推出,可以说是DirectX发展历程中的重要转折点。在DirectX 9.0c中,Shader Model 3.0除了取消指令数限制和加入位移贴图等新特性之外,更多的特性都是在解决游戏的执行效率和品质上下功夫,Shader Model 3.0诞生之后,人们对待游戏的态度也开始从过去单纯地追求速度,转变到游戏画质和运行速度两者兼顾。因此Shader Model 3.0对游戏产业的影响可谓深远。

显存类型

显存是显卡上的关键核心部件之一,它的优劣和容量大小会直接关系到显卡的最终性能表现。可以说显示芯片决定了显卡所能提供的功能和其基本性能,而显卡性能的发挥则很大程度上取决于显存。无论显示芯片的性能如何出众,最终其性能都要通过配套的显存来发挥。

显存,也被叫做帧缓存,它的作用是用来存储显卡芯片处理过或者即将提取的渲染数据。如同计算机的内存一样,显存是用来存储要处理的图形信息的部件。我们在显示屏上看到的画面是由一个个的像素点构成的,而每个像素点都以4至32甚至64位的数据来控制它的亮度和色彩,这些数据必须通过显存来保存,再交由显示芯片和CPU调配,最后把运算结果转化为图形输出到显示器上。

目前市场上主要以DDR,DDRII,DDRIII为主。而新一代的1950芯片则支持DDRIIII显存。

核心频率 显卡的核心频率是指显示核心的工作频率,其工作频率在一定程度上可以反映出显示核心的性能,但显卡的性能是由核心频率、显存、像素管线、像素填充率等等多方面的情况所决定的,因此在显示核心不同的情况下,核心频率高并不代表此显卡性能强劲。比如9600PRO的核心频率达到了400MHz,要比9800PRO的380MHz高,但在性能上9800PRO绝对要强于9600PRO。在同样级别的芯片中,核心频率高的则性能要强一些,提高核心频率就是显卡超频的方法之一。显示芯片主流的只有ATI和NVIDIA两家,两家都提供显示核心给第三方的厂商,在同样的显示核心下,部分厂商会适当提高其产品的显示核心频率,使其工作在高于显示核心固定的频率上以达到更高的性能。

什么是渲染管线

渲染管线也称为渲染流水线,是显示芯片内部处理图形信号相互独立的的并行处理单元。在某种程度上可以把渲染管线比喻为工厂里面常见的各种生产流水线,工厂里的生产流水线是为了提高产品的生产能力和效率,而渲染管线则是提高显卡的工作能力和效率。

渲染管线的数量一般是以 像素渲染流水线的数量×每管线的纹理单元数量 来表示。例如,GeForce 6800Ultra的渲染管线是16×1,就表示其具有16条像素渲染流水线,每管线具有1个纹理单元;GeForce4 MX440的渲染管线是2×2,就表示其具有2条像素渲染流水线,每管线具有2个纹理单元等等,其余表示方式以此类推。

渲染管线的数量是决定显示芯片性能和档次的最重要的参数之一,在相同的显卡核心频率下,更多的渲染管线也就意味着更大的像素填充率和纹理填充率,从显卡的渲染管线数量上可以大致判断出显卡的性能高低档次。但显卡性能并不仅仅只是取决于渲染管线的数量,同时还取决于显示核心架构、渲染管线的的执行效率、顶点着色单元的数量以及显卡的核心频率和显存频率等等方面。一般来说在相同的显示核心架构下,渲染管线越多也就意味着性能越高,例如16×1架构的GeForce 6800GT其性能要强于12×1架构的GeForce 6800,就象工厂里的采用相同技术的2条生产流水线的生产能力和效率要强于1条生产流水线那样;而在不同的显示核心架构下,渲染管线的数量多就并不意味着性能更好,例如4×2架构的GeForce2 GTS其性能就不如2×2架构的GeForce4 MX440,就象工厂里的采用了先进技术的1条流水线的生产能力和效率反而还要强于只采用了老技术的2条生产流水线那样

什么是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发展前景迷茫。

本文标签: 显卡显存接口显示频率