E X P

  • 编辑
  • 评论
  • 标题
  • 链接
  • 查错
  • 图文
  • 拼 命 加 载 中 ...    游戏里的锯齿又称“狗牙”,它不招人待见,但是游戏玩家又不得不忍受的存在,因为没有任何一款游戏敢说自己的画面没有锯齿,即便如《Crysis 2》这么强悍的游戏画质也能找到锯齿的存在,归根到底这还是技术的原因,计算机以像素为基本单位的显示方式决定了锯齿的存在(一说是因为计算机建模使用的是三角形,拼接的时候不可能完全吻合而产生锯齿),分辨率非常高的时候(显示的像素更多)锯齿现象或许不够明显,分辨率越低的话锯齿就会越来越多,严重影响画质表现。

      目前来说实现无锯齿是不现实的,但是可以做适当处理尽量消除锯齿,至少也要做到视觉上不易分辨的地步,这个就要依赖抗锯齿(Anti-Aliasing)技术了,AA可以将模型的边缘做平滑处理(NVIDIA的驱动控制面板中就把AA选项翻译为“平滑处理”),使直线更直,圆形更圆。

      AA也可以分为好多种,常见都有SSAA、MSAA、CSAA等等。如果以实现方式来分,AA也可以分为硬件AA(Hardware AA)和后期处理AA(Post-process AA),前面提到的MSAA和CSAA等都是硬件AA,它们的AA处理主要靠游戏厂商实现,一旦游戏不支持AA(比如《星际2》),驱动强制AA的话往往会带来一定的问题。后期处理AA则有些不同,大多可以不依赖游戏,只要显卡支持就可以了,这方面的AA有Intel提出AMD继承的MLAA(形态抗锯齿)、NVIDIA力推的FXAA(快速近似抗锯齿),还有一个技术牛人Humus自创的GPAA(几何后期抗锯齿),其他的还有DLAA、Hybrid AA等等。

    FXAA是后期处理AA中很有代表性的一个,不依赖游戏,不挑剔硬件

      在这几种后期AA中,AMD已将MLAA应用在驱动程序中,我们也曾做过MLAA的专题测试,近期的催化剂11.8预览版还大幅提升了MLAA性能,只是MLAA只能用于A卡,还存在这图像失真等问题。相比之下,FXAA适用性更广,支持A卡和N卡,而且也不限制DX9、DX10或者DX11图形API,只是目前应用FXAA的游戏比较少,已经发布的游戏中我只知道有《永远的毁灭公爵》、《无主之地》和《F.3.A.R 》,未来的游戏还有《战地3》和《神秘海域3》支持FXAA,而关键的一点是NVIDIA的驱动控制面板中还没有提供FXAA选项。

    虽然FXAA不需要游戏支持,但是显卡驱动不提供FXAA支持依然是普及的障碍

      不过本文可不是讲什么空洞的AA技术,而是推荐一个小补丁,它可以让目前的游戏实现FXAA支持,解决了许多游戏厂商没做到的问题,当然这也要归功于FXAA先进的技术特性,不依赖特定游戏,而且同时支持AMD和NVIDIA两家的显卡。

      这个小补丁最早是3DCenter论坛发布的(德文的),发帖者是Gast(不确定补丁作者是否就是他),原文的补丁下载地址就不放了(需要爬梯),我上传了一份到自己FTP,需要的可以点击下载

      补丁其实很小,只有57KB,解压后里面有两个文件夹,D3D9和D3D10,前者适用于DX9游戏,后者适用于DX10游戏,将每个文件夹下的文件复制一份到游戏exe程序所在目录即可,如果能成功开启后自动生成一个名为“log.log”的文件,FXAA在游戏中可以实时开启或关闭(快捷键是Pause Break,Prtscn SysRq是截图快捷键)。另外,作者说他没有DX11硬件,不过理论上DX10和DX11是通用的,也有人发帖说DX11游戏中也成功了。

      下面我们就以这个补丁为例,来看看它游戏中到底有什么魔力,对画质有什么提升,对性能又有什么影响。

     

    小知识:什么是FXAA

      全称为“Fast Approximate Anti-Aliasing”,翻译为“快速近似抗锯齿”。它是传统MSAA效果的一种高性能近似值,是一种单程像素着色器,和MLAA一样运行于目标游戏渲染管线的后期处理阶段,但不像后者那样使用DirectCompute,而只是单纯的后期处理着色器,不依赖于任何GPU计算API。正因为如此,FXAA技术对显卡没有特殊要求,完全兼容NVIDIA、AMD的不同显卡(MLAA仅支持A卡)和DX9、DX10、DX11。相比于MSAA,FXAA的目标是速度更快、显存占用更低,还有着不会造成镜面模糊和亚像素模糊的优势,而代价就是精度和质量上的损失。

    ◆ FXAA与MSAA画质对比

      试了多个游戏之后,画质对比最终选择了《DiRT 2》,游戏中的“View”浏览模式可以很方便地观察画面各个部分。以下是No AA、4x MSAA和FXAA的画质对比,睁大眼镜寻找不同吧。注意一点,FXAA似乎没有多少倍抗锯齿的概念,这里就选择了最优代表性的4x MSAA作为对比,毕竟8x或更高的抗锯齿在实际应用中能开的很少,实用性不足。

    1920x1080/Ultra画质未开抗锯齿截图(点击放大)

      这一张是未开抗锯齿的截图,可以看到无论是铁杆还是铁箱的边缘都有严重的锯齿现象,帧速为97fps。

    1920x1080/Ultra画质4x MSAAA截图(点击放大)

      这张是4x MSAA的截图,可以看到狗牙已经减少很多,铁箱上面的边缘比较光滑了,但是左侧的边缘依然有看得出的锯齿(小图看不到,大图上可以看到),帧速为89帧。

    1920x1080/Ultra画质开启FXAA截图(点击放大)

      轮到FXAA出场了,乍看之下与4x MSAA并没有明显的区别,铁箱和铁杆的边缘几乎是一样的,不过FXAA的汽车边缘不如4x MSAA圆滑,而且帧速也只有80帧,比4x MSAA还低。

    1920x1080/Ultra画质开启FXAA+4x MSAA截图(点击放大)

      这张图比较特别,这是同时启用FXAA和4x MSAA的截图,还好没有冲突,边缘锯齿进一步减少,只是代价更高,帧速进一步拉低到73帧。

      在另一个游戏《Metro 2033》中我也截了图,由于这个游戏在DX9模式不能自主设定抗锯齿选项(只有“AAA”一项),因此只有两个截图。

     

    Metro 2033中AAA抗锯齿截图(点击放大)

    Metro 2033中FXAA抗锯齿截图(点击放大)

      首先开不开FXAA的帧速差距很小,只有4帧(或许是因为AAA已经做了抗锯齿处理了),但是画质差距还是蛮大的,FXAA下的图书边缘清晰,而AAA时狗牙严重啊。

      总的来说,不开FXAA与开FXAA会有较大差距,在画质上可以认为FXAA与4x MSAA二者旗鼓相当,那么还有一个问题就是性能上的,开了FXAA之后游戏性能会下降多少呢,截图上的帧数已经显示出一些蛛丝马迹了,下面就来看一下FXAA的实际性能。

    ◆ 游戏性能及兼容性测试及总结

      以上是测试平台的配置,注意A卡并没有使用最新的催化剂11.7驱动,因为《DiRT 2》中使用催化剂11.7的HD 6790只有30多帧,而换回催化剂11.6中就正常了。此外,《DiRT 2》和《叛逆连队2》需要修改配置文件强制开启DX9模式。由于测试时间有限,只简单测试了两款显卡,GTX 550 Ti和HD 6790,先来看GTX 550 Ti的成绩。

    GTX 550 Ti显卡的FXAA、4x MSAA以及No AA成绩对比

      注:图中N/A代表游戏不能自定义AA选项,《Metro 2033》在DX9模式下只有“AAA”选项,《叛逆连队2》中强制DX9模式的话也没有AA选项,下同。

      如果以不开AA作为性能100%的话,那么4x MSAA平均性能为85.7%,而这个FXAA的性能相当于82.9%,也就是说性能损失与4x MSAA略微高一些。

    HD 6790显卡的FXAA、4x MSAA以及No AA成绩对比

      A卡方面情形也很类似,最终FXAA与4x MSAA的成绩相当,性能损失在14%左右,性能方面的表现还可以接受。

      上面的性能测试中只有4款游戏,这可不是笔者偷懒,而是实在没办法的事。这个FXAA补丁虽然说支持DX9、DX10,并且理论上兼容DX11模式,但是实际情况是大部分游戏中要么不起作用,要么就出错,这里简单列举笔者常用的几款游戏的兼容性:

      1.《Left 4 Dead》和《Left 4 Dead 2》游戏无报错,但是也没有效果,帧数和画质都没变。

      2.《星际争霸2》也无报错,同样没有效果。

      3.《H.A.W.X》的DX9模式无效果,DX10下模式MSVCR100.DLL报错,无法进游戏。

      4.《FarCry 2》的DX9模式可用,FXAA有效果,但是DX10模式也会dll报错,游戏可进,但是AA选项和DX版本选项失效。

      5.《Crysis 2》的DX9模式会自动退出,DX11模式可进游戏,但是FXAA无效果。

      6.《叛逆连队2》的DX9模式可用,也有效果,但是DX11模式也会dll报错,游戏中也没有效果。

      从测试结果上来看,DX9模式中FXAA成功开启的几率还是很高的,最多也是不起效果,但是DX10和DX11模式下多数游戏都会报错,笔者试验的几款DX11游戏还没有成功开启FXAA的。

      上面列了这么多无效或者不兼容的问题并非是批评,毕竟这只是独立第三方的个人制作的小补丁,从国外论坛的反馈来看还是有很多游戏能正常开启FXAA的,对画质也有改善,补丁作者也在不断修正程序,其技术能力和动机还是让人钦佩的。

      我们更希望这个小补丁起到“抛砖引玉”的作用,第三方个人能力有限,FXAA普及还得依赖GPU厂商和游戏厂商合作,至少也要NVIDIA的驱动提供FXAA支持,就跟AMD的MLAA实现方法一样。由于FXAA可以做到与游戏无关,一旦驱动支持FXAA,那么全民体验FXAA的时代就不远了。

     

    ×
    热门文章
    1Arctic推出M2 Pro M.2 SSD散热器:易拆装设计,兼容PS5,售价9.99欧元
    2微星准备《黑神话 : 悟空》联名显卡?基于RTX 4080 SUPER EXPERT大神打造
    3英特尔酷睿Ultra 200V系列处理器规格曝光:共9款型号,最高30W功耗
    4AMD承诺每一代产品采用最先进的工艺,并持续在设计、封装和组装上进行创新
    5Minisforum推出UM890 Pro迷你PC:搭载R9 8945HS,配备双USB4端口
    6罗技推出G515 LIGHTSPEED TKL无线游戏键盘:超薄紧凑设计,高度仅22mm
    7《勇者斗恶龙III HD-2D重制版》PC配置要求公布:FHD最高画质推荐GTX 1060
    8华硕确认Ryzen AI 300系列发售时间:7月15日,部分笔电已开始接受预订
    9东芝发布MG10-D系列硬盘:传统CMR构建,最大10TB,支持SAS和SATA接口
    已有 7 条评论,共 24 人参与。
    登录快速注册 后发表评论
    • 超能网友博士 2011-08-15 22:54    |  加入黑名单

      该评论年代久远,荒废失修,暂不可见。

      已有2次举报

      支持(1)  |   反对(1)  |   举报  |   回复

      7#

    • 游客  2011-08-12 14:13

      该评论年代久远,荒废失修,暂不可见。

      已有2次举报

      支持(0)  |   反对(0)  |   举报  |   回复

      6#

    • 超能网友终极杀人王 2011-08-11 17:13    |  加入黑名单

      该评论年代久远,荒废失修,暂不可见。

      已有2次举报

      支持(0)  |   反对(0)  |   举报  |   回复

      5#

    • 游客  2011-08-11 15:50

      该评论年代久远,荒废失修,暂不可见。

      已有2次举报

      支持(0)  |   反对(1)  |   举报  |   回复

      4#

    • 超能网友终极杀人王 2011-08-11 09:17    |  加入黑名单

      该评论年代久远,荒废失修,暂不可见。

      已有2次举报

      支持(0)  |   反对(0)  |   举报  |   回复

      3#

    • 游客  2011-08-10 18:22

      该评论年代久远,荒废失修,暂不可见。

      已有2次举报

      支持(0)  |   反对(0)  |   举报  |   回复

      2#

    • 我匿名了  2011-08-10 18:09

      该评论年代久远,荒废失修,暂不可见。

      已有2次举报

      支持(0)  |   反对(0)  |   举报  |   回复

      1#

    登录 后发表评论,若无帐号可 快速注册 ,请留意 评论奖罚说明