Hi !
Featured games (90)
games approved by the League of Dukes
Games in Showcase (754)
Games in Android Showcase (229)
games submitted by our members
Games in WIP (842)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  FXAA news  (Read 2616 times)
0 Members and 1 Guest are viewing this topic.
Offline theagentd
« Posted 2011-12-24 22:15:20 »

No, I am not here to flame FXAA (that much) this time.

The development is being continued by Timothy Lottes, the guy who came up with the idea and he seems to completely realize the inherent flaws of FXAA, with the newest FXAA version 4.0 being much more compatible with other antialiasing algorithms for better subpixel accuracy. Since Battlefield 3 came with both MSAA and FXAA and delivered pretty nice results (the best of both worlds, except for performance of course) and since FXAA is very effective at removing jaggies, I now have a little more faith in post antialiasing. FXAA 4 looks like it slightly improves the quality of 4xMSAA, and also has some really amazing support for scaling images, allowing you to both increase and decrease the resolution while getting very VERY nice smooth edges. Due to the simplicity of the FXAA filter (only a single fullscreen shader pass) it would be possible to easily combine it with Dynamic Resolution Rendering for real-time adaption of quality vs performance. It also uses a temporal SSAA filter to reduce temporal AA (e.g. shimmering, which FXAA doesn't improve much at all) which increases subpixel accuracy, similar to what the dynamic resolution article mentioned.

 - Reducing the size of the render target will increase severity of the shimmering even more of course, and it might not be good to dynamically lower the resolution too much.
 - Similarly, increasing the size of the render target (= fractional ordered grid supersampling) requires n^2 more pixels for n more shades of samples, which is why MSAA and SSAA use jittered or rotated sample locations. 2x2 OGSSAA = 4x the number of pixels, while 2x Rotated Grid SSAA is only 2x the number of pixels but almost identical quality.
 - FXAA is still not compatible with MSAA or SSAA with better sample patterns than ordered grids, requiring a downsample for MSAA before processing. Ideally, we want to blur between samples in that case, not between resolved pixels.
 - Supersampling is also insanely expensive even at low sample numbers. I mean, if it was fast in the first place, we wouldn't be using anything else, so combining a very fast FXAA filter with insanely slow, badly scaling SSAA is a pretty cheap trick for improving the quality of FXAA.
 - There's a reason why temporal SSAA is rare: severe ghosting. Again, we're just getting blurring, but this time between frames, not between pixels.

 - Dynamic resolution can give an expensive but often missing supersampling feature in games, and the built-in high-quality antialiasing scaling of FXAA 4 is obviously extremely well matched for both upsampling and downsampling (see Timothy's blog).
 - FXAA 4 works on not only screen aligned jaggies, but even on blurred and bilinearly filtered aliasing too now (but how this actually looks in motion is unknown ATM).
 - Better compatibility with other antialiasing algorithms. The main problem with low SSAA is the low sample count (due to the performance cost) resulting in a bad gradient, which can be solved by applying FXAA to the supersampled image. Even 4xMSAA receives a noticeable improvement in gradients.
 - Performance! Fast as hell! It currently claims that "a mid-range 560 Ti is likely able to process a 1080p frame in around 0.36 ms."!
 - Uses motion vectors for the temporal SSAA, which reduces ghosting a little bit. This is pretty much free since you need those motion vectors for motion blur anyway.

My point is that FXAA is moving in the right direction. I've never been skeptical about post-processing antialiasing, but rather how they are branded as a replacement for tradition antialiasing. I don't know how much this actually will improve the temporal aliasing situation that the old FXAA algorithm failed to do much about, but the author is realizing that this is the main problem of FXAA and is working on solutions for it. We are finally seeing a realistic contestant/improver to MSAA and SSAA, which in the end might improve antialiasing in games to come. My current ideal solution to aliasing is no longer insane amounts of supersampling and/or multisampling but MSAA + FXAA + dynamic resolution SSAA. Now, if we could only get support for FXAA on unresolved MSAA, we could be looking at a revolution in realtime antialiasing. This is even more exciting than when I found the combined MSAA/SSAA antialiasing modes in the NVidia drivers.  Grin

Offline ra4king

JGO Kernel

Medals: 508
Projects: 3
Exp: 5 years

I'm the King!

« Reply #1 - Posted 2011-12-25 04:23:28 »

Well in the end, which one should I use in BF3? I have a GTX 570 Smiley

Offline theagentd
« Reply #2 - Posted 2011-12-25 08:55:18 »

Well in the end, which one should I use in BF3? I have a GTX 570 Smiley
I dunno, I don't have the game or a decent computer to try it on. xD Since FXAA is so cheap as long as you can live with the blurring, keep it on if you like it. MSAA is really expensive for the game, so I don't think you should enable any MSAA for anything under an SLI/Crossfire setup.

If DICE adds FXAA 4 with well-implemented temporal SSAA to BF3, I would instantly go and buy it just to try it out. I haven't bought it yet because I don't want to play it on my laptop which is the only thing I have access to at the moment. That way, we could get FXAA 4, temporal SSAA and MSAA working together to deliver insane quality. Even FXAA 4 + temporal SSAA+ 2xMSAA would probably look better than 4xMSAA, and more importantly perform better. If they also added dynamic resolution rendering combined with FXAA 4, I would die of happiness.

Pages: [1]
  ignore  |  Print  

DesertCoockie (20 views)
2018-05-13 18:23:11

nelsongames (68 views)
2018-04-24 18:15:36

nelsongames (65 views)
2018-04-24 18:14:32

ivj94 (748 views)
2018-03-24 14:47:39

ivj94 (79 views)
2018-03-24 14:46:31

ivj94 (595 views)
2018-03-24 14:43:53

Solater (95 views)
2018-03-17 05:04:08

nelsongames (168 views)
2018-03-05 17:56:34

Gornova (378 views)
2018-03-02 22:15:33

buddyBro (1038 views)
2018-02-28 16:59:18
Java Gaming Resources
by philfrei
2017-12-05 19:38:37

Java Gaming Resources
by philfrei
2017-12-05 19:37:39

Java Gaming Resources
by philfrei
2017-12-05 19:36:10

Java Gaming Resources
by philfrei
2017-12-05 19:33:10

List of Learning Resources
by elect
2017-03-13 14:05:44

List of Learning Resources
by elect
2017-03-13 14:04:45

SF/X Libraries
by philfrei
2017-03-02 08:45:19

SF/X Libraries
by philfrei
2017-03-02 08:44:05 is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!