回击MLAA:NVIDIA FXAA抗锯齿性能实测、画质对比

PC游戏玩家肯定会对各式各样的AA抗锯齿技术非常熟悉,而今天本文的主角就是NVIDIA今年才推出的新型抗锯齿技术“FXAA”。

FXAA在某种程度上有些类似于AMD之前宣传的MLAA(形态抗锯齿),但远比后者低调,所以很多玩家可能还从来没听说过,但是如果你玩过《永远的毁灭公爵》或者《F.3.A.R》,应该会有所耳闻。今天我们就来实际测测多款显卡上的FXAA性能和画质表现,并将其与MLAA进行简单对比。

什么是FXAA?

FXAA全称为“Fast Approximate Anti-Aliasing”,翻译成中文就是“快速近似抗锯齿”。它是传统MSAA(多重采样抗锯齿)效果的一种高性能近似值。它是一种单程像素着色器,和MLAA一样运行于目标游戏渲染管线的后期处理阶段,但不像后者那样使用DirectCompute,而只是单纯的后期处理着色器,不依赖于任何GPU计算API。正因为如此,FXAA技术对显卡没有特殊要求,完全兼容NVIDIA、AMD的不同显卡(MLAA仅支持A卡)和DX9、DX10、DX11。

相比于MSAA,FXAA的目标是速度更快、显存占用更低,还有着不会造成镜面模糊和亚像素模糊(表面渲染不足一个像素时的闪烁现象)的优势,而代价就是精度和质量上的损失。

按照FXAA技术开发者Timothy Lottes的说法,GeForce GTX 480利用FXAA Preset 2(第二种预设)处理一帧1920×1200分辨率画面时所需时间不到1毫秒。

FXAA现在有三种版本:“FXAA 1”是最早最基础的版本,也是在PC游戏中使用最广泛的,已用于《F.3.A.R》、《永远的毁灭公爵》、《柯南时代》、《Crysis 2》、《无主之地》等等;“FXAA 2”是针对Xbox 360游戏机专门设计的;“FXAA 3”又有两种算法,Quality质量版本面向PC,Console主机版本则面向Xbox 360、PS3。

FXAA 3相比于FXAA 1有很明显的性能优势,GeForce GTX 480 DX11默认设置下使用FXAA 3 Quality处理典型的720p分辨率画面只需要大约0.21毫秒。另外DX9、DX11模式下性能差异会很大,其中DX11更快一些

FXAA官方技术白皮书:

http://developer.download.nvidia.com/assets/gamedev/files/sdk/11/FXAA_WhitePaper.pdf

从左到右:无AA、4xMSAA、FXAA

FXAA算法过程

FXAA演示

本次测试的平台配置如下:

处理器:Core i7-920 OC 3.6GHz

主板:华硕P6T6 WS Revolution

内存:海盗船DDR3-1600 6GB

硬盘:西部数据500GB SATA

电源:酷冷至尊Real Power Pro 1250W

显示器:戴尔3007WFP (DVI)

操作系统:Windows 7 Ultimate SP1 x64

显卡:

GeForce GTX 580 772/1544/4008MHz

GeForce GTX 570 732/1464/3800MHz

GeForce GTX 560 Ti 822/1645/4000MHz

Radeon HD 6970 880/5500MHz

Radeon HD 6950 800/5000MHz

Radeon HD 6870 900/4200MHz

驱动程序:

GeForce 275.50 Beta

Catalyst 11.6 WHQL

FXAA、MSAA性能对比

测试场景选择《F.3.A.R》(版本16.0.20.1060)游戏中画质要求更高的Intervals 07,从开始录制帧率,直到Alma尖叫导致Armacham直升机坠毁为止,时长15-18分钟。为了便于保证测试过程的一致性,期间使用了上帝模式。开启DX11、16xAF,分辨率按照显卡不同有高中低三个档次。

经过衡量,平均帧率至少应该达到37FPS才能保证游戏的完全流畅。

GeForce GTX 580开启FXAA之后相比于不开启任何AA性能平均损失11.7%,平均帧率依然有56.7FPS。

GeForce GTX 580上开启2xAA速度降为43.1FPS,相比于FXAA慢了13.6%,进一步开启4xAA又比2xAA慢了38%(此时已经无法保证流畅),因此从FXAA到4xAA的降幅为52.8%。就看FXAA、2xAA、4xAA谁的画质效果好了。

Radeon HD 6970开启FXAA后平均速度为55.6FPS,比不开启AA损失了14.7%,略微输于GeForce GTX 580。

Radeon HD 6970开启2xAA、4xAA分别比FXAA慢了17.4%、50.9%。

