DirectX支配游戏!历代GPU架构全解析
★ 首款DX9C显卡——GeForce 6800
在经历了GeForce FX系列惨痛的失败后,NVIDIA痛定思痛,要挽回在高端产品上的失利局面,仅靠架构已完全定型的NV3x系列作一定程度的增补显然是很难实现的。NVIDIA将更大的希望押宝在了新一代产品之上,它吸取了上一代产品的教训,重新设计的架构和完整支持DX9C标准,让这款显卡以全新的形象展现在用户面前。甚至有分析家评论GeForce 6800和GeForce FX简直不是一家公司设计的产品,其架构变化之大可见一斑!
NV3X最大的弊端就是像素渲染单元效能低下,而NV40最强大之处就在像素单元架构部分。NV40拥有多达16条像素渲染管线暂且不谈,其每一个PSU的结构都值得探讨,NVIDIA将其称为Superscalar(超标量)的设计。普通的像素渲染管线只提供一组着色器单元,每个周期最多只能执行四组运算,而NV40的超标量架构则内含第二组着色器单元,让每个周期的运算量增加一倍。
NV40的像素渲染管线结构
正因为如此,对手ATI的X800系列虽然在硬件规格上与NV40完全相同,但在DX9b游戏中的性能差距依然不小,这就是超标量架构的优势。当然固步自封的ATI在X800时代依然仅支持DX9b,无法开启HDR,丧失了很多卖点,让用户大失所望。
6800的成功让NVIDIA风光无限,整个GeForce 6家族在各个价位都力压对手的X800家族,而且完美的架构使得NVIDIA可以轻易的扩充规模,发布了拥有多达24条像素渲染管线的第二代DX9C显卡——GeForce 7800系列(其架构基本没变,只做了些许优化,这里就不多做介绍了)。
★ 支持HDR+AA的DX9C显卡——X1800/X1900
X800的对手是6800系列,但它既没有性能优势,也不支持DX9C/HDR,这使得ATI经历了9700/9800系列短暂的辉煌之后再次陷入被动局面。于是,ATI开始研发下一代GPU,改良架构,准备重夺王位。但事与愿违,R520核心的X1800XT虽然使用了全新的架构,完美支持DX9C,但依然没能击败已经发布半年之久的7800GTX,因为X1800XT依然只有16条像素渲染管线,而7800GTX拥有多达24条,差距如此之大,根本无法用新架构的效率及高频率来弥补。
R520与R580的架构几乎完全相同,不同的只有像素单元数量
当时谁都没有料到ATI还预留了一手,原来R520这种架构的实力远不止16条像素渲染管线这么简单,ATI完全颠覆了传统“管线”的概念,R580核心紧随其后,将像素渲染单元提升只48个之多,整整是R520的3倍!而顶点渲染单元和纹理单元以及GPU其它所有模块都没有做任何改动。
从R520到R580的这种改变当时令所有人都很费解,因为包括G70和R420在内的以往所有GPU都是管线式架构,就是像素渲染单元内部包含了纹理单元,一般像素和纹理的比例是1:2或者1:1。而R520首次将像素单元和纹理单元拆分开来,成为独立的设计,所有的像素单元都可以互相共享所有纹理单元资源,R520的像素和纹理比例依然是1:1,而R580的比例则瞬间提升至3:1,相信资历较老的玩家一定记得ATI当年大肆鼓吹“三比一架构”。
这样设计是因为ATI发现了游戏的发展趋势,像素渲染的比重越来越高,而纹理贴图的增长比较缓慢,相信大家还记得当年ATI的DX7显卡,其一条管线中包括了3个纹理单元,以前是1:3后来是1:2接着变成1:1,现在被ATI一举提升至3:1。虽然当时很多人都不好理解,但从现在的发展来看,像素与纹理的比例越拉越大,DX10时代大概是3:1,DX11时代则变成了5:1甚至更高!
除了具有前瞻性的3:1架构外,X1000架构还有另一大绝招就是HDR+AA技术。大家知道6800系列连续两年都是市面上唯一的DX9C显卡,当时所有的DX9C游戏都是基于NVIDIA的架构而开发,当使用N卡开启HDR特效时(准确的说是FP32格式),会占据原本属于MSAA的缓冲区,导致HDR和AA无法共存。HDR是DX9C的代表技术,能大大提升画面效果,而AA消除锯齿也能大幅改善画质,这两项关键特效无法同时开启让玩家们很郁闷。
ATI的DX9C产品比NV晚了一代,ATI意识到了DX9C的这一缺陷之后,在其架构设计之初就考虑到了HDR和AA共存的问题,因此特别设计了专用的缓冲区,可以通过游戏或者驱动重新指定MSAA的缓存位置,从而同时开启HDR+AA。遗憾的是修改游戏或驱动兼容性并不好,支持的游戏也不多,虽然这确实是一个很大的卖点,ATI锐意进取的精神也值得尊重,但最终效果还是不如人意。
另外,X1000也改进了像素着色单元的内部结构,每个像素单元都拥有两个算术逻辑单元和一个分支执行单元,其中ALU1只能执行加法(ADD)计算,ALU2能执行包括加法、乘法(MUL)、乘加(MADD)各类运算,两个ALU最高可以执行两条指令(3D+1D)。为了控制如此庞大的像素单元,ATI还针对SM3.0的特性改进了动态流控制功能,大大改进了SIMD架构的动态分支性能,让像素着色效能得到提升。
功夫不负有心人,全新架构并且拥有多达48像素单元的X1900XTX,性能比X1800XT获得了大幅提升,完胜对手的7900GTX,而且越新的游戏优势越明显。强大的X1900XTX迫使NVIDIA推出双G71核心的7950GX2来对抗,虽然7950GX2单卡超越了X1950XTX,但双卡的话则因效率问题依然是A卡占优。
★ 小结:DX9C时代双方架构各有所长
DX9C是一代经典API,至今依然有很多游戏无视DX10/DX11,坚守DX9C平台,以至于HDR+AA的问题被遗留至今依然没能得到完美解决。NV40是因为发布较早没能解决这一难题,G70则是扩充像素和顶点的产物,也没能解决。
ATI在X800时代未能抢得先机,因此在X1000架构当中花了很多心思,争取做最完美的DX9C显卡,他们确实做到了这一点,无论架构和性能都有优势。但由于晶体管规模太大,功耗表现不如人意,因此在市场方面X1000与GF7相比并无优势。