虽然TXAA早在去年3月份开普勒系列显卡发布的时候就已经进入玩家的视线,可是长期以来支持这个技术的游戏屈指可数,直到深受欢迎的《使命召唤》和《刺客信条》的新续作上市,TXAA才逐渐揭开了那一层神秘的面纱。今天我们就通过这两款游戏来检验一下TXAA技术的实际效果。
《使命召唤:黑色行动2》开启TXAA的方法非常简单,进入游戏设置菜单,切换到“高级”页面,把“反锯齿”选项调节成“2×TXAA”或者是“4×TXAA”就可以马上生效。另外,“高级”页面下的“后期处理”选项其实就是FXAA。是的,在《使命召唤:黑色行动2》中我们可以同时开启TXAA和FXAA(图7)。
我们通过图8所示的蓝色框中的截图对比一下各种抗锯齿技术在《使命召唤:黑色行动2》中的表现(图9)。可以看到在关闭抗锯齿的时候,横杆边缘出现了非常明显的锯齿。开启2×MSAA后锯齿得到了一定程度的抑制,不过还是能够轻易观察到。而开启4×MSAA和8×MSAA后我们就基本看不到锯齿的情况了。另外16×CSAA的效果和8×MSAA相当。
接下来看FXAA的表现,在这个场景中,FXAA的效果和8×MSAA基本相当,锯齿几乎不可见。但仔细看,可以发现边缘有微小的波浪起伏感(8×MSAA和16×CSAA也有同样的现象)。
轮到TXAA登场了。可以看到,2×TXAA的效果明显好于2×MSAA,与4×MSAA基本相当,不过依然存在很细小的锯齿。而开启4×TXAA后,8×MSAA和16×CSAA也不得不甘拜下风,刚才提到的波浪状边缘完全消失了。
笔者正要对4×TXAA的效果赞扬一番,突然间发现一个问题。由图10我们可以看到,尽管开启了MSAA或者是TXAA,枪械后部的锯齿与关闭A A时没有任何区别,而只有开启F XAA才能消除这个部位的锯齿。至于原因,应该是这个部位采用了景深特效,而景深特的处理和MSAA及TXAA有些冲突,因此造成了抗锯齿失效的情况。另外,由于FXAA对画面的处理是位于整个流水线的后阶段,因此加入景深特效不会影响FXAA的正常工作。由此我们也可以发现,虽然TXAA和FXAA同属于后处理式抗锯齿技术,不过他们“后”的程度不一样,FXAA比TXAA要更“后”一些。
下面我们来看看几种抗锯齿技术在《使命召唤:黑色行动2》中的性能表现。测试平台如表1所示,测试时采用1920×1200的分辨率,除抗锯齿外的所有画质选项调至高。
由图11,表2可以看到《使命召唤:黑色行动2》对显卡的要求不是很高,未开启抗锯齿情况下平均帧数达192.5帧。随着MSAA级别的增加,帧数也逐级递减,在8×MSAA时平均帧数跌至138帧,相对关闭抗锯齿时有近30%的性能损失。FXAA和2×MSAA消耗的资源很接近,但同样是付出8%左右的性能,FXAA能收获更好的画质。
2×TXAA与4×MSAA在性能表现上旗鼓相当,4×TXAA的性能损失略低于8×MSAA。惊艳的是,在4×TXAA的基础上再开启FXAA对性能几乎没有影响,但是在画质上却有一定的提升。
总体上来说,在《使命召唤:黑色行动2》中4×TXAA的画质确实胜过8×MSAA,不过在性能上并没有达到NVIDIA宣传的目标。考虑到TXAA刚刚步入实用阶段,无论是游戏引擎还是驱动程序都有优化的空间,因此现在就给TXAA盖棺定论还为时尚早。
接下来我们看看TXAA在《刺客信条3》中的表现。《刺客信条3》的抗锯齿选项不如《使命召唤:黑色行动2》那么丰富,只有4挡可调:普通、高、非常高、TXAA。由图15可以看到,在“普通”和“高”设置下,绳索的边缘有明显的锯齿。而开启“非常高”和TXAA后锯齿消失,并且通过肉眼我们很难区分“非常高”和TXAA的差别。
性能方面,“普通”模式下平均帧数达到了69.1帧,开启“高”模式后下降到了67.4帧,可以说影响不大。而如果采用“非常高”或者是TXAA模式,帧数下降就比较明显了。尤其是TXAA,是四种模式中对资源消耗大的,开启后相对“普通”模式有17%的性能损失(图13,表3)。
在《刺客信条3》中,TXAA面对“非常高”模式在画质和性能上都不占上风,是游戏本身的问题,还是驱动程序没优化好?实际上,前文已经提到,锯齿不仅影响静态画面的质量,而且在动态画面中,有锯齿的地方还会产生闪烁现象,这对画面质量的影响是非常明显的。
如图14、图16所示,屋檐和墙壁的交界线基本处于水平状态,且相对来说没有形成大的明暗反差,就算有锯齿,人眼也不易察觉。在《刺客信条3》中,如果仅把抗锯齿设为“普通”或是“高”,那么在运动情况下会看到这个部分有明显闪烁情况发生。在开启“非常高”模式后,闪烁的情况得到了一定程度的抑制,不过依然明显。
在启用TXAA抗锯齿后,闪烁情况虽没有被完全消除,不过强度和范围都得到了进一步的控制,如果不是刻意去观察的话很容易就忽略这些小瑕疵了。就这点看来,虽然T X A A的平均帧数相对“非高”模式低了0.5帧,但却是非常值得的。
测试平台
测试成绩
TXAA的效果不仅在静态画面中超过传统的MSAA、CSAA及FXAA,并在动态画面中,对时间性锯齿的过滤是其他类型的抗锯齿技术难以做到的。不过目前TXAA还存在一些问题。在《使命召唤:黑色行动2》中,TXAA和景深效果同时开启时会失效。在效率方面,从测试的游戏看来,TXAA目前看来并没有之前宣传的那样神奇,希望这些不足能伴随游戏引擎及驱动程序的更新得到解决。
Tips:常见的几种抗锯齿技术简介
SSAA:Super Sampling Anti-aliasing超级采样抗锯齿,这是早的一项抗锯齿技术。原理是先使用设定分辨率的数倍来渲染图像,比如分辨率设为1024×768,但是在前期处理时的实际分辨率却是2048×1536,然后对其中象素的色彩值进行采样、混合,后把混合后的色彩应用到设定分辨率的图像中。SSAA的效果虽然很好,但是极度消耗显卡的资源,并且并不是屏幕上所有的部位都需要进行抗锯齿的处理,因此SSAA的效率可以说非常低。
MSAA:Multi Sample Anti-Aliasing多重采样抗锯齿。相对于SSA A对整个屏幕上的内容都采样不同,MSAA仅针对Z-Buffer(Z缓冲)和Stencil Buffer(模板缓冲)两个缓冲区内的数据进行采样处理,而通常位于这两个缓冲区中的数据会出现在物体边缘的位置(也就是有可能产生锯齿的地方),因此仅针对这两个缓冲区中的内容进行抗锯齿处理能够在保证画面质量的情况下大幅提升工作效率。
CSAA:Coverage Sampling Anti-Aliasing 覆盖采样抗锯齿。CSAA在MSAA的基础上优化了采样的算法,使抗锯齿过程中对显存容量和带宽的需求量明显减少,因此可以较为轻松的达到16倍采样率,获得几乎和8×MSAA相似画质,而性能损失仅和4×MSAA相当。