GeForce GTX 570 FXAA分别比2xAA、4xAA快了24.8%、35%,不过因为分辨率降低,4xAA下平均帧率依然接近40FPS。

Radeon HD 6950同样条件下的差距是16.1%、30.9%,最慢也有44FPS。

GeForce GTX 560 Ti上2xAA、4xAA分别慢了23.1%、50%。

Radeon HD 6870上则是15.8%、37.8%。

FXAA、MSAA画质对比

以下截图的原始分辨率均为2560×1600,细节设为最高。

我们之前就说过,FXAA无论对N卡还是A卡都适用,而且没有差别对待,来自GeForce GTX 580、Radeon HD 6970的截图都显示了差不多的效果

FXAA的抗锯齿效果明显优于2xAA,甚至比4xAA也不弱!结合前边的性能测试可以看出,FXAA用比2xAA快很多的速度,取得了4xAA级别甚至更好的效果。

这几张GeForce GTX 580上的截图显示了FXAA对透明Alpha纹理的影响。不开启AA的话,纹理外侧的硬边缘被平滑,但是树叶和树枝上还有大量颗粒,2xAA、4xAA下甚至更糟,只有FXAA才消除了树叶上的颗粒

这几张Radeon HD 6970的截图也很容易看出不同效果。关闭AA的时候边缘锯齿非常明显,2xAA略有改善,4xAA又稍好一些,但显然都不如FXAA来得平滑。

这张截图来自NVIDIA,所用游戏不明。最左侧是关闭FXAA,中间是开启FXAA 3.9但没有亚像素对比度降低,右侧就是同时开启FXAA 3.9和亚像素对比度降低了,即使不到一个像素的树叶也都被平滑了。

FXAA、MLAA性能对比

Radeon HD 6970上,FXAA开启后平均速度56FPS,MLAA则会降低至32.6FPS,慢了42%之多,只是后者的帧率更加稳定一些。

Radeon HD 6950上FXAA也取得了60%的优势。

Radeon HD 6870上FXAA再次获胜,领先幅度47.5%。

FXAA、MLAA画质对比

湿润的底面上,FXAA、MLAA的效果差不多,肉眼基本看不出区别。

较真的话可以说MLAA的色彩过渡更平滑一些,但整体基本相同。

放大区域的对比度略有不同,FXAA更强一些。

以树叶为代表的透明纹理上,FXAA的颗粒明显比MLAA少得多。MLAA也取得了一定的效果,但是FXAA更好一些。

小结:

FXAA是NVIDIA针对AMD MLAA提出的技术回应,在基本差不多的画质水平上取得了更快的速度,而且对透明树叶纹理的处理更平滑。在同等画质下,MLAA要比FXAA平均慢37.1%之多。

NVIDIA FXAA优点:

- 兼容NVIDIA、AMD显卡

- 性能影响更小(相比于MSAA、MLAA)

- 画质与4xMSAA、MLAA基本相当

- 定制度高,可在性能和画质之间取得平衡

- 能够减少边缘、纹理和Shader上的锯齿

缺点:

- 需要游戏开发人员提供支持

AMD MLAA优点:

- 无需游戏特别支持,可通过驱动用于任何游戏

- 兼容所有游戏和引擎,不管是DirectX还是OpenGL

- 能够减少边缘、纹理和Shader上的锯齿

缺点:

- 仅支持AMD显卡

- 性能影响比较大

- 对于单像素和亚像素物体效果一般

时间: 2024-10-10 21:56:56

回击MLAA:NVIDIA FXAA抗锯齿性能实测、画质对比的相关文章

未来抗锯齿,FXAA/TXAA

前言:未来抗锯齿,FXAA/TXAA回顶部 [PConline 应用]在3D图像中,我们不可避免的遇到"锯齿".锯齿是由于受到显示设备分辨率和图像生成原理制约,不可避免的会出现的一种图像失真现象,具体表现为画面中物体的边缘呈现出直角的锯齿状.为了获得更好的视觉体验,让物体边缘看起来更柔和.自然,需要进行消除锯齿(Anti-Aliasing,简称AA)处理. 未来抗锯齿技术的方向:FXAA/TXAA 虽然抗锯齿了,但是模糊了 虽然FSAA全屏抗锯齿技术十分成熟,但是无论怎样发展,是不能够

MLAA:高效地将抗锯齿处理从 GPU 迁移至 CPU

下载文章和源代码 英文版下载 MLAA:高效地将抗锯齿处理从 GPU 迁移至 CPU (PDF 1.2MB) 访问 MLAA 示例页可下载源代码. 简介 高效的抗锯齿技术是进行高品质.实时渲染的重要工具.MSAA(多点采样抗锯齿处理)是目前使用的标准技术,但有一些严重的缺点: 与延迟照明不兼容,后者在实时渲染中使用得越来越多: 高内存和处理开销,这使其在一些流行平台(如索尼 Playstation* PS3*)上的使用受限 [Perthuis 2010].这种开销还直接与渲染场景的复杂性关联:

