Sign in to follow this  
IntegralKing

FXAA vs MLAA on the 360

Recommended Posts

I havent been able to find any reliable benchmarks regarding Jimenez MLAA vs FXAA on the 360. Some desktop benchmarks suggest that MLAA is faster, although MLAA requires 3x the memory and the 360 tends to get texture bound.

I can't notice any quality differences between the two techniques that is worth mentioning.

Does anyone have experience with both implementations? Have we accepted that FXAA is better or equal in quality and performance?


FXAA:
[url="http://timothylottes.blogspot.com/2011/07/nvidia-fxaa-39-released.html"]http://timothylottes...9-released.html[/url]
(Note that the very recently released version of this shader has an optimized section for the 360.)


MLAA:
[url="http://www.iryoku.com/mlaa/"]http://www.iryoku.com/mlaa/[/url]

(I know that there are 360 benchmarks on that page, but the author mentioned somewhere that the newer version is much faster -- more than twice as fast.)

Share this post


Link to post
Share on other sites
[quote name='Olhovsky' timestamp='1311083294' post='4837374']Have we accepted that FXAA is better or equal in quality and performance?[/quote]On the 360 specifically, I'd probably agree, but not in general -- MLAA was originally designed for a compute-shader type architecture IIRC, wheras FXAA was specifically designed for a pixel-shader type architecture. On other hardware it could be different.


On 360, I'm getting 2ms with FXAA2. I haven't got around to testing FXAA3 yet, but yeah, it's supposed to be twice as fast (~1ms).

Share this post


Link to post
Share on other sites
[quote name='Hodgman' timestamp='1311083792' post='4837379']On 360, I'm getting 2ms with FXAA2. I haven't got around to testing FXAA3 yet, but yeah, it's supposed to be twice as fast (~1ms).
[/quote]
That's quite fast.

I'll start implementing that first. Thanks Hodgman :)

Share this post


Link to post
Share on other sites
[quote name='Hodgman' timestamp='1311156856' post='4837876']
I integrated FXAA3.9 today ([i]the normal 360 variant, not the experimental/optimised 360 variant[/i]) - PIX shows it at 1.03ms [img]http://public.gamedev.net/public/style_emoticons/default/biggrin.gif[/img]
[/quote]

How large is the texture that you are applying the FXAA to?

Share this post


Link to post
Share on other sites
It's a regular 720p target (1280*720) in A8R8G8B8 format.

1080p has roughly 2x as many pixels as 720p, so on a 1080p game I'd expect it to take ~2/3ms on the 360.

One thing to note is that FXAA3.9 requires you to store luminance in the alpha channel prior to running the AA filter.
So in my tone-mapping pass ([i]which converts from A2R10G10B10 to A8R8G8B8[/i]) I also had to add the following line, which adds a tiny cost to the tone-mapping pass that isn't included in the above 1.03ms figure [img]http://public.gamedev.net/public/style_emoticons/default/wink.gif[/img][code]result.a = RgbToLum(result.rgb);[/code]

Share this post


Link to post
Share on other sites
FXAA 3.10 was just released, which modified the optimized 360 code.

[url="http://timothylottes.blogspot.com/2011/07/fxaa-310-released.html"]http://timothylottes...0-released.html[/url]

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this