王者之间的较量,R300 VS NV30深度
简单性能分析:
NV30(450MHz)、R300(325MHz)与NV25(300MHz)的理论像素填充率、理论图元填充率和实测图元填充率数据对比。
注:*表示并非实测值,而是推测值。
注意, 理论上,在没有瓶颈的像素渲染流水线上,像素填充率等与单纹理图元填充率。因此,这里我们用实测的单纹理图元填充率来计算像素填充率实现效率。
这里可以看出,在像素填充率上,与NV25高达89.34%的效率相比,R300 68%的效率是在有点儿逊色。这可能是两方面的原因造成的,1)R300的驱动程序不够完善,需要进一步的优化;2)在执行传统的像素渲染操作时,R300通过指令模拟的方式效率较低,比不上传统的寄存器合并单元的效率。如果是第二条原因造成的话,那么R300的像素渲染效率提高的潜力有限。
值得高兴的是,在多纹理图元填充时,R300达到了NV25同样的效率,而这是当前流行3D游戏所采用的主要渲染方式。不过这也同时明显的暴露出了R300与NV25相比,在多纹理图元填充率上面的优势不大,主要来自更高的频率(25MHz)上。这也说明,在某些游戏或者某些游戏场景,R300与NV25的性能差距不会很大甚至持平。
为了更直观的预测NV30的真实性能,我们假设NV30能够达到NV25的实际实现效率,根据nVIDIA硬件和驱动设计水平的历史纪录,这是可能的。那么,NV30将能够达到:3.22 GTexels(=Pixels)/s的像素填充率和6.98 GTexels/s。OMG,知道这是什么概念吗?我们来算算吧:
假设一个未来的NB 3D游戏,所有对象采用8重纹理,采用4X SS FSAA(效果优秀的反锯齿方案),运行在1600x1200分辨率下,那么,如果满足以下条件:
1)顶点处理器的几何吞吐量不造成瓶颈。除非同时大量使用HOS技术和阴影容积技术,否则NV30和R300的顶点处理器不太可能成为瓶颈。
2)本地显存带宽也不成为瓶颈。这是可能造成瓶颈的因素,不过可以通过优化设计和缓存来缓解。
3)CPU的处理能力不成为瓶颈。这点取决于游戏引擎的质量,好的游戏引擎对于CPU要求较低,例如,经典的Quake III,但是垃圾游戏引擎简直是CPU杀手,例如,Commanche,就是NV30,在Pentium IV 2.0G上的帧数也不会比NV25强多少。
那么:NV30的图元填充率能够达到如下帧数:
6.98G/(1600 x 1200 x 4 x 8) = 113.6 FPS。
如果在R300上以同样的条件运行这个游戏的话,则帧数为:
2.53G/(1600 x 1200 x 4 x 8) = 41.2 FPS
呵呵,差距一目了然。
使用海量材质的 Doom III呼唤NV30和R300
不过,这仅仅是理论推断,随着类似NV30和R300之类强劲GPU的推出,天平逐渐向GPU倾斜。现在确实存在一些游戏受制约于CPU处理能力,例如Commanche,尤其是在较低的分辨率下,例如1024x768,没有采用FSAA和AF时,不同类型的显示卡,帧数几乎没有区别。呼吁,期待未来的游戏开发者们多在游戏引擎优化上多下下功夫,好让我们的最新装备能够充分发挥威力。另外,进入R300和NV30时代后,似乎我们运行3D游戏时应该多多考虑考虑1600 x 1200的分辨率了。
Commanche是一个受CPU处理能力制约的游戏典型
这是Commanche受CPU处理能力约束的明证(该图表来自Tom''s Hardware)
小结:如果刨除驱动程序效率因素、显存带宽因素和CPU因素,在运行旧有的或者现有的没有使用或者很少量的使用了像素着色程序的3D游戏时,NV30在像素渲染能力上要比R300拥有不小的优势(~2 : 1)。更为严重的是,在运行采用了大量复杂像素着色程序的未来游戏,NV30与R300相比,差距还会拉大。强烈呼唤R350尽快出台,好赶上与NV30抗衡。 <