前言:当我们通过阅读各家媒体所做的Fermi架构产品GTX400系列显卡测试之后,可能会认为自己已经熟悉了这一系列显卡的性能。或者一些用户会简单地使用3D Mark Vantage的总分来衡量各款显卡之间的性能差距。但是我们是否知道,在一系列的综合数据之后,隐藏着NVIDIA显卡架构设计的思路与未来GPU的发展趋势?在3月27日沸腾的气氛过去之后,今天我希望借助这篇文章和大家一起回顾Fermi架构的设计特性,以及这种特性在游戏中的性能表现。
● DX11性能大幅度领先对手
如果说AMD的HD5000系列现在在2009年末发布拉开了DirectX 11的序幕,那NVIDIA此次发布的Fermi架构GTX400系列显卡,则是将一个更为完整和强大的DirectX 11技术带给了用户。因为DirectX11技术的两大关键点就是新增的专有硬件Tessellation(曲面细分)单元和利用Computer Shader做图形后处理。
DirectX 11为游戏带来的更多新奇美妙的特性
● 着色器版本提升到Shader Model 5.0,采用面向对象的概念,并且完全支持双精度数据。
● Tessellation曲面细分技术获得微软正式支持,逐渐走向成熟;
● Multithreading多线程处理,让图形处理面对多线程编程环境不再尴尬;
● 提出微软自己的Compute Shader通用计算概念,把GPU通用计算推向新的巅峰;
● 全新Texture Compression纹理压缩,在画质损失极小的环境下带来了硬件资源的节约。
早在2009年9月份就已经亮相的Radeon HD 5870当中,就包含了ATI的首款DX11显示核心——Cypress(RV870,官方正式代号为Cypress)。Cypress核心可以看到两组SIMD阵列呈对称型排列,其中每组阵列当中均有800个流处理单元设计。在单一SIMD引擎当中,ATI采用的排列方式依然是RV770的设计方式。
也就是说,每个SIMD阵列当中包含10组SIMD阵列,而每个SIMD阵列当中又包含16个流处理器,每个流处理器包含5个流处理单元,因此总计1600个流处理单元。两者通过相同的高速数据总线与L2 Cache相连,同时也连通到Global Data Share上进行数据共享。
ATI为了抢先发布DX11显卡,只是在上代产品的技术上添加了对DX11指令集的支持而已,并没有针对DX11新的渲染流程和关键技术做优化。如此一来HD5000在DX9C/DX10游戏中的表现依然出色,但在DX11游戏中就出现了瓶颈,DX11特性使用越多,其性能就越差。
从上面的架构图可以看出,Cypress更像是两个RV770核心的合体,而对于DX11技术的升级,主要集中在Graphics Engine当中。这样的设计方式,无疑更加简单,对于ATI的研发周期来说也会大幅缩短,这也是为何ATI的DX11产品会如此之早就能发布的一个重要原因。
● 完全针对DX11而设计的显卡——GTX480
HD5800这一领先,又是半年,这次NVIDIA的阵脚并没有像NV30那样被打乱,而是按部就班的按照既定的设计目标推出全新架构的一代产品,而不是像ATI那样在上代产品基础上改改就发布新品,因为DX11是全新的API,必须为DX11新的特性做相应的优化,才能获得最出色的DX11效能。
GF100核心是既G80和R600之后,近4年来GPU架构改进最大的一次。GF100核心主要划分为Host Interface(主接口,负责PCI-E通讯传输,包括读取CPU指令等)、GigaThread Engine(主线程调度引擎)、4组Graphics Processing Clusters(后文简称GPC,图形处理集群,GPU的核心部分)、6组Memory Controller(显存控制器,每组显存控制器位宽为64bit,总位宽384bit)、L2 Cache(二级缓存,容量为768KB)、6组ROP单元(每组包含8个ROP,共48个)。
通过以上分析可以看出,由于HD5800的架构与HD4800完全相同,只是流处理器规模翻倍而已,因此它确实拥有出色的DX10/10.1性能,但DX11的性能却很一般。因为DX11是一款全新的API,并不是针对DX10的小修小补,很多特性不是兼容SM5.0指令集就能做得到的。
ATI虽然通过抢先发布DX11显卡赚得了满堂彩,但却没能经得住时间的考验,未能重现DX9时代R300的辉煌。因为时代变了,当年的R300是全新的架构,完美支持DX9,而NV30架构存在很多缺陷。而现在正好相反,Cypress完全是RV770加上DirectX 11要求的硬件IC,而GF100则是真正的DX11架构,这在所有DX11测试中都得到了证实。