All Things Anti-Aliasing (MegaThread)

TechyInAZ

Polypheme
Moderator
In modern gaming, Anti-Aliasing is one of the most significant ways to improving graphical quality in a 3d image. All computer generated images don’t look perfect or completely natural right from the start, what you will notice is the infamous “staircasing” affect where a rounded edge looks very jagged.

This is where the idea of Anti-Aliasing comes in, AA attempts to smooth out all the edges of an object by blurring the colors of the objects edge, and its surrounding background together to a degree.

For the most part this technique works works very well, it’ll make the staircasing affect almost impossible to detect from the human eye. However, the main drawbacks with AA are, it can’t fix this problem completely, and AA adds a little bit of blurr to edges, reducing sharpness. The only way to completely get rid of the staircasing affect is to have monitors with resolutions so extreme that you can’t even see individual pixels from point blank range.

Still, AA is a huge improvement to this problem, and when you’re gaming with a good Anti-Aliasing technique, you can’t even tell there is staircasing unless you really look for it.

Now for the fun stuff, there are over 10 variants of Anti-Aliasing which have been made over the past decade, all with different missions in mind. For example, the highest quality forms of AA are incredibly taxing on your graphics card (GPU), so much so that you can expect your frame rate to get cut in half. I think we can all agree that having your frame rate cut in half just for super smooth edges isn’t worth it (unless you’re running a crazy bonkers system), which is why all these other forms of AA exist.

Super-Sampling Anti-Aliasing (SSAA):

According to my research, this is the oldest and simplest technique for Anti-Aliasing. It works by increasing your resolution by 2x or 4x, then downsampling that resolution with a filter to your native resolution. This is by far the highest quality AA technique that can be used, but because it requires doubling or quadrupling your resolution to work, it is also by far the most graphically intensive

Side Note: This is the same as Nvidia DSR and AMD VSR. SSAA is just the in-game version of this technology. DSR and VSR work more as a compatibility feature, so you can run SSAA in any video game that doesn’t support it.

Fun fact: You can run DSR/VSR and SSAA at the same time, so instead of limiting your maximum supersampling resolution to 4x, you can go as high as 8x. (If you can even get the game to run at 6x or 8x, it is absolutely stunning for in game photography. (LOTS of vram required))
Multi-Sample Anti-Aliasing (MSAA):

Probably the most popular AA technique to date, it is a HUGE upgrade to SSAA in the form of efficiency and performance. Without getting into super complex vocabulary, MSAA works by smoothing out the biggest and most noticeable edges on an object. Anything that it deems not noticeable or edges that are not big enough simply don’t get smoothed at all.

Because this form of AA doesn’t rely on increasing your resolution at all, the performance gain vs SSAA is significant. Instead of a 50% drop off in FPS, your looking more at a (roughly) 10% drop in FPS.

You can choose between 2x 4x and 8x (not sure if a 6x exists) MSAA in your game options. The higher the number, the more pixels (meaning theoretically more edges) are smoothed. Of course at the cost of more GPU power.

While still a good form of AA, MSAA has seen a steep decline in popularity among game developers due to more efficient technologies coming online.
Fast Approximate Anti-Aliasing (FXAA):
Developed by Nvidia, this is the fastest Anti-Aliasing technique to date. The drop in frame rate when using this method of AA is almost nonexistent.

Compared to MSAA, FXAA doesn’t get into the nitty gritty of analyzing the 3d model itself, rather it blurs some of the textures along the edges itself. This is a very basic description of FXAA, if you want more detail I suggest you do more research yourself.

FXAA out of all AA techniques out today looks the most blurry. So it is technically the least effective AA option. However AA is a personal preference, there are some people who prefer the look of FXAA over others. I personally prefer FXAA on a game by game basis, some games it looks really good (like War Thunder) and some it just doesn’t.
Mutli-Frame Anti Aliasing (MFAA):
Developed by Nvidia exclusively for Nvidia GPUs, this form of AA does its work over multiple frames instead of just one. All other forms of AA do ALL their anti-aliasing work one frame at a time, yielding the best quality.

However, MFAA cuts the AA work in half by only running half of the computational tasks required in one frame, and running the rest in the next frame. Definitely an unconventional way to run AA, but it further improves frame rate performance.

