向“锯齿”说再见:主流显卡抗锯齿性能大检验

主题策划

在流畅运行游戏的前提下追求完美的游戏画质,这应该是每一个游戏玩家都有的想法。随着显卡的3D能力越来越强,打开游戏的基准3D特效已不再是终极目标,让游戏画面不再出现“锯齿”的抗锯齿效果已经越来越受到玩家的重视。

随着硬件技术的发展,新一代的显卡在打开AF效果后基本都不怎么影响性能,而且随着图形核心在性能上的提升,目前的主流显卡也可以在大型3D游戏中一显自己抗锯齿的本领了。可以说,在游戏中打开抗锯齿效果的时机已经成熟,现在就让我们实际检验一下目前主流显卡在游戏中的抗锯齿性能吧。

抗锯齿技术进化史

在验证主流显卡抗锯齿能力之前,我们先来简单回顾一下抗锯齿技术的历史。很多玩家简单地认为,3D锯齿的产生是因为处理3D图像时受到分辨率的制约而产生的,其实这只是一个模糊的概念。实际上锯齿的产生是和像素密不可分的,简单来说,图形像素因为采样率不足而导致的失真,我们称之为“锯齿”,特别在物体边缘,这种缺陷尤其明显,所以我们在游戏中看到的锯齿也都是在物体边缘。一般来说,要解决这个问题,就要使得像素正确地显示出原本的信息,所以抗锯齿技术也就应运而生了。抗锯齿的办法无外乎三种,一种是提升分辨率,使得像素小到可以欺骗我们的眼睛,可惜随着大屏显示器流行后,这种办法也逐渐失效,而且分辨率提升总是有瓶颈的(从1920×1200的分辨率来看是这样);第二种方法是利用计算使用第三种颜色来填充像素;第三种办法则是利用更先进的采样技术来对单个像素进行更细致的采样和计算。下面我们就简单谈谈比较有代表性的抗锯齿技术。

一、SSAA

由于之前说过,分辨率提升总是有限制的,所以对像素进行更优化的全景抗锯齿采样方式就成为主流的抗锯齿技术,即FSAA,而SSAA(Super Sampling 超级采样)就是最早的全景抗锯齿技术。超级采样技术在3dfx的VSA100、Voodoo4、ATI Radeon 7xxx系列、NVIDIA GeForce 1/2系列中被广泛应用。在超级采样处理像素的过程中,每一个像素被分为数个子像素(Subpixel)进行采样,这样无疑比过去提高了每个像素内对颜色的描述精度。SSAA技术,可以说是从软件角度提高了图形的分辨率,使得显卡所处理的图形分辨率比最终显示的分辨率大了几倍。但这种简单的技术由于过于消耗显存的带宽而没有被过多地使用。

二、MSAA

作为目前主流的抗锯齿技术,MSAA(multisampling多重采样)在GeForce 4系列中首先开始采用。MSAA在对子像素进行抗锯齿处理之前首先对子像素的位置进行检测,忽略对像素的采样影响不大的内部,仅仅处理会产生锯齿的对象边缘的部分,从而大大降低了所需要处理的数据量。MSAA跟SSAA相比,大幅度降低了处理量。很多游戏直接在3D选项中给出了该抗锯齿选项。

36-d7-1.jpg
Voodoo4是最早可以实现FSAA的显卡之一

三、Quincunx

Quincunx抗锯齿技术是NVIDIA改良之后的MSAA,a它的像素采样量相当于MSAA 2×的水平模式,而子像素数据则要多上1个,实际效果则约相当于MSAA 4×的水平,一般我们能在NVIDIA的老显卡驱动中看到这一选项,现在很多专门为NVIDIA优化过的游戏,也有这一抗锯齿技术的选择。

四、CSAA

CSAA(Coverage Sampling Anti-Aliasing 覆盖面采样),其中心依然是利用更加优化的算法降低数据传输的带宽压力,但这个技术要达到的抗锯齿倍数却很高,这是一种高性价比的解决办法,其思路源自于Quincunx算法,CSAA将其思想扩展到了更多的采样样本(子像素)。传统的采样技术通常都只是对模型的覆盖面进行采样,而这项新抗锯齿技术同时使用了覆盖面采样和几何采样。这也使得G80的NVIDIA显卡第一次可以从事16×全屏抗锯齿的工作。

36-d7-3.jpg
在用较高端N卡打开16×AA时,可以使用此抗锯齿技术

五、CFAA

