ATi :我们真正把DirectX 9做对了
虽然支持DirectX 10的NVIDIA G80 GPU产品已经上市半年有余,但在这半年中我们似乎没有“DirectX 10的时代已经来临”的感觉,原因就是另一家显示卡巨头AMD/ATi的DirectX 10产品缺席。在今天(5月15号)随着AMD/ATi Radeon HD 2900XT的发布我们终于真切的感受到DirectX 10的来临。

我们对Radeon HD 2900XT的期待除了这是AMD/ATi第一片DirectX 10显卡外,还源自ATi对产品设计品质的要求。在DirectX 9.0c的时代,ATi Radeon X1K Series产品在执行效能上远远领先于竞争对手的产品,我们在正式介绍AMD/ATi DirectX 10的产品之前不妨来回顾一下上一代产品的经典设计。这对于我们理解AMD/ATi显卡产品的设计理念会有很大帮助。
在微软的Shader Model3.0规范中,除了提供给游戏设计人员更大范围的编程空间外,还提供了一些新的性能提升机制。很多早期Shader Model中没有被实现的设计思想现在在Shader Model3.0中已经可以利用硬件去加速了。ATi对Shader Model3.0的理解体现在DFC (Dynamic Flow Control)上,则动态流程控制。ATi认为DFC是Shader Model3.0最重要的部分,并确信自己已经正确理解了Microsoft Shader Model3.0的原意。

渲染指令目前大致分为两类,一是完成数学变换的算术处理操作;二是需要从显存中拾取数据的纹理操作。早期的渲染处理是对等的使用这两部分的渲染指令,但随着渲染复杂程度的增高,近来算术处理操作所占用的比例越来越大,到了2005年这个比例已经上升到5:1,并且在未来还有增大的趋势。并且在算术处理与纹理操作间的一个重大的差异在于:纹理操作过多的依赖显存容量及显存带宽这些外界的因素,而在显存容量或带宽不够的情况下再去增加纹理单元对性能的提升并无帮助;而算术处理操作则不同,它的处理能力并不依靠这些外界因素,仅取决于GPU中集成的算术处理单元的数量。基于对Shader Model3.0的理解,ATi在Radeon X1K的产品Pixel Shader中设计出了3:1(PSP:TMU)架构。

ATi的3D Engine也是按照这个理解来设计,GPU中新的Ultra-Threading设计通过一个庞大的联合线程控制器、小线程单元、专门的分歧执行单元以及一个巨大的、高效的任务堆栈列表来实现DFC中所提倡的使用专用的执行单元来执行对应的指令,借此来获得与高频率相等的性能。

上一代的Radeon X1900与Radeon X1800的像素渲染处理单元内部结构是一样的,所不同的是Radeon X1900集成了48个这样的单元,和48个配套的独立流量控制单元,而Radeon X1800则只有16个,在晶体管数量只增加20%的前提下,算术处理能力却增加了3倍左右。而算术处理单元及纹理操作单元的比例为3:1,ATi当时认为这是兼顾现有游戏及未来游戏考虑的完美比例。在今天看来,该架构的设计在DirectX 9时代确实是最先进设计,近来发布的一些游戏的测试成绩也很好的佐证了这一点。不过因为ATi当时对这先进架构设计的坚持与毫不妥协,ATi的Radeon X1K产品要比竞争对手晚上市了半年多。
[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] ... 下一页 >> |