However, it does have a few cons: 1, It is designed only for MSAA, if your game doesn’t have MSAA, it will not work. 2, Because this tech works over multiple frames, the AA should look smoother at higher fps and worse at lower fps. (Basically it won’t provide a consistent smoothness across all frame rates.)
Temporal Anti-Aliasing:
With most AA solutions out there, they will smooth out edges very well on objects that aren’t moving, but if they are moving AA will ignore most of the smoothing. TAA attempts to fix this problem with motion involved AA by adding extra blur to objects to make them appear more natural while moving.
Subpixel Morphological Anti-Aliasing (SMAA/MLAA):

The best way to think of this AA is to imagine MSAA and FXAA used together. Which it is for the most part.

SMAA uses the same blurring techniques as FXAA, but to compensate for FXAA’s overabundance of blurr, it analyzes an object more than FXAA to lessin the blurring effect. Noticeably making objects sharper than pure FXAA.

So if you thought MSAA has too much sharpness, and FXAA has too much blur, SMAA should provide the perfect balance.

MLAA is a CPU based version of SMAA. So they both are identical, but one is designed for CPUs (MLAA) and the other GPUs (SMAA).
Deep Learning Super-Sampling (DLSS):
This is the newest form of AA on the market today, most of you will probably recognize DLSS as a feature of Nvidia’s new RTX GPUs.

DLSS is another Nvidia created (and Nvidia only) Anti-Aliasing technique, it is supposed to be just as good as TAA, but with less of a performance cost. There are a series of complicated events which take place for DLSS to happen, so I will list them down below in order:

Before you even play a title with DLSS, the game is run thru a series of Nvidia servers with machine learning, basically these servers provide “blueprints” for your GPU to use as a starting point when it goes thru the AA process.
Once the servers are done, the “blueprints” go into your Nvidia drivers.
Now let us say you have the latest Nvidia drivers with DLSS support and have DLSS on in game and are playing. The GPU will rely on those “blueprints” for about 50% of the work (which boosts performance because it is pulling data from the driver and not actually creating it), then the GPU will use its tensor cores to finish up the rest of the AA.

According to Tom’s Hardware’s article on DLSS, the image quality of DLSS is better and worse than TAA in specific areas of FFXV (the only game that supports DLSS at the time of this writing).

It is also worth a mention that this technology is extremely new, I’m sure there are plenty of optimizations for this tech down the road. Plus, if tensor cores and RT cores are the future of GPU computing, we’ll probably get more of these cores in future cards, allowing DLSS to use more power to increase image quality.

There are still more versions of Anti-Aliasing that exist, in fact, several game developers have gotten creative and stack some Anti-Aliasing techniques on top of each other, like in Shadow of the Tomb Raider, GTA V, World of Warships and War Thunder (to name a few). Most of the AA techniques I have not listed are either extremely rare, or don’t necessarily apply to gaming. (Some are for professional work only.)

I sincerely hope you enjoyed this very complicated, quick start guide, on all things Anti-Aliasing. I'd also like to know, what is YOUR favorite type of Anti Aliasing? Please feel free to discuss this topic below.
 
Reactions: Somasonic

TechyInAZ

Polypheme
Moderator
Community, please feel free to leave feedback on any mistakes or misunderstandings I might have written down above. AA for me is a very complex topic, so I probably got something wrong.

If you want me to cover other forms of AA, please list them here and I will add them to the post above.


Thanks!
 

LordofAllClouds

Honorable
Mar 16, 2014
6
1
10,515
0
Is MSAA even compatible with all of the new deferred rendering games? I was under the impression it was not. I can't speak to the new Turing AA but I feel that SSAA is the only one that eliminates the awful shimmering in these titles without blurring textures. MSAA was good for the titles that supported it -- though I still prefer CSAA that was lost with the Kepler generation.

SSAA gets my vote, though!
 

TechyInAZ

Polypheme
Moderator
Is MSAA even compatible with all of the new deferred rendering games? I was under the impression it was not. I can't speak to the new Turing AA but I feel that SSAA is the only one that eliminates the awful shimmering in these titles without blurring textures. MSAA was good for the titles that supported it -- though I still prefer CSAA that was lost with the Kepler generation.

SSAA gets my vote, though!
I know MSAA is quite demanding, which is probably why nobody uses it today. But I do agree, MSAA is one of the best looking AA techniques aside from SSAA.

I wish games would still add it in, as an addition option. Maybe game engines don't fully support it, I'm not sure. I hope not lol.
 

ASK THE COMMUNITY