CFAA(Custom Filter Anti-Aliasing可编程过滤抗锯齿)技术起源于AMD的R600系列。简单地说CFAA就是扩大取样面积的MSAA,比方说之前的MSAA是严格选取物体边缘像素进行缩放的,而CFAA则可以通过驱动灵活地选择对影响锯齿效果较大的像素进行缩放,以较少的性能牺牲换取平滑效果,显卡资源占用也比较少。CFAA也是AMD显卡的专利,目前在AMD显卡的高抗锯齿上,都使用了这一技术。

36-d7-4.jpg
TSAA技术让画面细节更加完美

六、TSAA与TMAA

GeForce 7系列显卡开始支持TSAA与TMAA,TSAA(Transparency Adaptive Supersampling透明动态超采样)和TMAA(Transparency Adaptive Multisampling透明动态多采样)实际上是SSAA和MSAA的改进版本,这有效地解决了之前的抗锯齿技术在Direct 3D环境下处理细长的物体如栅栏、树叶、植物等效果时缺乏Alpha混色能力的问题。TSAA和TMAA通过控制纹理的Alpha值,对细小边角使用Alpha混色,从而使画面的细节部分更完美,使得在细长物体的AA表现上有了提升。

从以上的介绍来看,实际上在抗锯齿技术的发展过程中,无论是AMD还是NVIDIA都做出了诸多贡献,虽然从实现的手段上来看可能有所不同,但是在大多数抗锯齿技术中,技术原理是很相近的,两家公司的最终目的也是相同的,就是尽量消除游戏中的“锯齿”。那么下面我们就来看看使用这些抗锯齿技术前后的图像比较。

36-d7-9.jpg
36-d7-10.jpg
上图为《魔兽世界》未开启抗锯齿效果,下图为打开8×AA效果,注意武器和墙壁的边缘

主流显卡游戏抗锯齿能力大比拼

测试平台

处理器:Intel Core i5 750

主板:Intel原厂P55

内存:海盗船DDR3 1600 2GB×2

显卡:GeFoce 9600GSO(384MB)

GeForce 9800GTX(512MB)

GeForce GTX260(896MB)

Radeon HD4650(256MB)

Radeon HD4850(512MB)

Radeon HD4890(1GB)

硬盘:希捷7200.11 1TB

电源:长城BTX-800SP

系统:Windows Vista SP2

在本次测试中,我们选择了NVIDIA以及AMD主流的6款显卡,这几款显卡应该说横跨了高中低端市场,而最高端的显卡价格仅仅在千元左右,应该说比较有代表性。在测试项目方面,我们选择了要求从低到高的6款热门游戏。在测试中,我们分别测试了两种游戏环境,一种是1280×800分辨率下打开4×AA,一种是1920×1200分辨率下打开8×AA。一般来说,打开4×AA后,锯齿现象就不明显了,而在1920×1200的分辨率下打开8×AA则很难让人感觉到锯齿。此外,我们认为,打开AA的前提应该是游戏可以在3D特效全开的环境下流畅运行,所以我们统一将所有游戏的特效都设为高,如果显卡在特效全开的效果下都无法流畅运行游戏,那更别说打开AA了。值得一提的是,我们选择的6款显卡从低到高并不是完全在市场以及性能上针锋相对的,而且我们选择的游戏既有为AMD优化的,也有为NVIDIA优化的,所以最后并不能让我们得出什么品牌的显卡在抗锯齿能力上更强的结论,不过我们可从测试中了解到同一厂商不同档次的显卡在抗锯齿能力上的差距,这样玩家也可以通过我们的测试结果有针对性地购买产品。

《求生之路》

36-d7-11.jpg

《求生之路》是一款DX9游戏,本身对硬件要求也并不高。在AMD显卡中,即使是档次最低的只有256MB显存的Radeon HD4650也基本能在两种环境下流畅运行游戏。更不用说其他两块AMD显卡了,值得一提的是,尽管Radeon HD4890性能很强,但是在1280×800 4×AA的环境下并没有高出Radeon HD4850多少,这也说明在对显卡要求不高的游戏环境中,高端显卡的优势并不明显。在NVIDIA显卡方面同样如此,所有的显卡都能在两种环境中流畅运行,环境越苛刻,高性能显卡的优势也就越大。

36-d8-b1.jpg

《街霸4》

36-d7-12.jpg

《街霸4》也是一款DX9的游戏,但是相对来说配置要求就较高了。我们看到,在1280×800 4×AA的环境下,所有的显卡都能非常流畅地运行,中高端的显卡甚至能达到100fps以上,最低端的Radeon HD4650也有48.3fps的速度。但是在1920×1200 8×AA下,Radeon HD4650和GeForce 9600GSO基本都无法运行了。在这一环境下,显存不到512MB的中低端显卡应付起来是相当吃力的,显存不足以及本身核心能力有限使得它们无法流畅运行游戏。