SSE图像算法优化系列二十四: 基于形态学的图像后期抗锯齿算法--MLAA优化研究。

偶尔看到这样的一个算法,觉得还是蛮有意思的,花了将近10天多的时间研究了下相关代码. 以下为百度的结果:MLAA全称Morphological Antialiasing,意为形态抗锯齿是AMD推出的完全基于CPU处理的抗锯齿解决方案.对于游戏厂商使用的MSAA抗锯齿技术不同,Intel最新推出的MLAA将跨越边缘像素的前景和背景色进行混合,用第2种颜色来填充该像素,从而更有效地改进图像边缘的变现效果,这就是MLAA技术. 其实就是这个是由Intel的工程师先于2009年提出的技术,但是由AMD将

GPU抗锯齿

抗锯齿(Anti-aliasing):标准翻译为"抗图像折叠失真".由于在3D图像中,受分辨的制约,物体边缘总会或多或少的呈现三角形的锯齿,而抗锯齿就是指对图像边缘进行柔化处理,使图像边缘看起来更平滑,更接近实物的物体.它是提高画质以使之柔和的一种方法.如今最新的全屏抗锯齿(FullSceneAnti-Aliasing)可以有效的消除多边形结合处(特别是较小的多边形间组合中)的错位现象,降低了图像的失真度.全景抗锯齿在进行处理时,须对图像附近的像素进行2-4次采样,以达到不同级别的抗锯

抗锯齿技术简介

虽然3D图形渲染技术的飞速进步给我们带来了一次次的视觉震撼,电影级的画面早已经不是遥远的梦想,但电脑在计算3D画面时所出现的锯齿效果仍是不可避免的,这种效果在物体边缘最为明显.画面上那些跳牙咧嘴的锯齿每每令我们如蟹在喉,不吐不快.为了消除这些碍眼的锯齿,抗锯齿技术应运而生,并在图形处理技术不断发展的推动下日趋成熟和完善. 1. FSAA抗锯齿技术 最早的抗锯齿技术来自于3DFX,名为FSAA (FuliSceneAnti-aliasing,全屏抗锯齿).我们都知道,画面的分辨率越高,锯齿感就越不

抗锯齿(后期效果) Antialiasing (PostEffect)

The Antialiasing (PostEffect) offers   a set of algorithms designed to give a smoother appearance to graphics.   When two areas of different colour adjoin in an image, the shape of the   pixels can form a very distinctive "staircase" along the b

基于图片的抗锯齿方法(一)

目前为止,MSAA仍是抗锯齿效果的黄金标准.然而MSAA需要硬件支持,并且要在RT中存放子像素信息,这大大增加了内存和带宽开销.在使用HDR管线或者G Buffer时此问题显得更加严重. 由于这些限制,基于后处理的抗锯齿方案逐渐成为主流.这类方案并不需要改变渲染管线,而是在图片中寻找被人眼识别为锯齿的像素,再对应模糊处理.morphological antialiasing(MLAA)即是其中之一. MLAA的思路很简单,考虑锯齿图中的一个微元,它常常是下图中B的样子.而如果分辨率无限加大,可以

【转载】浅谈抗锯齿技术-老文章(供参考)

原文:http://vga.zol.com.cn/2002/1007/48701.shtml 一代又一代的图形芯片和显卡不断的推出,PC图形子系统的图形处理能力也随之大幅度的提高,这使得我们有可能在计算机上看到更精美的实时生成的图像.无论图形芯片如何改进,在图形输出技术没有革命性变化的今天,我们看到的最终图像依然是由上百万个显示屏上的像素组成的.正是因为像素的存在,使得图像总是存在一个近乎于无法完全克服的缺点:锯齿. 在现实世界中相邻的两个物体边缘一般是光滑的,但是在电脑上生成的图像中相邻的物体

【ShaderToy】基础篇之再谈抗锯齿(antialiasing,AA)

写在前面 在之前的基础篇中,我们讲到了在绘制点线时如何处理边缘的锯齿,也就是使用smoothstep函数.而模糊参数是一些定值,或者是跟屏幕分辨率相关的数值,例如分辨率宽度的5%等等.但这种方法其实是有一种问题的.这需要我们从绘制的图像说起. ShaderToy中绘制的很多图像可以说是一种Procedure Texture,过程纹理,即是计算机生成的纹理.拿之前画的圆和线来说,这些圆和线的绘制过程,是我们计算每个fragment到"期望图像"的距离,然后根据距离来判断使用哪种颜色.如果