当前位置:文档之家› 决定显卡性能的关键性因素

决定显卡性能的关键性因素

才能生成栩栩如生的3D图像。
3D 引擎对显卡的影响
所谓“顶点”也就是那些描述3D图形空间位置的数据。3D引擎 工作时先从显存中将描述3D图形外观的顶点数据读出,根据这些三 角形顶点数据以及像素Z值、Apala值来确定3D图形大致的外观以及 不同物体在空间上的纵深关系,当然形成的这个外观图像就像“风 筝”的骨架一样,不同物体之间呈现的空间关系也因为此时还没有 光影变化以及凹凸贴图所表现的层次感,看起来就像人眼具有透视 功能一样,可以透过前面的物体看到后面的物体,这个处理过程可 以理解为“建立模型”。
决定显卡性能的关键性因素
Lucy Liu
AGENDA
➢ 显卡的结构体系 ➢ 3D 引擎对显卡的影响 ➢ API 体系对显卡的影响 ➢ 显存体系对显卡的影响 ➢ 外部接口对显卡的影响 ➢ 驱动程序对显卡的影响 ➢ 显卡性能与刷新率的关系 ➢ 显卡性能与画面质量的关系 ➢ 显卡厂商及显卡新技术
显卡的结构体系
早期的3D游戏,游戏开发人员必须针对不同的显卡核心来编写一些不 同的额外代码,以便让游戏在这些显卡上都能获得满意的性能。针对这种 情况,微软提出了一个名为“DirectX”的通用API。所谓API,也就是“应 用程序接口”。以后不管是游戏开发人员还是显卡核心设计人员,都可以 根据DirectX中的指导规范来设计产品,从而让产品的兼容性、通用性更好。
《Quake 3》、《使命召唤》等,《DOOM 3》也是基于OpenGL API开发的。
显存体系对显卡的影响
通过分析显卡的3D引擎不难看出,它们所需要处理的数据量及流量都 是相当大的。在这些数据中,既有“原料”(系统发出的各种图形指令、 纹理、材质等),也有“半成品”、“成品”(已经处理好的数据)。如 果没有一个专为显卡服务的存储器,那么显卡的工作效率将大大降低,同 时也将严重占用系统内存,进而影响整个系统的速度。
显卡结构
2D 处理
显卡核心 显存控制器
显卡
3D 引擎 显存
外部接口 (PCIE 接口)
PCB 面板 显示器接口
供电电路
显卡的体系结构
显卡工作流程
CPU 系统内存
显存
2D 处理器 3D 引擎
CPU 根据指令将与图形处理相关的数据(3D,纹理,材质等数 据送到系统内存,接着这些数据通过显卡的外部接口(PCI-E) 送到显存单元,2D 数据被送到2D处理器,处理完之后 输出至 显示器;3D 数据被送到3D引擎,3D引擎根据3D数据“描 绘”3D 图像,然后输出至显示器。
如何快速看出一款显卡所使用的显存位宽呢?有一个比较快的检验手 段:mBGA封装的显存颗粒(正方形)一般都是32bit的产品,因此如果一 块显卡上有4颗mBGA封装的显存,那么总位宽就是128bit,8颗就是256bit。
TSOP封装的显存颗粒一般都是16bit的产品,因此如果一块显卡上有4 颗TSOP封装(长方形)的显存,那么总的显存位宽就是64bit,如果有8颗 显存就是128bit。注意,上述识别方法只是经验之谈,并不保证适用于所 有显卡。最好结合显存颗粒的标示来进行识别,此外也可以借助检测软件 来进行识别。
显存带宽的大小与显存的工作频率及显存的位宽有关:显存的工作频 率越高,那么其自身的传输速度就越快,也就是带宽越大;显存控制器起 着连通显存与显卡核心的作用,它是一座“桥梁”。如果这个“桥梁”的 宽度不够,那么也会影响数据的流通速度。显存带宽的计算方法是:
显存带宽=显存工作频率×显存位宽ห้องสมุดไป่ตู้8。
显存体系对显卡的影响
目前的新3D游戏都开始大量应用DirectX9中的各种新型图形渲染技术, 越高版本的DirectX由于支持更高精度的图形渲染技术,因此可以实现更多 的渲染特效。需要注意的是,显卡3D引擎与游戏是相辅相成的,例如说如 果一款游戏在开发时只应用了DirectX 8中的渲染技术,那么支持DirectX 9.0c的显卡与支持DirectX8的显卡在运行该游戏时,画面特效是一样的。
显存所发挥的作用与主机中的内存差不多,它是用来暂时存放显卡核 心所处理的数据的。显存的性能将直接影响到显卡的整体性能。对于显卡 而言,与显存最关键的指标有两个——带宽与容量。
显存带宽的作用
显卡核心与显存之间的数据交换速度就是显存的带宽。如果带宽不够, 则2D处理器及3D引擎中的顶点处理器、像素渲染流水线就会处在一种 “吃不饱”,同时“货物运不出去”的尴尬状态。
需要注意的是,对于3D引擎内的像素渲染单元而言,关键还是像素渲 染流水线,至于每条像素渲染流水线搭配的纹理处理单元的个数,搭配多 个纹理处理单元的像素渲染流水线在处理多纹理时会比较有优势,但如果 碰到单纹理,那么就没有多大实际的优势了。毕竟不同游戏采用的纹理贴 图方式有所不同,有些游戏大量采用单纹理,也有很多游戏大量采用多纹 理贴图。目前市场上的显卡核心,由于像素渲染流水线比较多,因此一般 每条像素渲染流水线只搭配一个纹理处理单元。
3D 引擎对显卡的影响
3D引擎内部结构
顶点处理器
3D引擎
建立模型
像素处理单元 渲染
2D图形数据的处理相对比较简单, 3D指令的处理就要复杂多了。 电脑显示3D图形的过程中首先是用多边形(三角形是多边形 中最简单的)建立一个三维模型,然后再根据相应的指令来
将这个三维模型进行着色、阴影、打光等等其他处理,最后
在外形确定之后,便接着从显存中读取纹理数据,将工作交给像素 处理单元进行合成处理,即为“风筝糊上外衣”,同时光影效果、 阴影过渡也在这个阶段计算出来,完成这两个阶段之后将处理好的 数据放入显存或直接输出。
3D 引擎对显卡的影响
顶点处理的重要性
电脑显示3D图形的过程中首先是用多边形建立三维模型,然后再进行 着色等其它处理,物体模型组成的三角形数量多少将直接影响重现后物体 外观的真实性。显卡每秒生成三角形的数量越多,也就能在保障图形显示 帧速率的前提下为物体模型建立更多的三角形,以提高3D模型的分辨率。
API体系对显卡的影响
目前我们所使用的3D显卡基本上都是面向娱乐的产品,主要面向游 戏应用。在开发3D游戏时,如果没有相应的开发指导规范,那么整个游戏 软件、3D显卡市场将会非常混乱——软件必须在操作系统上运行,而游戏 软件还得通过显卡来进行相应的运算,如果游戏内部的指令代码繁乱无章, 那么显卡在执行这些指令时,肯定会对性能有所影响。
3D 引擎对显卡的影响
像素渲染流水线的重要性
从顶点处理单元生成的数据将由装配引擎重新组合为三角形,然后进入 到像素处理单元,也就是像素渲染流水线。在这里,3D模型将由像素处理 单元进行“着色”并进行各种颜色、灯光、阴影处理,这个过程也称之为 “渲染”。
显卡核心每秒钟可以处理的像素量也称之为“像素填充率”,它是显卡 的一个非常重要的性能指标,其单位一般为“Pixel/s”。它决定了3D图形 显示时可能达到的最高帧速率,直接影响3D显卡运行时的显示速度。相对 构建3D外观模型的顶点数据运算来说,像素填充的工作量和复杂程度要远 比其大得多、周期上也要长得多,因此它的数值高低要比三角形生成率更 为重要一些。
显卡核心的多边形处理能力,主要与核心的工作频率及顶点处理流水线 的数量有关:核心工作频率越高,顶点处理器的工作能力自然越强;不过, 如今的3D图形数据越来越复杂,很多游戏的3D数据量相当大,如果单靠 一个顶点处理器进行处理顶点数据,由于目前的显卡核心工作频率还不可 能太高,因此只能通过增加顶点处理器数量的方法来进行并行处理。 显卡核心所具备的“多边形生成率”是一个很重要的参数:多边形生成率 也就是显卡核心每秒钟能够处理的多边形数量,一般“Vertex/s”为单位 多边形生成率= 核心频率*顶点处理单元的流水线数量/4 (备注:每4条指令完成一个三角形生成)
API体系对显卡的影响
后者则主要负责3D效果的显示,比如CS中的场景和人物、FIFA中的人物等 等,都是使用了DirectX的Direct 3D。
声音部分中最主要的API是DirectSound,除了播放声音和处理混音之外, 还加强了3d音效,并提供了录音功能。我们前面所举的声卡兼容的例子, 就是利用了DirectSound来解决的。
了解OpenGL API
除了DirectX这种API之外,常用的3D API还有OpenGL。OpenGL是“Open GraphicsLib”的缩写,是一套三维图形处理库,也是该领域的工业标准, 目前在Windows、MacOS、OS/2、Unix/X-Windows等系统下均可使用。
OpenGL具有良好的可移植性,同时调用方法简洁明了,深受好评,应用 广泛。OpenGL是专业图形处理、科学计算等高端应用领域的标准图形库。
DirectX对显卡性能的影响
微软开发了DirectX标准平台,并且与硬件厂商和游戏厂商合作,共同 更新升级DirectX的标准。硬件制造商按照此标准研发制造更好的产品,游 戏程序员根据这套标准开发新的游戏。也就是说,无论硬件是否支持某特 殊效果,只要DirectX标准中有,写游戏的程序员就可以把它写到游戏中, 当这个游戏在硬件上运行,如果此硬件根据DirectX标准把这个效果做到了 此硬件驱动程序中,驱动程序驾驭其硬件算出此效果,用户就可以欣赏到 此效果。
输入部分Direct Input可以支持很多的游戏输入设备,它能够让这些设 备充分发挥最佳状态和全部功能。除了键盘和鼠标之外还可以连接手柄、 摇杆、模拟器等。
网络部分DirectPlay主要就是为了具有网络功能游戏而开发的,提供 了多种连接方式,TPC/IP,IPX,Modem,串口等等,让玩家可以用各种 连网方式来进行对战,此外也提供网络对话功能及保密措
显存位宽
单个显存控制器的位宽大都是64bit,为了提高显存带宽,如今的显卡 都会集成2个或4个显存控制器。例如高端的GeForce 6800、Radeon X800系 列,显卡核心内置4个64bit的显存控制器来并行处理,这样总的显存位宽 就达到了256bit。
相关主题