36-d8-b2.jpg

《生化危机5》

36-d7-13.jpg

《生化危机5》的引擎其实并不先进,早在《失落的星球》以及《鬼泣4》等游戏中就已经使用过,除了Radeon HD4650在两种环境下无法流畅运行游戏外,其他中高端的主流显卡运行情况还是相当不错,对于这样一款游戏,一款中端并拥有512MB显存的显卡就可以在全特效下打开抗锯齿效果了。

36-d9-b1.jpg

《鹰击长空》

36-d7-14.jpg

《鹰击长空》是一款支持DX10.1的游戏,也为AMD显卡进行了一定优化。Radeon HD4850和Radeon HD4890的表现令人满意。NVIDIA产品方面,GeForce 9600GSO在1280×800 4×AA下尚可流畅运行,但是在1920×1200 8×AA下,其384MB的显存已经无法支持游戏运行,而面向高端的GTX260能在两种环境下流畅运行。

36-d9-b2.jpg

《风暴骤起》

36-d7-15.jpg

《风暴骤起》和《鹰击长空》一样,也是支持DX10.1并为AMD显卡优化过的游戏。不过对于这类要求较高的游戏,Radeon HD4650和GeForce 9600GSO都无法流畅运行游戏,Radeon HD4850/4890的表现还不错,两种环境下都比较流畅,但GeForce 9800GTX和GTX260就无法在1920×1200 8×AA环境下流畅运行游戏了,这主要是因为游戏没为NVIDIA显卡优化的原因。

36-d9-b3.jpg

《孤岛惊魂2》

36-d7-16.jpg

《孤岛惊魂2》是一款要求非常高的DX10游戏,从实际的测试结果也能体现这一点。Radeon HD4850、GeForce 9600GSO以及GeForce 9800GTX只能在1280×800 4×AA的环境下拥有较好的速度,除了拥有512MB以上显存的Radeon HD4890和GeForce GTX260,其他产品在高特效的环境下性能下降非常严重,在这个游戏中,显存的重要性甚至超过了显卡核心的性能。

36-d9-b4.jpg

从以上的测试结果来看,我们可以得出以下几个结论。一、256MB显存的产品并不适合打开抗锯齿效果,我们的测试分辨率为1280×800,实际上玩家的游戏分辨率应该高于此。如果这类显卡想要在游戏中打开抗锯齿效果,恐怕要以降低分辨率以及画质为代价。二、在高分辨率,特别是在1920×1200分辨率下打开抗锯齿(4×以上),我们认为显存至少要在512MB以上,在一些要求不高的游戏中,可能中端512MB显存的显卡还能勉强应付,但是在一些要求较高的游戏中,对显存容量要求较高,打开全特效以及抗锯齿需要更多的显存,拥有512MB以上显存的显卡应该更有优势。三、在图形核心性能差距不大,或者游戏要求不高时,显存越大的产品,越能在抗锯齿方面体现出优势。

工程师观点

产品评测中心 陈扬轶

对于低端显卡,比如Radeon HD4650这样的产品,本身性能有限,再加上显存又少,要开抗锯齿委实有点为难它了。而像Radeon HD4850或者GeForce 9800GTX+这样面向玩家的中端产品,在大多数时候的表现还是不错的,512MB显存足以应付要求不是特别高的游戏,这种产品在大多数主流游戏中打开4×AA都应该是没问题的。如果玩家拥有一块高端显卡,显存为512MB以上(如896MB或1GB)同时又拥有较大尺寸的显示器,那么我们推荐尽量在高分辨率下玩,在1920×1200分辨率下,人眼可见的锯齿在运动状态下并不十分明显,同时再打开4×AA的话,那么基本上就看不到锯齿了。

此外,对于抗锯齿的兼容性,从现在游戏优化的情况而言,AMD和NVIDIA可以说各自招揽了不少游戏公司专门为之优化,比如在本次测试中,《孤岛危机2》就为NVIDIA显卡做出了更多优化,《风暴骤起》、《鹰击长空》则为AMD显卡做出了优化。不同的优化对显卡实际的抗锯齿表现也有很大的影响,这种影响甚至超越了显卡本身的实际性能。

随着下月DX11显卡的问世,抗锯齿无论在技术还是在性能上,又将迎来一次较大的飞跃,我们相信,在显卡不断进化的今天,没有“锯齿”的游戏画面,每个玩家都可以享受到。