真是黑科技?MFAA抗锯齿技术解析
提到英伟达最新推出的MFAA抗锯齿技术,就不得不先说说前辈MSAA抗锯齿技术,因为MFAA正是基于MSAA优化而来。MSAA的工作原理是把当前分辨率成倍提高,然后再把画面缩放到当前的显示器上。这样的做法实际上就是在显示尺寸不变的情况提高分辨率,让单个像素变得极小,这样就能够大幅减轻画面的锯齿感了。不过是由于对整个显示画面的放大,因此它消耗的显示资源也是非常大的。
不过MSAA是寻找出物体边缘部分的像素,然后对它们进行缩放处理。由于只是物体的外层像素进行缩放处理,忽略掉了不会产生锯齿的内部像素,所以显卡不会像处理SSAA(超级采样抗锯齿)那样需要庞大的计算量,因此MSAA比起SSAA来更有效。
MSAA抗锯齿技术工作原理图解(图片来自官方视频)
而本文的主角MFAA的原理又是怎样呢?上一代GPU包含抗锯齿固定采样格式,存储在只读存储器(ROM)当中。例如,当游戏玩家选择 2x 或 4x MSAA时,就会使用预先存储的采样格式。Maxwell架构推出了用于光栅化的可编程采样位置,它们被存储在随机存取存储器(RAM)中。如此一来便为更灵活、更创新的全新抗锯齿技术创造了机会,这类抗锯齿技术能够独特地解决现代游戏引擎所带来的难题,例如高画质抗锯齿对性能的更高要求。
MFAA技术解析(图片来自英伟达官网)
Maxwell基于RAM的采样位置技术依然可以用标准的MSAA和TXAA格式来编程,但是现在驱动程序或应用也可能会把定制的位置载入到RAM中,这些定制的位置在帧与帧之间甚至在单一帧之内都会各不相同。正是凭借这一技术,英伟达开发了多帧采样抗锯齿(MFAA)。
通过在时间和空间两方面交替使用抗锯齿采样格式,4x MFAA的性能代价仅相当于2x MSAA,但是抗锯齿效果却与 4xMSAA相当。
MFAA技术解析(图片来自英伟达官网)
简单来说MFAA与MSAA运行原理是接近的,可以说是优化版而已。他们都是把一个像素点放大至原来的数倍,让渲染图像的采样点也增至原来的数倍,然后再通过压缩技术合成到当前显示器大小。不过MSAA是把每一帧图像都进行采样点采样,而MFAA则是把采样点分为两份,随着帧画面交替合成,达到最终的效果。由于MFAA的单帧采样运算数据只有MSAA的一半,所以理论上来说达到同样的抗锯齿画质,MFAA资源消耗更低。
MFAA抗锯齿工作原理解析(图片来自官方视频)
事实上虽然Maxwell架构的产品已经发布有段时间了,但是支持MFAA的驱动GeForce 344.75在前几日才刚刚发布。该驱动作为稳定的WHQL认证正式版,让用户更加放心,并且还对多款游戏进行优化,包括《孤岛惊魂4》《魔兽世界:德拉诺之王》、《The Crew》等,但最关键的一点是它支持全新的抗锯齿技术MFAA,也正是由于它的更新,让笔者可以带来这篇对比文章。
想体验MFAA带来的抗锯齿效果,需要注意以下几点。首先你需要有一块最新的搭载Maxwell架构的显卡,暂时MFAA仅支持桌面平台的GTX 980/970以及移动平台的GTX 980M/970M,并且暂时不支持双显卡SLI技术,相信日后会完善这一功能。然后,并不是所有的游戏都支持这一技术,下表中的游戏才能够支持MFAA抗锯齿技术,各位玩家在应用时需要注意下。
支持MFAA抗锯齿技术游戏列表(图片来自互联网)
即便是安装了上述这些游戏,在游戏内部的画质设置中也不会出现MFAA的选项。开启方法为,在NVIDIA控制中心3D设置里找到MFAA选项,选择“ON”即可。既可以全局打开,也可以针对某个游戏单独启用。开启后,进入游戏选择MSAA,此时实际上就是MFAA的抗锯齿效果了。
开启MFAA抗锯齿
GeForce 344.75驱动推出后,很多网友在第一时间测试,并发表评论说MFAA绝对是老黄的黑科技。并提及 2x MFAA可以媲美 4x MSAA,到底有没有这么霸道呢?下文笔者将带来游戏实测。
英伟达官网还放出下面这段技术解析视频,各位有兴趣可以观看研习。