在Cypress Radeon HD 5800系列显卡发布之时,我们曾对其进行了一番详细介绍,不过由于篇幅所限,很多有趣的新东西都没有深入展开,这里再集中补充一下,涉及核心架构、集成音频、各向异性过滤和反锯齿等等。
一、核心架构
从本质上说,Cypress仍在延续R600以来引入的统一渲染架构,只是在RV770的基础上进行了大范围增强,由800多名硬件工程师、200多名软件工程师在全球六个城市(包括上海)研发,历时十八个月。
从最底层的流处理单元(SPU)开始:AMD在SPU里增加了很多新的硬件指令,并提升了现有指令的执行速度,DX11所要求的Bit Count、Insert、Extrac等操作也加入了进来,另外反常值(Denormal Number)也可以全速处理了。
新增指令中最重要的大概就是绝对误差和(Sum of Absolute Differences)了,简写为SAD。因为在运动估计(Motion Estimation)中的应用,它对视频编码和计算视觉都非常重要。RV770只能软件模拟,每次计算都需要12个循环,而Cypress仅需一个循环,结果就是新核心视频编码速度能提高两倍以上。
以下是Cypress SP能在每一个时钟循环里的作为:
一个32-bit FP MAD 两个64-bit FP MUL/ADD 一个64-bit FP MAD 四个24-bit Int MUL/ADD 一个32-bit FP MAD (SFU)
在SIMD阵列层次上,Cypress和RV770看起来完全一样,而变化都是内在的:一级纹理缓存容量还是16KB,但纹理数据读取速度提升至1TB/s;同时新增了一个容量8KB的独立一级缓存,用于计算工作;另外每个SIMD的本地数据共享容量也翻了一番,达到32KB;最后纹理单元也进行了重新加工,填充速度大大加快。
继续提高到整体架构层次,可以看出Cypress的SIMD阵列从10个翻番到了20个,因此流处理器和纹理单元的数量都增加了一倍,分别达到1600个和80个。为了满足如此众多的单元,四个二级缓存的容量也从64KB翻番到了128KB,能以435GB/s的速度为一级缓存输送数据,而RV770只有384GB/s。另外全局数据共享容量翻了两番,达到64KB。
很多人从架构图上看认为Cypress其实是“双核”架构,不过是两个RV770封装在一起而已。事实上当然没这么简单,AMD表示如此布局只是因为核心规模过于庞大。试想:如果AMD掌握了如此程度的二合一封装技术,何必还要再搞个单卡双芯的Radeon HD 5870 X2呢?
再看看如下方式的RV770和Cypress的架构示意图就更清楚了:
RV770
Cypress
ROP光栅化单元数量同样翻倍,现已有32个,目的也是为了满足所有SIMD的需要。除了数量上的变化,ROP单元本身也进行了大幅增强以提高性能,必须现在可以更快地执行色彩清理(Color Clear),因为很多游戏在两帧之间需要进行数百次这种操作;另外它们还要处理一部分AMD重新引入的超级采样反锯齿(SSAA),这个后边再细说。
最后是所谓的图形引擎(graphics engine),主要是为了兼容DX11。AMD(ATI)推广多年而未普及的Tessellation已经纳入DX11范畴,Tessellator也成为DX11流水线的一部分,具备Hull Shader和Domain Shader能力,还有减少细分曲面残影的新算法。此外光栅(Rasterizer)也增加了一个,目的还是为了满足SIMD。
二、集成音频
对于高清发烧友来说,AMD独立和集成显卡一直不支持HDMI接口的多声道音频输出一直是个遗憾,785G虽然支持但做得并不好。现在Cypress Radeon HD 5800系列终于弥补了这一点,而且做得更多。
事实上,Cypress不但支持通过HDMI接口从HTPC向AV功放输出7.1声道音频,还支持bitstream Dolby TrueHD/DTS Master Audio,这是第一款也是目前唯一一款能做到这一点的显卡。当然Radeon HD 5800拿来做HTPC有些不太合适,好在Juniper、Redwood、Cedar等其他中低端核心同样具备上述功能,音频爱好者不妨再等等。
UVD2硬件解码引擎变化不大,不过AMD宣称已经可以在Windows Aero透明界面模式下支持蓝光的播放和加速。
Cyberlink PowerDVD 9的最新内部版已经可以支持Radeon HD 5800的上述新特性,在音频选项里选择“Non-decoded high-definition audio to external device”(非解码高清音频至外部设备)即可开启bitstream TrueHD/DTS-HD MA。
这样程序就不再进行音频解码,而是直接通过HDMI接口把编码音频流传送到功放。利用Integra DTC-9.8和《闪电狗》(DTS-HD MA),第一次尝试就成功了,没有任何错误。
Dolby TrueHD试验利用《美国X档案》,但只能得到Dolby Digital,换用《变形金刚》也一样,结果证明是PowerDVD 9当前版本的问题。多次切换音频输出模式后,最终问题解决。
不过还有一个小问题,就是Radeon HD 5870传送给JVC DLA-RS2投影仪的只是1080i,而不是1080p,估计是兼容性问题。
三、角度无关各向异性过滤(AIAF)
多年来,反锯齿(AA)技术一直在改进,但各向异性过滤(AF)一直没什么大的变动,AMD和NVIDIA都在使用角度有关(Angle-Dependent),对画质提升贡献有限,AMD的效果也更差一些。
看看D3D AF Tester测试结果:
Radeon HD 4870
GeForce GTX 285
现在的Cypress Radeon HD 5800终于改用了真正、完全的角度无关(Angle-Independent),效果可以用完美来形容,玩家可以尽情开启16x AF了。
AMD还表示,新算法不会造成性能损失,只是由于无法在新核心上开启旧算法,暂时没有实际测试予以证实,不过相信即使有影响也会微乎其微。
四、超级采样反锯齿(SSAA)归来
3dfx Voodoo 4/5和ATI/NVIDIA DX7等早期显卡都使用过超级采样(Super-Sampling),以更高分辨率渲染场景,然后再缩小到目标分辨率进行显示,只不过这种技术代价较高,于是多重采样(Multi-Sampling)开始大兴其道,直接以目标分辨率渲染,然后进行三角形边缘采样,发现和消除锯齿,效果不如超级采样,但是速度快多了。
其实AMD和NVIDIA也没有完全抛弃超级采样,比如适应性反锯齿(AAA)和超级采样透明反锯齿(SSTr)里都会在某一帧的特定部分上有限地使用,主要对象是半透明纹理,因为它们不是三角形,多重采样无效。
随着Radeon HD 5800的到来,GPU性能大增,而且Shader锯齿是MSAA+AAA所无法解决的,AMD终于完全迎回了超级采样,使SSAA成为纯粹的全屏反锯齿模式,当然MSAA仍然保留着。
不过试验发现SSAA只能在DX9和OpenGL游戏上开启,DX10/11里会切换回MSAA。AMD对此的解释是DX10和更新游戏能让开发人员更好地掌控反锯齿模式,而使用SSAA可能会导致不兼容问题;更进一步地,从性能角度说SSAA也更适合用于老游戏。AMD表示正在继续努力研究DX10+版本的SSAA,不过还需要时间。
还有就是Source引擎游戏里的一个bug。以《半条命:第二章2》里的一处铁路桥梁为例,8x SSAA相比8x MSAA虽然消除了锯齿,但也让整个画面过于平滑,甚至损失了很多细节。由于Source引擎游戏很多,而且受CPU限制很重,本应是SSAA发威的地方。希望AMD或者Valve能尽快修正。
8x MSAA
8x SSAA
NVIDIA方面虽然多年前就放弃了对SSAA的官方支持,但其实一直隐藏着,借助nHancer等第三方工具即可打开并在Direct3D游戏里使用,但效果并不好。还是上边的场景,4x MSAA效果相当好,而4x SSAA之下很多树枝末梢都不见了,其他地方也都有些模糊。
4x MSAA
4x SSAA
五、SSAA画质与性能
画质对比部分使用Radeon HD 5870和《Crysis Warhead》,不过注意都是在DX9模式下渲染的,后边的性能测试部分也是如此。
no AA
2x MSAA
4x MSAA
8x MSAA
2x MSAA+AAA
4x MSAA+AAA
8x MSAA+AAA
2x SSAA
4x SSAA
8x SSAA
对比下来,SSAA和MSAA+AAA在同等级别下的效果其实差不多,只是更平滑、柔和一些,但也造成树叶部分很模糊,丢掉了不少细节。
如果对比Radeon HD 5870/4890,画质也没有明显区别,基本上一个样子,故此不再详细列举。
《半条命2》性能测试:
即使8x MSAA也性能损失不大,而SSAA会迅速一路下滑,不过好在即使8x SSAA下帧率也有35FPS左右,基本可以接受。不要忘了,此时的实际渲染像素已经有3276.8万(2560×1600×8),甚至超过了Eyefinity技术单卡六屏的2457.6万(2560×1600×6)。
《Crysis Warhead》性能测试:
在Radeon HD 5870上,4x/8x MSAA性能分别损失20%和35%,而2x SSAA尚可接受,4x/8x SSAA就严重影响流畅度了,不过注意4x SSAA的性能也要高于Radeon HD 4890和GeForce GTX 280的各等级MSAA和AAA。
注:本文参考了AnandTech的相关专题(英文),特此表示感谢。