第1页:DX10 API 第2页:DX10先进特性介绍 第3页:DX10 先进特性介绍 续 第4页:DX10王牌游戏《孤岛危机》 第5页:另一款大牌DX10游戏 第6页:历代NVIDIA经典显卡回顾 第7页:从TNT到GeForce 第8页:步入shader纪元 第9页:王者归来 第10页:重新定义真实,全新的设计思想-革命性的G8x登场 第11页:GeForce 8的多执行诸体系(1) 第12页:GeForce 8的多执行诸体系(2) 第13页:GeForce 8的标量化渲染单元(1) 第14页:GeForce 8的标量化渲染单元(2) 第15页:GeForce 8的模块化频率异步架构 第16页:GeForce 8对DirextX 10的支持 第17页:GeForce 8在通用计算方面的潜力 第18页:G84-NV中端DX10的支撑 第19页:影响中端GPU的因素-市场竞技最为激烈的地方 第20页:来自DX10的其它竞争者-RV630 第21页:Gf8600/8500具体规格以及公版PCB介绍 第22页:G84最大变革-第二代硬件解码PureVideo 第23页:参测显卡七彩虹逸彩8600GT-GD3 CF黄金版 256M(1) 第24页:参测显卡七彩虹逸彩8600GT-GD3 CF黄金版 256M(2) 第25页:参测显卡迅景8800GTS介绍 第26页:参测显卡热管版超酷技嘉8600GT 第27页:参测显卡影驰8600GT介绍 第28页:参测显卡华硕静音版8600GT介绍 第29页:参测显卡精英8600GTS介绍 第30页:参测显卡金鹰8600GT/8500GT介绍 第31页:参测显卡双敏速配PCX8628GTS玩家版介绍 第32页:3D性能测试平台介绍 第33页:Banchmark测试——3Dmark01 第34页:Banchmark测试——3Dmark05 第35页:Banchmark测试——3Dmark06 第36页:3D GAME测试——FARCRY 第37页:3D GAME测试——FEAR 第38页:3D GAME测试——NFS10 第39页:3D GAME测试——Prey 第40页:3D GAME测试——Quake4 第41页:3D GAME测试——STALKER Shadow of Chernobyl 第42页:3D GAME测试——Company of Heroes 第43页:3D GAME测试——Test Drive Unlimited以及3D性能测试总结 第44页:PureVideo效能详细实测 第45页:GF8600GT超频测试 第46页:结论与及总结
第10页:重新定义真实,全新的设计思想-革命性的G8x登场
从NV3X的失败,到NV4X的大改,到G7X的平衡,我们看到的是一个“经典失败”架构的起死回生。而从X800,X1800那眼花缭乱的衍生型号,到X1600 X1650 X1900 X1950的自乱阵脚,ATI给人的感觉就是每次都慢了半拍,每次试图夺回主动权的举动,都会陷入对手更深层次的陷阱中。NV成熟的市场运做能力不得不让人惊叹。小熊在线www.beareyes.com.cn
在仔细分析了未来图形渲染发展的趋势后,NV50,也就是现在的G8X体系,于2002年上半年被定项,它将是NV面向未来的架构,集中了众多的新玩意,支持DX10,风险较大,有一个比较长的研发周期。为了对抗R3XX及其后续产品,同时被提上日程的,还有NV30的洗心革面版----NV4X。小熊在线www.beareyes.com.cn
不过,R5XX至少已经在性能上击败了延续自NV40的G7X,终于轮到NV30正统后续者----NV50(G80)出场的时候了。我们今天要为大家介绍的G84/86都属于这个体系里的一员。
纵观GPU的发展历史,从GeForce 256(NV10)的120MHz,简单的1×4pipeline固定功能(Fix-funciton)流水线,到最近Radeon X1950XTX(R580)的650MHz,3×16pipeline,高度可程序化的Shader流水线,提高性能的途径无非是两种:通过不断提高GPU工作的时钟频率(Frequency)或者通过为GPU不断增加平行渲染管线(pipeline)来提高单位时间内的数据吞吐量。小熊在线www.beareyes.com.cn
不过,这样做并非最佳方法。首先,随着时钟频率的提高,GPU受到外部存储器(显存)的影响越来越大。一个工作频率在600MHz的GPU,内部每个时钟周期的长度在1.6ns左右,而我们可怜的显存还在以200-300MHz(2.0GHz GDDR4)的速度工作(GDDR4使用8位预取结构[Octal Data Rate]设计,数据频率是核心频率的8倍)。更加糟糕的是,GPU对显存的存取动作的指令也会有延迟周期(CAS,RAS),这样,从GPU开始存取放在芯片外面的DRAM,到第一个data送出的时间差最小也有几十个ns,以GPU内部的时钟频率而言可能会有几十到上百个周期的损失。传统意义上的流水线在这种情况下会陷于无限的等待之中,这会对GPU的正常工作造成严重的影响。小熊在线www.beareyes.com.cn
其次,单纯的增加平行管线(pipeline)的数量,也会带来一系列问题。工艺制成就已经决定了一个时间段内GPU的集成度,流水线数量不可能无限制增加。而进入Shader时代后,事情开始进一步变得麻烦了。随着游戏引擎的复杂化,流水线再也没有固定的处理流程。例如,现在游戏中常见的HDR光照首先需要将一个预先写好的整个场景的光照信息保存在FP格式的texture里,然后利用ALU进行算术运算渲染到另一个目标纹理并求出平均亮度,输出的像素必须在TMU单元中经过一次混合过滤,最后根据已有的事先写好的效果再对像素进行Texture混合,整个过程要通过Pixel Shader不断的算术运算来为纹理加上想要的效果,不再是单方向的深度流水线;Displacement mapping需要颠覆正常的VS->PS的渲染流程,让VS利用顶点纹理拾取(Vertex Texture Fetch,实质上就是给VS配备mini TMU)或者渲染到顶点缓存(R2VB)的方式从PS读取纹理信息直接映射到顶点上,这又改变了流水线的行进方向;一些复杂的光照生成用到的Deferred shading(延迟渲染)技术,要先输出G-Buffer到MRT,然后回过头来根据MRT再进行渲染........
Batch Size与效率之间的关系,这张图用对阴影边缘进行柔和取样来当作说明
总之,Shader时代的GPU流水线已经越来越没有固定的渲染流程。而且Shader本身也开始变得不确定性。在ShaderModel 1.0时代,因为硬件和API的限制,开发人员只能写很“笨”的Shader。但到了ShaderModel 2.0,3.0以及最近DX10引入的4.0版本,Shader最大指令数的提高,临时暂存器数量的增加,纹理格式的丰富,以及一系列的流控制指令[像是循环(loops)、分支(branching)、呼叫(call)和返回(return)及子程序(subroutine)等]的引入,赋予了Shader真正的编程能力,Shader的结构已经变得越来越非线性。传统意义上的流水线在这种复杂shader下效率是很低的,必须引入Multi-Threading对这些复杂的渲染过程进行控制和管理,才能合理利用到流水线的资源,单纯的增加GPU的平行管线数量已经难以获得有效的性能提升。
近些年来,体系结构设计者已经注意到了单纯提高时钟频率和增加平行管线的难度和不经济性,以及由此带来的功耗方面的负面影响。于是,一种新的性能公式在NV50(G8X)上被提出:Performance(性能) = Frequency(时钟频率) × IPC(Instruction per cycle,每周期指令数,既指令吞吐效率) × Multi-threading(多执行诸架构) 。换句话说,G8X已经抛弃了传统的增加平行管线(Popeline)来获得性能提升的思想。小熊在线www.beareyes.com.cn
G80 GPU的渲染体系
2007年04月18日 于上海
版权作品 未经许可 请勿转载