I don't get it. Isn't the commenter right? He gives screenshot examples where the aliasing is dramatically reduced. Is this just face-palming at one small section of his comment?
Although I personally find aliasing is less of an issue now then it used to be, because the resolution of monitors has increased. It's still there, it's just far less noticeable.
The article identifies anti aliasing with jagged edges, when the main point of it in my opinion is subpixel information for huge quality gains for small geometry, and less shimmering and snapping. The face-palming is about the whole article, that says 4xMSAA is about equal to FXAA. Complete utter bullshit IMO. There's a reason there's a bigger performance hit for proper anti aliasing. They're just feeding lies to console gamers to justify the crappy hardware they have to work with. For gods sake, I'm playing my games at 18 times the geometry resolution (that's area though, not width AND height) compared to consoles! That's 720p VS 1080p + 8xMSAA. 720p without AA is complete bullshit on a TV. HD console gaming is a huge lie.
You're right about screen resolution though. As monitors get higher pixel density, the need for AA is severely reduced. On my 24-inch monitor I can easily see the difference between 4xMSAA and 8xMSAA (and supersampling of course). On my 17-inch laptop, I don't need any higher than 2xMSAA to reduce shimmering to very acceptable levels. No AA at all looks like crap, though.
What annoys me most is the frequent invalid claims, the extremely harsh treating of MSAA and that they justify using a worse AA method by pointing out MSAA's flaws.
Traditional MSAA only reduces aliasing on polygon edges, i.e. the edges of geometric game objects. It also cannot reduce aliasing on alpha textures, and it cannot reduce aliasing associated with specular shader programs.
Double false. Transparency MSAA looks infinitely better, shimmers less and is almost identical in quality to SSAA, and costs basically nothing compared to normal MSAA. You just use a custom alpha testing shader that outputs a psuedo-random sample mask. Good performance, epic quality. (Also allows order independent transparency to some extent.) FXAA does nothing for the main problem of alpha textured geometry, shimmering. Specular aliasing also happens to be improved a lot in deferred shading renderers as lighting has to be done per sample anyway.
In no sense does FXAA do any of these two better.
If you look at this screenshot (link) you will see specular shader aliasing on the corners of this object. Now, this was primitive vertex shading, but still quite evident, MSAA can't cure this. This screenshot (link) shows very clearly how bad specular shader aliasing can be, all over the walls, and the floor. These are but a couple of examples, but it is things like this that traditional MSAA can't help you with, while methods like FXAA and MLAA can.
None of them use MSAA at all. And per vertex lighting? Yeah, MSAA is to blame for old, bad shaders. FXAA's "subpixel precision" is literary in practice just if(allNeighborsExceedLuminanceThreshold()){ blurWithAllNeighbors(); }. I don't see how this would reduce shimmering (except for reducing the brightness of shimmering obviously). FXAA doesn't tackle the real problem, it just does a bad attempt at masking it.
NVIDIA FXAA:
Pros:
...
- Image quality comparable to 4X MSAA and MLAA.
False. Even compared to MLAA, it is a lot worse (except for the "subpixel" bullshit, if you count that as a feature). FXAA depending on preset scans a lot shorter than MLAA along axises. For almost horizontal/vertical edges, the quality of MLAA is a lot better. FXAA is an optimized, low quality version of MLAA which is worse at fixing jaggies but doesn't distort text and has that "subpixel" thing (which AMD apparently is implementing into MLAA some time in the future).
Also NVIDIA's CSAA and AMD's new Custom Filtering and EQAA modes. These methods do work, but they require a lot of work and are huge memory drains, and in essence still based on multi-sampling.
Uh, what? Sure, the gains of CSAA and EQAA is very questionable, but how do they increase "work" and memory usage a lot? Just wrong. In some cases 16xCSAA (that's 4xMSAA + 12 coverage samples) look better than 8xMSAA, at almost identical performance to 4xMSAA (often less than 0.5ms frame time difference). CSAA memory usage: IDENTICAL. Yes, completely identical. 16xCSAA (forced through drivers AND enabled with NVFramebufferMultisampleCoverage to be sure) used exactly the same amount of memory (measured in MBs, though, so they could differ a MB or so). The test was done using a GL_RGB16F MSAA / CSAA renderbuffer of extreme resolution (1600*4, 900*4). Memory usage was measured using GPU-Z and was confirmed multiple times to be stable.
MLAA was a step in the right direction because it fixed all the problems of MSAA [...]
... while not doing even half what MSAA was doing about shimmering and sacrificing subpixel precision completely.
FXAA improves polygon aliasing, alpha texture aliasing, and specular aliasing, while maintaining performance that is FASTER than the performance cost of 2X AA!
Subpixel information, custom alpha test shaders, deferred rendering. Yes it's slower, but it actually does anti aliasing.
The only caveat, the game developer must implement it in the game. If the game doesn't have it, the game doesn't have it.
False. Can be enabled in Nvidia inspector, but at the moment only for OpenGL games. It even works in LWJGL. It also does not work together with MSAA (believe me, it looks hilarious).
I hope it is post-processing shader methods like FXAA and MLAA that are used more and more in the future, eventually replacing traditional MSAA. Yes, you read that correctly, I want shader based aliasing programs like these to replace traditional AA, it is the only logical answer to the antialiasing problem. We need a revolution in AA, we need something that can reduce aliasing in every aspect of the game, with a minimal performance hit [...]
Again, subpixel precision, shimmering, etc. It's not a real anti-aliasing method, it just removes jaggies which are but ONE artifact of rasterization.
[...] and right now, FXAA is the best option.
True! ....................... Wait for it....................... ... for consoles, because they suck.
Instead of having to worry about 2X AA, and 4X AA and whatnot, I just want to turn on "AA" and be done with it. Right now, F.3.A.R. allows this, and we will use FXAA as an alternative to 2X and 4X AA.
FXAA has more presets than there are MSAA/CSAA modes. As FXAA is so cheap, they don't differ much in quality or performance, but more in trade-offs between removing more jaggies and blurring less. The only real quality setting is how long it scans on each axis. MSAA is more costly, infinitely more better looking and in performance sense much more dynamic. Hardware gets better and better, and games just a year old can enable MSAA on mid-range products. Sacrificing quality for performance and availability AND dropping MSAA completely stinks so much of consoles that I feel like puking. Please do NOT do that to my computer games.
As a last note, I have to say that FXAA/MLAA isn't completely worthless. It just isn't anti-aliasing as it should be. It does pretty well with jagged edges, but that's not why I enable anti aliasing in games to fix. A replacement for MSAA has to have some kind of subpixel precision, or it won't be able to replace it. 2xMSAA looks so much better than no anti-aliasing concerning shimmering, while not having unreasonable performance costs. It does however not a very good job with jagged edges, as it only has 2 colors in it's gradient. The answer for the moment is a hybrid anti aliasing method, with MSAA/SSAA/something else for subpixel precision while still using some kind of edge blender to deal with jaggies. An interesting similar solution is SRAA, sub-pixel reconstruction anti aliasing,
http://www.geeks3d.com/20110129/sraa-subpixel-reconstruction-anti-aliasing-nvidias-reply-to-amds-mlaa/. The idea is to salvage the best of both worlds to achieve smooth edges and less shimmering. How this works in practice remains to be seen, but I'm pretty sure BF3 will be the first game to ship with it. The game would be worth buying just to check out SRAA in my opinion, but it seems you get a pretty good game along with SRAA, too. =D
In the end, the need for anti aliasing is something that can only be solved completely by moving away from raster graphics. But would the replacement be any better when it comes to aliasing? Probably not. Is that gonna happen anytime soon? Unlimited Detail maybe, so a few years? MSAA would not have a definition in such a renderer.
So yeah, MLAA/FXAA, congratulations on solving jaggies once and for all! Now we just need to get rid of the blurring you introduce, somehow attain sub pixel precision, write better shaders to reduce shader aliasing (which shouldn't be a post process's responsibility in the first place), e.t.c. Thanks for solving probably less than 10% of the problems with aliasing while looking like 50% in still screenshots so people think it's awesome and godly. ... How do you even sleep at night?
OH GOD WHAT HAVE I DONE I SHOULDN'T BE WRITING POSTS LIKE THIS *clicks post*