FXAA vs MLAA on the 360

Started by
5 comments, last by IntegralKing 12 years, 9 months ago
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:
http://timothylottes...9-released.html
(Note that the very recently released version of this shader has an optimized section for the 360.)


MLAA:
http://www.iryoku.com/mlaa/

(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.)
Advertisement
Have we accepted that FXAA is better or equal in quality and performance?
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).
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).

That's quite fast.

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

I integrated FXAA3.9 today (the normal 360 variant, not the experimental/optimised 360 variant) - PIX shows it at 1.03ms biggrin.gif

I integrated FXAA3.9 today (the normal 360 variant, not the experimental/optimised 360 variant) - PIX shows it at 1.03ms biggrin.gif


How large is the texture that you are applying the FXAA to?
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 (which converts from A2R10G10B10 to A8R8G8B8) 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 wink.gifresult.a = RgbToLum(result.rgb);
FXAA 3.10 was just released, which modified the optimized 360 code.

http://timothylottes...0-released.html

This topic is closed to new replies.

Advertisement