|
|
楼主 |
发表于 2007-1-13 14:54:41
|
显示全部楼层
★★★★★显卡相关知识★★★★★
PCI Express
PCI Express(以下简称PCI-E)采用了目前业内流行的点对点串行连接,比起PCI以及更早期的计算机总线的共享并行架构,每个设备都有自己的专用连接,不需要向整个总线请求带宽,而且可以把数据传输率提高到一个很高的频率,达到PCI所不能提供的高带宽。相对于传统PCI总线在单一时间周期内只能实现单向传输,PCI-E的双单工连接能提供更高的传输速率和质量,它们之间的差异跟半双工和全双工类似。
PCI-E的接口根据总线位宽不同而有所差异,包括X1、X4、X8以及X16,而X2模式将用于内部接口而非插槽模式。PCI-E规格从1条通道连接到32条通道连接,有非常强的伸缩性,以满足不同系统设备对数据传输带宽不同的需求。此外,较短的PCI-E卡可以插入较长的PCI-E插槽中使用,PCI-E接口还能够支持热拔插,这也是个不小的飞跃。PCI-E X1的250MB/秒传输速度已经可以满足主流声效芯片、网卡芯片和存储设备对数据传输带宽的需求,但是远远无法满足图形芯片对数据传输带宽的需求。 因此,用于取代AGP接口的PCI-E接口位宽为X16,能够提供5GB/s的带宽,即便有编码上的损耗但仍能够提供约为4GB/s左右的实际带宽,远远超过AGP 8X的2.1GB/s的带宽。
尽管PCI-E技术规格允许实现X1(250MB/秒),X2,X4,X8,X12,X16和X32通道规格,但是依目前形式来看,PCI-E X1和PCI-E X16已成为PCI-E主流规格,同时很多芯片组厂商在南桥芯片当中添加对PCI-E X1的支持,在北桥芯片当中添加对PCI-E X16的支持。除去提供极高数据传输带宽之外,PCI-E因为采用串行数据包方式传递数据,所以PCI-E接口每个针脚可以获得比传统I/O标准更多的带宽,这样就可以降低PCI-E设备生产成本和体积。另外,PCI-E也支持高阶电源管理,支持热插拔,支持数据同步传输,为优先传输数据进行带宽优化。
在兼容性方面,PCI-E在软件层面上兼容目前的PCI技术和设备,支持PCI设备和内存模组的初始化,也就是说过去的驱动程序、操作系统无需推倒重来,就可以支持PCI-E设备。目前PCI-E已经成为显卡的接口的主流,不过早期有些芯片组虽然提供了PCI-E作为显卡接口,但是其速度是4X的,而不是16X的,例如VIA PT880 Pro和VIA PT880 Ultra,当然这种情况极为罕见。
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对游戏产业的影响可谓深远。
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发展前景迷茫。
AGP
AGP(Accelerate Graphical Port),加速图形接口。随着显示芯片的发展,PCI总线日益无法满足其需求。英特尔于1996年7月正式推出了AGP接口,它是一种显示卡专用的局部总线。严格的说,AGP不能称为总线,它与PCI总线不同,因为它是点对点连接,即连接控制芯片和AGP显示卡,但在习惯上我们依然称其为AGP总线。AGP接口是基于PCI 2.1 版规范并进行扩充修改而成,工作频率为66MHz。
AGP总线直接与主板的北桥芯片相连,且通过该接口让显示芯片与系统主内存直接相连,避免了窄带宽的PCI总线形成的系统瓶颈,增加3D图形数据传输速度,同时在显存不足的情况下还可以调用系统主内存。所以它拥有很高的传输速率,这是PCI等总线无法与其相比拟的。
由于采用了数据读写的流水线操作减少了内存等待时间,数据传输速度有了很大提高;具有133MHz及更高的数据传输频率;地址信号与数据信号分离可提高随机内存访问的速度;采用并行操作允许在CPU访问系统RAM的同时AGP显示卡访问AGP内存;显示带宽也不与其它设备共享,从而进一步提高了系统性能。
AGP标准在使用32位总线时,有66MHz和133MHz两种工作频率,最高数据传输率为266Mbps和533Mbps,而PCI总线理论上的最大传输率仅为133Mbps。目前最高规格的AGP 8X模式下,数据传输速度达到了2.1GB/s。
AGP接口的发展经历了AGP1.0(AGP1X、AGP2X)、AGP2.0(AGP Pro、AGP4X)、AGP3.0(AGP8X)等阶段,其传输速度也从最早的AGP1X的266MB/S的带宽发展到了AGP8X的2.1GB/S。
AGP 1.0(AGP1X、AGP2X)
1996年7月AGP 1.0 图形标准问世,分为1X和2X两种模式,数据传输带宽分别达到了266MB/s和533MB/s。这种图形接口规范是在66MHz PCI2.1规范基础上经过扩充和加强而形成的,其工作频率为66MHz,工作电压为3.3v,在一段时间内基本满足了显示设备与系统交换数据的需要。这种规范中的AGP带宽很小,现在已经被淘汰了,只有在前几年的老主板上还见得到。
AGP2.0(AGP4X)
显示芯片的飞速发展,图形卡单位时间内所能处理的数据呈几何级数成倍增长,AGP 1.0 图形标准越来越难以满足技术的进步了,由此AGP 2.0便应运而生了。1998年5月份,AGP 2.0 规范正式发布,工作频率依然是66MHz,但工作电压降低到了1.5v,并且增加了4x模式,这样它的数据传输带宽达到了1066MB/sec,数据传输能力大大地增强了。
AGP Pro
AGP Pro接口与AGP 2.0同时推出,这是一种为了满足显示设备功耗日益加大的现实而研发的图形接口标准,应用该技术的图形接口主要的特点是比AGP 4x略长一些,其加长部分可容纳更多的电源引脚,使得这种接口可以驱动功耗更大(25-110w)或者处理能力更强大的AGP显卡。这种标准其实是专为高端图形工作站而设计的,完全兼容AGP 4x规范,使得AGP 4x的显卡也可以插在这种插槽中正常使用。AGP Pro在原有AGP插槽的两侧进行延伸,提供额外的电能。它是用来增强,而不是取代现有AGP插槽的功能。根据所能提供能量的不同,可以把AGP Pro细分为AGP Pro110和AGP Pro50。在某些高档台式机主板上也能见到AGP Pro插槽,例如华硕的许多主板。
AGP 3.0(AGP8X)
2000年8月,Intel推出AGP3.0规范,工作电压降到0.8V,并增加了8x模式,这样它的数据传输带宽达到了2133MB/sec,数据传输能力相对于AGP 4X成倍增长,能较好的满足当前显示设备的带宽需求。
AGP接口的模式传输方式
不同AGP接口的模式传输方式不同。1X模式的AGP,工作频率达到了PCI总线的两倍—66MHz,传输带宽理论上可达到266MB/s。AGP 2X工作频率同样为66MHz,但是它使用了正负沿(一个时钟周期的上升沿和下降沿)触发的工作方式,在这种触发方式中在一个时钟周期的上升沿和下降沿各传送一次数据,从而使得一个工作周期先后被触发两次,使传输带宽达到了加倍的目的,而这种触发信号的工作频率为133MHz,这样AGP 2X的传输带宽就达到了266MB/s×2(触发次数)=533MB/s的高度。AGP 4X仍使用了这种信号触发方式,只是利用两个触发信号在每个时钟周期的下降沿分别引起两次触发,从而达到了在一个时钟周期中触发4次的目的,这样在理论上它就可以达到266MB/s×2(单信号触发次数)×2(信号个数)=1066MB/s的带宽了。在AGP 8X规范中,这种触发模式仍然使用,只是触发信号的工作频率变成266MHz,两个信号触发点也变成了每个时钟周期的上升沿,单信号触发次数为4次,这样它在一个时钟周期所能传输的数据就从AGP4X的4倍变成了8倍,理论传输带宽将可达到266MB/s×4(单信号触发次数)×2(信号个数)=2133MB/s的高度了。
目前常用的AGP接口为AGP4X、AGP PRO、AGP通用及AGP8X接口。需要说明的是由于AGP3.0显卡的额定电压为0.8—1.5V,因此不能把AGP8X的显卡插接到AGP1.0规格的插槽中。这就是说AGP8X规格与旧有的AGP1X/2X模式不兼容。而对于AGP4X系统,AGP8X显卡仍旧在其上工作,但仅会以AGP4X模式工作,无法发挥AGP8X的优势。
RAMDAC
RAMDAC是Random Access Memory Digital/Analog Convertor的缩写,即随机存取内存数字~模拟转换器。RAMDAC作用是将显存中的数字信号转换为显示器能够显示出来的模拟信号,其转换速率以MHz表示。
计算机中处理数据的过程其实就是将事物数字化的过程,所有的事物将被处理成 0和 1两个数,而后不断进行累加计算。图形加速卡也是靠这些0和1对每一个象素进行颜色、深度、亮度等各种处理。显卡生成的信号都是以数字来表示的,但是所有的CRT显示器都是以模拟方式进行工作的,数字信号无法被识别,这就必须有相应的设备将数字信号转换为模拟信号。而RAMDAC就是显卡中将数字信号转换为模拟信号的设备。
RAMDAC的转换速率以MHz表示,它决定了刷新频率的高低(与显示器的“带宽”意义近似)。其工作速度越高,频带越宽,高分辨率时的画面质量越好.该数值决定了在足够的显存下,显卡最高支持的分辨率和刷新率。如果要在1024×768的分辨率下达到85Hz的分辨率,RAMDAC的速率至少是1024×768×85×1.344÷1.06≈90MHz。
早期显卡的RAMDAC一般为300MHz,很快发展到350MHz,目前主流的显卡RAMDAC都能达到400MHz,已足以满足和超过目前大多数显示器所能提供的分辨率和刷新率。
API
API是Application Programming Interface的缩写,是应用程序接口的意思,而3D API则是指显卡与应用程序直接的接口。3D API能让编程人员所设计的3D软件只要调用其API内的程序,从而让API自动和硬件的驱动程序沟通,启动3D芯片内强大的3D图形处理功能,从而大幅度地提高了3D程序的设计效率。
如果没有3D API在开发程序时,程序员必须要了解全部的显卡特性,才能编写出与显卡完全匹配的程序,发挥出全部的显卡性能。而有了3D API这个显卡与软件直接的接口,程序员只需要编写符合接口的程序代码,就可以充分发挥显卡的不必再去了解硬件的具体性能和参数,这样就大大简化了程序开发的效率。
同样,显示芯片厂商根据标准来设计自己的硬件产品,以达到在API调用硬件资源时最优化,获得更好的性能。有了3D API,便可实现不同厂家的硬件、软件最大范围兼容。比如在最能体现3D API的游戏方面,游戏设计人员设计时,不必去考虑具体某款显卡的特性,而只是按照3D API的接口标准来开发游戏,当游戏运行时则直接通过3D API来调用显卡的硬件资源。
目前个人电脑中主要应用的3D API有DirectX和OpenGL。DirectX目前已经成为游戏的主流,市售的绝大部分主流游戏均基于DirectX开发,例如《帝国时代3》、《孤岛惊魂》、《使命召唤2》、《Half Life2》等流行的优秀游戏。而OpenGL目前则主要应用于专业的图形工作站,在游戏方面历史上也曾经和DirectX分庭抗礼,产生了一大批的优秀游戏,例如《Quake3》、《Half Life》、《荣誉勋章》的前几部、《反恐精英》等,目前在DirectX的步步进逼之下,采用OpenGL的游戏已经越来越少,但也不乏经典大作,例如基于OpenGL的《DOOM3》以及采用DOOM3引擎的《Quake4》等等,无论过去还是现在,OpenGL在游戏方面的主要代表都是著名的id Software。
最大分辨率
显卡的最大分辨率是指显卡在显示器上所能描绘的像素点的数量。大家知道显示器上显示的画面是一个个的像素点构成的,而这些像素点的所有数据都是由显卡提供的,最大分辨率就是表示显卡输出给显示器,并能在显示器上描绘像素点的数量。分辨率越大,所能显示的图像的像素点就越多,并且能显示更多的细节,当然也就越清晰。
最大分辨率在一定程度上跟显存有着直接关系,因为这些像素点的数据最初都要存储于显存内,因此显存容量会影响到最大分辨率。在早期显卡的显存容量只具有512KB、1MB、2MB等极小容量时,显存容量确实是最大分辨率的一个瓶颈;但目前主流显卡的显存容量,就连64MB也已经被淘汰,主流的娱乐级显卡已经是128MB、256MB或512MB,某些专业显卡甚至已经具有1GB的显存,在这样的情况下,显存容量早已经不再是影响最大分辨率的因素,之所以需要这么大容量的显存,不过就是因为现在的大型3D游戏和专业渲染需要临时存储更多的数据罢了。
现在决定最大分辨率的其实是显卡的RAMDAC频率,目前所有主流显卡的RAMDAC都达到了400MHz,至少都能达到2048x1536的最大分辨率,而最新一代显卡的最大分辨率更是高达2560x1600了。
另外,显卡能输出的最大显示分辨率并不代表自己的电脑就能达到这么高的分辨率,还必须有足够强大的显示器配套才可以实现,也就是说,还需要显示器的最大分辨率与显卡的最大分辨率相匹配才能实现。例如要实现2048x1536的分辨率,除了显卡要支持之外,还需要显示器也要支持。而CRT显示器的最大分辨率主要是由其带宽所决定,而液晶显示器的最大分辨率则主要由其面板所决定。目前主流的显示器,17英寸的CRT其最大分辨率一般只有1600x1200,17英寸和19英寸的液晶则只有1280x1024,所以目前在普通电脑系统上最大分辨率的瓶颈不是显卡而是显示器。要实现2048x1536甚至2560x1600的最大分辨率,只有借助于专业级的大屏幕高档显示器才能实现,例如DELL的30英寸液晶显示器就能实现2560x1600的超高分辨率。
显存容量
显存容量是显卡上本地显存的容量数,这是选择显卡的关键参数之一。显存容量的大小决定着显存临时存储数据的能力,在一定程度上也会影响显卡的性能。显存容量也是随着显卡的发展而逐步增大的,并且有越来越增大的趋势。显存容量从早期的512KB、1MB、2MB等极小容量,发展到8MB、12MB、16MB、32MB、64MB,一直到目前主流的128MB、256MB和高档显卡的512MB,某些专业显卡甚至已经具有1GB的显存了。
在显卡最大分辨率方面,最大分辨率在一定程度上跟显存有着直接关系,因为这些像素点的数据最初都要存储于显存内,因此显存容量会影响到最大分辨率。在早期显卡的显存容量只具有512KB、1MB、2MB等极小容量时,显存容量确实是最大分辨率的一个瓶颈;但目前主流显卡的显存容量,就连64MB也已经被淘汰,主流的娱乐级显卡已经是128MB、256MB或512MB,某些专业显卡甚至已经具有1GB的显存,在这样的情况下,显存容量早已经不再是影响最大分辨率的因素。
在显卡性能方面,随着显示芯片的处理能力越来越强大,特别是现在的大型3D游戏和专业渲染需要临时存储的数据也越来越多,所需要的显存容量也是越来越大,显存容量在一定程度上也会影响到显卡的性能。例如在显示核心足够强劲而显存容量比较小的情况下,却有大量的大纹理贴图数据需要存放,如果显存的容量不足以存放这些数据,那么显示核心在某些时间就只有闲置以等待这些数据处理完毕,这就影响了显示核心性能的发挥从而也就影响到了显卡的性能。
值得注意的是,显存容量越大并不一定意味着显卡的性能就越高,因为决定显卡性能的三要素首先是其所采用的显示芯片,其次是显存带宽(这取决于显存位宽和显存频率),最后才是显存容量。一款显卡究竟应该配备多大的显存容量才合适是由其所采用的显示芯片所决定的,也就是说显存容量应该与显示核心的性能相匹配才合理,显示芯片性能越高由于其处理能力越高所配备的显存容量相应也应该越大,而低性能的显示芯片配备大容量显存对其性能是没有任何帮助的。例如市售的某些配备了512MB大容量显存的Radeon 9550显卡在显卡性能方面与128MB显存的Radeon 9550显卡在核心频率和显存频率等参数都相同时是完全一样的,因为Radeon 9550显示核心相对低下的处理能力决定了其配备大容量显存其实是没有任何意义的,而大容量的显存反而还带来了购买成本提高的问题。
显存带宽
显存带宽是指显示芯片与显存之间的数据传输速率,它以字节/秒为单位。显存带宽是决定显卡性能和速度最重要的因素之一。要得到精细(高分辨率)、色彩逼真(32位真彩)、流畅(高刷新速度)的3D画面,就必须要求显卡具有大显存带宽。目前显示芯片的性能已达到很高的程度,其处理能力是很强的,只有大显存带宽才能保障其足够的数据输入和输出。随着多媒体、3D游戏对硬件的要求越来越高,在高分辨率、32位真彩和高刷新率的3D画面面前,相对于GPU,较低的显存带宽已经成为制约显卡性能的瓶颈。显存带宽是目前决定显卡图形性能和速度的重要因素之一。
显存带宽的计算公式为:显存带宽=工作频率×显存位宽/8。目前大多中低端的显卡都能提供6.4GB/s、8.0GB/s的显存带宽,而对于高端的显卡产品则提供超过20GB/s的显存带宽。在条件允许的情况下,尽可能购买显存带宽大的显卡,这是一个选择的关键。
显存
显存是显卡上的关键核心部件之一,它的优劣和容量大小会直接关系到显卡的最终性能表现。可以说显示芯片决定了显卡所能提供的功能和其基本性能,而显卡性能的发挥则很大程度上取决于显存。无论显示芯片的性能如何出众,最终其性能都要通过配套的显存来发挥。
显存,也被叫做帧缓存,它的作用是用来存储显卡芯片处理过或者即将提取的渲染数据。如同计算机的内存一样,显存是用来存储要处理的图形信息的部件。我们在显示屏上看到的画面是由一个个的像素点构成的,而每个像素点都以4至32甚至64位的数据来控制它的亮度和色彩,这些数据必须通过显存来保存,再交由显示芯片和CPU调配,最后把运算结果转化为图形输出到显示器上。
显卡的工作原理是:在显卡开始工作(图形渲染建模)前,通常是把所需要的材质和纹理数据传送到显存里面,开始工作时候(进行建模渲染),这些数据通过AGP总线进行传输,显示芯片将通过AGP总线提取存储在显存里面的数据,除了建模渲染数据外还有大量的顶点数据和工作指令流需要进行交换,这些数据通过RAMDAC转换为模拟信号输出到显示端,最终就是我们看见的图像。
显示芯片性能的日益提高,其数据处理能力越来越强,使得显存数据传输量和传输率也要求越来越高,显卡对显存的要求也更高。对于现在的显卡来说,显存是承担大量的三维运算所需的多边形顶点数据以及作为海量三维函数的运算的主要载体,这时显存的交换量的大小,速度的快慢对于显卡核心的效能发挥都是至关重要的,而如何有效地提高显存的效能也就成了提高整个显示卡效能的关键。
作为显示卡的重要组成部分,显存一直随着显示芯片的发展而逐步改变着。从早期的EDORAM、MDRAM、SDRAM、SGRAM、VRAM、WRAM等到今天广泛采用的DDR SDRAM显存经历了很多代的进步。
目前市场中所采用的显存类型主要有SDRAM,DDR SDRAM,DDR SGRAM三种。SDRAM颗粒目前主要应用在低端显卡上,频率一般不超过200MHz,在价格和性能上它比DDR都没有什么优势,因此逐渐被DDR取代。DDR SDRAM是市场中的主流(包括DDR2和DDR3),一方面是工艺的成熟,批量的生产导致成本下跌,使得它的价格便宜;另一方面它能提供较高的工作频率,带来优异的数据处理性能。至于DDR SGRAM,它是显卡厂商特别针对绘图者需求,为了加强图形的存取处理以及绘图控制效率,从同步动态随机存取内存(SDRAM)所改良而得的产品。SGRAM允许以方块 (Blocks) 为单位个别修改或者存取内存中的资料,它能够与中央处理器(CPU)同步工作,可以减少内存读取次数,增加绘图控制器的效率,尽管它稳定性不错,而且性能表现也很好,但是它的超频性能很差劲,目前也极少使用。
FPM显存
EDO显存
SGRAM显存
SDRAM显存
DDR显存
DDR2显存
DDR3显存
显存位宽
显存位宽是显存在一个时钟周期内所能传送数据的位数,位数越大则瞬间所能传输的数据量越大,这是显存的重要参数之一。目前市场上的显存位宽有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倍,可见显存位宽在显存数据中的重要性。
显卡的显存是由一块块的显存芯片构成的,显存总位宽同样也是由显存颗粒的位宽组成,。显存位宽=显存颗粒位宽×显存颗粒数。显存颗粒上都带有相关厂家的内存编号,可以去网上查找其编号,就能了解其位宽,再乘以显存颗粒数,就能得到显卡的位宽。这是最为准确的方法,但施行起来较为麻烦。
显存频率
显存频率是指默认情况下,该显存在显卡上工作时的频率,以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。
SDRAM显存
DDR显存
DDR2显存
DDR3显存
显存时钟周期
显存时钟周期就是显存时钟脉冲的重复周期,它是作为衡量显存速度的重要指标。显存速度越快,单位时间交换的数据量也就越大,在同等情况下显卡性能将会得到明显提升。显存的时钟周期一般以ns(纳秒)为单位,工作频率以MHz为单位。显存时钟周期跟工作频率一一对应,它们之间的关系为:工作频率=1÷时钟周期×1000。那么显存频率为166MHz,那么它的时钟周期为1÷166×1000=6ns。
对于DDR SDRAM或者DDR2、DDR3显存来说,描述其工作频率时用的是等效输出频率。因为能在时钟周期的上升沿和下降沿都能传送数据,所以在工作频率和数据位宽度相同的情况下,显存带宽是SDRAM的两倍。换句话说,在显存时钟周期相同的情况下,DDR SDRAM显存的等效输出频率是SDRAM显存的两倍。例如,5ns的SDRAM显存的工作频率为200MHz,而5ns的DDR SDRAM或者DDR2、DDR3显存的等效工作频率就是400MHz。常见显存时钟周期有5ns、4ns、3.8ns、3.6ns、3.3ns、2.8ns、2.0ns、1.6ns、1.1ns,甚至更低。
核心频率
显卡的核心频率是指显示核心的工作频率,其工作频率在一定程度上可以反映出显示核心的性能,但显卡的性能是由核心频率、显存、像素管线、像素填充率等等多方面的情况所决定的,因此在显示核心不同的情况下,核心频率高并不代表此显卡性能强劲。比如9600PRO的核心频率达到了400MHz,要比9800PRO的380MHz高,但在性能上9800PRO绝对要强于9600PRO。在同样级别的芯片中,核心频率高的则性能要强一些,提高核心频率就是显卡超频的方法之一。显示芯片主流的只有ATI和NVIDIA两家,两家都提供显示核心给第三方的厂商,在同样的显示核心下,部分厂商会适当提高其产品的显示核心频率,使其工作在高于显示核心固定的频率上以达到更高的性能。
像素填充率
像素填充率的最大值为3D时钟乘以渲染途径的数量。如NVIDIA的GeForce 2 GTS芯片,核心频率为200 MHz,4条渲染管道,每条渲染管道包含2个纹理单元。那么它的填充率就为4x2像素x2亿/秒=16亿像素/秒。这里的像素组成了我们在显示屏上看到的画面,在800x600分辨率下一共就有800x600=480,000个像素,以此类推1024x768分辨率就有1024x768=786,432个像素。我们在玩游戏和用一些图形软件常设置分辨率,当分辨率越高时显示芯片就会渲染更多的像素,因此填充率的大小对衡量一块显卡的性能有重要的意义。刚才我们计算了GTS的填充率为16亿像素/秒,下面我们看看MX200。它的标准核心频率为175,渲染管道只有2条,那么它的填充率为2x2 像素x1.75亿/秒=7亿像素/秒,这是它比GTS的性能相差一半的一个重要原因。
渲染管线
渲染管线也称为渲染流水线,是显示芯片内部处理图形信号相互独立的的并行处理单元。在某种程度上可以把渲染管线比喻为工厂里面常见的各种生产流水线,工厂里的生产流水线是为了提高产品的生产能力和效率,而渲染管线则是提高显卡的工作能力和效率。
渲染管线的数量一般是以 像素渲染流水线的数量×每管线的纹理单元数量 来表示。例如,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条生产流水线那样。
|
|