AA names help

taltamir

Lifer
Mar 21, 2004
13,576
6
76
This thread is dedicated to demystifying the naming of various Anti Aliasing technologies.
Its goals are 2 fold.
1. Create a comprehensive list of all AA shorthand terms and their full meanings (ex: AA = Anti Aliasing).
2. Compare their quality and understand/explain how they differ and operate.

AA = Anti Aliasing

Below is a quote from wikipedia, don't worry if it is technical and confusing, all will be explained in simple terms immediately afterwards.
wikipedia said:
Aliasing
In signal processing and related disciplines, aliasing refers to an effect that causes different signals to become indistinguishable (or aliases of one another) when sampled. It also refers to the distortion or artifact that results when the signal reconstructed from samples is different from the original continuous signal.

In computer generated graphics (specifically, video games and window's text), aliasing is most commonly used to refer to one specific kind of aliasing. The appearance of jugged "steps" on any line that isn't perfectly vertical or horizontal. (aka, diagonal lines)

Anti Aliasing is simply any process which attempts to eliminate aliasing artifacts. These are commonly split into Spatial Anti Aliasing, and Temporal Anti Aliasing.

Spatial Anti Aliasing
http://en.wikipedia.org/wiki/Anti-aliasing
What GPU anti aliasing deals with. Any processes by which jugged edges are smoothed out in computer graphics. It has other meaning and functions in other fields, but those are unrelated to the discussion at hand; suffice to say that all AA forms in video games fall under Spatial Anti Aliasing.

Temporal Anti Aliasing
http://en.wikipedia.org/wiki/Temporal_anti-aliasing
A form of anti aliasing that deals with objects appearing to "jump" between frames or appear to overlap in a recorded video due to frame rate being too low. This is not related in any way to Anti Aliasing as it appears in computer graphics.
Some of the issues that fall under temporal (anti) aliasing can be found in video games, but they are referred to as stutter or lag and fall under the umbrella of framerate, not (anti) aliasing.

SSAA = Super Sampling Anti-Aliasing
http://www.anandtech.com/show/2841/14
http://alienbabeltech.com/main/?p=17590
SSAA has an image rendered at a much higher resolution than what it is meant to be displayed as, then scales it down. This process did an excellent job of removing aliasing as well as improving the overall quality. It is one of the oldest methods of anti aliasing, produces the highest quality images, and is by far the most expensive in terms of computational resources. As a result, it is rarely used anymore. Support for it was dropped beginning with DX8 parts from nVidia and ATI. It was later reintroduced (see below)
SSAA 2x (citation needed): Double the vertical OR horizontal image size, not both; then downscale.
SSAA 4x (citation needed): Doubles both vertical and horizontal image size; then downscale
SSAA 6x (citation needed): Quadruple the vertical OR horizontal image size, and double the other; then downscale
SSAA 8x (citation needed): Quadruple the vertical and horizontal image size; then downscale
I am basing the above 4 modes on various reading I have made, but I do not have documented support for it yet.

AMD SSAA:
AMD reintroduced SSAA with the HD5870, but only for DX9 and OpenGL games.

SGSSAA / SG-SSAA = Sparse Grid Super Sampling Anti-Aliasing
http://www.pcgameshardware.com/aid,...igher-quality-plus-Nvidia-interview/Practice/
http://www.forum-3dcenter.org/vbulletin/showthread.php?t=482088 - german forum that discovered original phenomen with fermi.
http://nvidia.custhelp.com/cgi-bin/nvidia.cfg/php/enduser/std_adp.php?p_faqid=2624 - Here you can download the SG-SSAA tool from nvidia.
nvidia SSAA. nVidia originally dropped SSAA support starting with their DX8 cards, it remained an unofficial feature until the GTX2XX series that can be enabled with nHancer and other tools. Unfortunately it used an ordered grid rather then a rotated grid, which is bad for AA and resulted in poorer quality than nvidia's modern MSAA implementations. Starting with fermi, some games performed SSAA in DX10 and DX11 titles instead of MSAA + TrAA due to a bug causing it to apply TrAA to everything instead of only transparent textures. nVidia quickly fixed that bug, but due to its popularity decided to bring it back as an optional feature called SGSSAA, selectable via their SSAA tool. This allows SSAA in DX10 and DX11 games using fermi cards, and DX9 SSAA using any nvidia card (with potentially unplayable performance on some older cards).
What "Sparse Grid" means and how it affects the process is a mystery.

MSAA = Multisample anti-aliasing
http://www.anandtech.com/show/2841/14
MSAA was formed to replace SSAA, it renders an image in the resolution it is meant to be displayed, then it looks for polygon edges and smooths those out. This makes it cheaper to perform, but it has issues with non polygon edges (ex: textures & shadows are not polygons and cannot be antialiased by it).

HRAA = High-Resolution Antialiasing
Quincunx Antialiasing
http://www.nvidia.com/object/feature_hraa.html - the article where nvidia first introduced the terms
HRAA is a buzzword nvidia made to refer to MSAA, their logic was that to maintain playable FPS with SSAA, you had to play at a low resolution. So your choices was either high resolution with no AA, or low resolution with AA. With MSAA you could practically run a form of AA at a higher resolution, hence HRAA.
Quincunx is a the third term that nvidia invented to describe MSAA. Note that all 3 terms (MSAA, HRAA, and Quincunx AA) were first introduced by nVidia in the SAME ARTICLE. Thats right, nvidia invented and used 3 separate terms to refer to the exact same thing in the exact same article (linked above).

Color & Coverage decoupling: CSAA for nVidia, EQAA for AMD
This is done because coverage info takes a mere 4bit per point, while color/z/stencil data takes over 64bit per point. (32bit for color alone).
extending the amount of coverage points over MSAA 4x to be 16x coverage and 4x everything else adds only about 5% work over MSAA 4x while significantly improving IQ (supposedly just under MSAA 16x quality)

CSAA = Coverage Sampling Anti-Aliasing
http://developer.nvidia.com/object/coverage-sampled-aa.html
http://www.anandtech.com/show/2116/9
http://www.guru3d.com/article/nvidia-gf100-fermi-technology-preview/5
nVidia's name for color/coverage decoupling, available since the GeForce 8800
Decouple coverage samples from color/z/stencil samples. There is no information on whether the color sample and coverage samples are in the same location when possible. If they are then CSAA 8xQ is completely identical to MSAA 8x.
Available modes:
CSAA 8x: 4 color samples, 8 coverage samples.
CSAA 8xQ: 8 color samples, 8 coverage samples. Which is just MSAA 8x.
CSAA 16x: 4 color samples, 16 coverage samples. According to guru3d, starting with "either G80 or fermi", this is 8 color and 8 coverage samples.
CSAA 16xQ: 8 color samples, 16 coverage samples.
CSAA 32x: 8 color samples, 24 coverage samples. Fermi+ only.
CSAA 32xQ: ????
SLI8x: ????
SLI8xQ: ????
SLI16x: ????
SLI16xQ: ????
SLI32x: ????
SLI32xQ: ????

VCAA = V (Variable?) Coverage Anti Aliasing.
http://www.pcgameshardware.com/aid,...igher-quality-plus-Nvidia-interview/Practice/
Another name for CSAA

EQAA = Enhanced Quality Anti Aliasing
http://www.maximumpc.com/article/features/amds_power_trip_radeon_hd_6950_and_6970
http://www.blazingpc.com/forum/showthread.php?t=21882
AMD name for color/coverage decoupling, available since Radeon HD69##.
No explanation is given, but from the picture it appears that where MSAA Nx will have N color samples and N coverage samples (same location), EQAA adds additional N coverage samples in different locations (the original N color & coverage are still in the same location as MSAA), for a total of N color samples and 2N coverage samples.
Available modes:
2xEQAA: 2 color samples, 4 coverage samples.
4xEQAA: 4 color samples, 8 coverage samples.
8xEQAA: 8 color samples, 16 coverage samples.

AA of transparent textures is available under the names: AdAA, AAA, TrAA, TAA, and TrSS.
http://alienbabeltech.com/main/?p=3188&page=3
http://www.anandtech.com/show/2841/14
These are done in addition to MSAA, not instead of. You will see something such as "MSAA 4x + TrAA". Which means 4 samples of multi sampling AA + super sampling transparency AA.
In order to save resources, things such as grass, trees (leaves), and chain linked fences (not just those, but those are prime examples) are often rendered as a solid continuous object, with the "holes" then added via a texture that contains both solid and transparent sections. This is a problem with MSAA, because it looks at polygons to know where to smooth, and a "hole" in the texture is not a polygon. This method of AA will super sample the transparent portions of a texture to help decide where to smooth the opaque portions, while leaving the rest of the picture for the much quicker MSAA technique.

AdAA / AAA = Adaptive Anti Aliasing
http://www.pureoverclock.com/printer.php?action=review&id=647&page=2
AMD's name for the above

TrAA / TAA = Transparent (Super Sampling) Anti Aliasing.
http://www.pureoverclock.com/printer.php?action=review&id=647&page=2
nVidia's name for the above

TrSS = Transparency Super Sampling (Anti Aliasing)
http://www.anandtech.com/show/2977/...tx-470-6-months-late-was-it-worth-the-wait-/7
Another name for TrAA

SSTr = Super Sampling Transparency.
http://www.anandtech.com/show/2841/14
Another name for TrAA

nVidia's SSAA on DX10/11 titles via TrAA trick
TrSSAA / TSSAA = Transparency Super Sampling Anti Aliasing
Used to refer to the enabling of SSAA in nvidia fermi cards by tricking it into applying TrAA to everything rather then just transparent textures.
TrMSAA = Transparency Multi Sampling AA
Used to differentiate from the above, implying the normal use of MSAA on polygons + TrAA on transparent textures only. (where shadows do not get anti aliased at all)

Post Processing Type AA
MLAA/MAA = Morphological Anti-Aliasing
http://www.anandtech.com/show/3987/...renewing-competition-in-the-midrange-market/5
http://www.blazingpc.com/forum/showthread.php?t=21882
MLAA is an AA post processing filter applied after rendering. It is (theoretically) the cheapest method of AA, but will produce the worst image quality of any AA method. Introduced with Radeon HD6###, prior to which post processing AA was only available in consoles; Supposedly this is a higher end post processing algorithm then the one found in most console games.
Testing by BFG10K (a Super Moderator here at Anandtech forums) concluded that while theoretically a cheap (computationally) method, in practice "MLAA usually incurs a massive performance hit, more than 8xMSAA or 2xSSAA"

SRAA = Subpixel Reconstruction Antialiasing
http://research.nvidia.com/publication/subpixel-reconstruction-antialiasing
nVidia's response to MLAA. This post processing filter collects sub-pixel data during rendering without affecting the rendering itself, to be used for more accurate post processing.
nVidia claims it will be superior to MLAA, still needs to be tested. On paper, this sounds like it has the potential to provide better image quality at the cost of being less flexible then MLAA; I have yet to see an in depth analysis of it done by any review site. I am not sure if such a method would be more or less costly in terms of performance.

FXAA = Fast Approximate Anti-Aliasing
http://www.hardocp.com/article/2011/07/18/nvidias_new_fxaa_antialiasing_technology
An nVidia made single pass post processing AA. It is significantly faster than MSAA 2x, 4x and MLAA.
It is actually hardware agnostic, capable of running even on AMD GPUs or DX9 games/GPUs.
According to Hardocp it beats the image quality of MSAA 2x and trades blows in image quality with MSAA 4x while being much faster.
How it compares to techniques more modern then MSAA (such as CSAA and TrAA) is as of yet untested.

Currently Eluding Definition:
FSAA = Full-scene anti-aliasing
http://books.google.com/books?id=LJ20tsePKk4C&pg=PA442
This book specifies that FSAA is just SSAA 2x. (render at 2x height, 2x width, and then downscale)
http://homepage.mac.com/arekkusu/bugs/invariance/FSAA.html
This web article specifies that FSAA is MSAA.

"tier Edge Detect AA"
http://www.anandtech.com/show/3987/...renewing-competition-in-the-midrange-market/5

from here: http://forums.anandtech.com/showthread.php?t=2122124&highlight=why+ssaa
there is mention of the following (which are not already listed): AAS, MFSAA, ASS, MDF. Some of which I have seen before but cannot find again.

FAA = Fragment AA
A Matrox technology of unknown properties

SOAA

QSAA

CFAA
AMD Temporal AA - Supposedly AMD has a technology it calls temporal AA.


Making this a sticky, the OP has agreed to maintain it and keep it from going stale. Thanks Taltamir :thumbsup:

Idontcare
Super Mod
 
Last edited:

WelshBloke

Lifer
Jan 12, 2005
30,042
7,522
136
The new AMD one. EQAA? Similar to nvidias CSAA.

Someone should slap both NV and AMD until they sort out some sensible naming system.
 

taltamir

Lifer
Mar 21, 2004
13,576
6
76
Here is a mini guide on how to configure your driver to use the AA settings you want. I will write the nVidia portion since I am using an nVidia GTX260 at the moment. If someone else can write the AMD portion I will add it.

Lets start by taking a look at the nVidia driver control panel. You should go into "manage 3D settings", I will demonstrate via the global settings, but ideally you should modify those on a per program basis.

nVidiaAAGuide1.png


The AA related options are:
1. Antialiasing - Gamma Correction: This option allows gamma correction when running AA on an openGL game.
2. Antialiasing - Mode: see below
3. Antialiasing - Setting: see below
4. Antialiasing - Transparency: see below

nVidiaAAGuide2.png


In "Antialiasing - Mode" you can change the mode of base anti aliasing, your options are:
1. Force off: Forces AA to be off regardless of what the game specifies.
2. Application Controlled: The default option, this leaves AA entirely up to the game.
3. Enhance: Replaces MSAA with CSAA in games that try to run MSAA, if the game turns off AA, then no AA will run.
4. Override: This forces the game to run CSAA regardless of its internal AA setting, even if you turn off AA.

nVidiaAAGuide3.png


"Antialiasing - Setting" will appear if you select enhance or override in the previous option, it lets you select a CSAA mode of operation.
Your options are:
2x: unknown, there is no such CSAA listed in nVidia's own website. My guess is that its just MSAA 2x.
4x: unknown, there is no such CSAA listed in nVidia's own website. My guess is that its just MSAA 4x.
8x: 4 color samples, 8 coverage samples.
8xQ: 8 color samples, 8 coverage samples. - This is just MSAA 8x
16x: 4 color samples, 16 coverage samples.
16xQ: 8 color samples, 16 coverage samples.
If you have a fermi (or presumably some future card) then you will also see:
32x: 8 color samples, 24 coverage samples. Fermi+ only.
32xQ: ????
If you have SLI then more options appear.

nVidiaAAGuide4.png


"Antialiasing - Transparency" option lets you add TrAA to CSAA or MSAA. Explanation of the 3 terms of why you would use them are in the fist part of the this guide.
According to all published info I saw, TrAA is a form of SSAA applied to transparent textures, but for some reason it gives you the option to do MSAA or SSAA on transparent texture. I do not yet know how it would even perform any MSAA on a transparent texture, as theoretically there is nothing that MSAA can do for it. Could it be something like AMD's MLAA?

SGSSAA, first you need to go here: http://nvidia.custhelp.com/cgi-bin/nvidia.cfg/php/enduser/std_adp.php?p_faqid=2624
And download the nVidia tool, it looks like this:

nVidiaAAGuideSSAA.png


This tool is fairly limited in scope. You run it, and it forces SG-SSAA to either off, 2x, 4x, or 8x. If you set it to anything but off, it will override all other AA settings in every DX9 through DX11 game. If you set it to off then normal settings will be used. I do not yet know what exactly each x means. Based on how SSAA works, I am assuming its a multiplier for the resolution.
That is, if your resolution is 1920x1200, you will actually render at 3840x2400 and then scale it down to remove jugged edges. As you can imagine, the cost of performing such a task at 8x is very very high.

------------------------------------------
Below is the original post I made here. I reclaimed this post for further guide use (anything above this line)

Someone should slap both NV and AMD until they sort out some sensible naming system.

ain't that the truth... I volunteer to administer the beating :)

The new AMD one. EQAA? Similar to nvidias CSAA.
Thanks, added it to the list
 
Last edited:

MentalIlness

Platinum Member
Nov 22, 2009
2,383
11
76
I'll be watching this thread as well. It interests me.

I remember when all we had to do was "turn on AA"

My, times have changed.
 

BFG10K

Lifer
Aug 14, 2000
22,481
2,411
126
MLAA is an AA post processing filter applied after rendering. It is the cheapest method of AA, but produces inferior IQ.
From my testing MLAA usually incurs a massive performance hit, more than 8xMSAA or 2xSSAA. It also looks vastly inferior to either scheme.
 

Rifter

Lifer
Oct 9, 1999
11,522
751
126
Nice timing for this thread. I just went SLI 460's and am starting to experiment with the different types of AA especially supersampling now that i have the horsepower to run some of the more advanced AA's.
 

taltamir

Lifer
Mar 21, 2004
13,576
6
76
From my testing MLAA usually incurs a massive performance hit, more than 8xMSAA or 2xSSAA. It also looks vastly inferior to either scheme.

That is interesting. Do you think it is some sort of early driver issue or a fundamental problem of the technology? because this is what anand had to say

MLAA is not a new AA method, but it is the first time we’re seeing it on a PC video card. It’s already in use on video game consoles, where it’s a cheap way to implement AA without requiring the kind of memory bandwidth MSAA requires. In fact it’s an all-around cheap way to perform AA, as it doesn’t require too much computational time either.

For the 6800 series, AMD is implementing MLAA as the ultimate solution to anti-aliasing. Because it’s a post-processing filter, it is API-agonistic, and will work with everything. Deferred rendering? Check. Alpha textures? Done. Screwball games like Bad Company 2 that alias everywhere? Can do! And it should be fast too; AMD says it’s no worse than tier Edge Detect AA mode.

So what’s the catch? The catch is that it’s a post-processing filter; it’s not genuine anti-aliasing as we know it because it’s not operating on the scene as its being rendered. Where traditional AA uses the rendering data to determine exactly what, where, and how to anti-alias things, MLAA is effectively a best-guess at anti-aliasing the final image. Based on what we’ve seen so far we expect that it’s going to try to anti-alias things from time to time that don’t need it, and that the resulting edges won’t be quite as well blended as with MSAA/SSAA. SSAA is still going to offer the best image quality (and this is something AMD has available under DX9), while MSAA + transparency/adaptive anti-aliasing will be the next best method.
 

Lonyo

Lifer
Aug 10, 2002
21,939
6
81
From my testing MLAA usually incurs a massive performance hit, more than 8xMSAA or 2xSSAA. It also looks vastly inferior to either scheme.

Not to mention the frequent destruction of text. It horribly butchers a lot of test in games which regular 'proper' AA modes don't do.
 

nyker96

Diamond Member
Apr 19, 2005
5,630
2
81
I can see you have definitely taking this to another level. good job. but for all intends and purposes CSAA from NV is quite efficient, I use 16xCSAA regularly in games, if not then 8xCSAA. They run pretty as fast as 4xMSAA but offer better quality. the CSAA-Q is just MSAA very resource consuming and visually better but not noticeable once you are using 16xCSAA. So for a balance of speed and quality I find 16xCSAA works great in games.
 

darckhart

Senior member
Jul 6, 2004
517
2
81
i don't know if you covered this up there under a different name, but ATI also has CFAA and temporal AA.
 

taltamir

Lifer
Mar 21, 2004
13,576
6
76
i don't know if you covered this up there under a different name, but ATI also has CFAA and temporal AA.

the goal is to cover every single name, if CFAA or temporal AA are just another name for something on the list they should (and would) still be added, with a note explaining "this is just another name for X".
thank you for listing them, I will add them and research them.
 

BFG10K

Lifer
Aug 14, 2000
22,481
2,411
126
That is interesting. Do you think it is some sort of early driver issue or a fundamental problem of the technology? because this is what anand had to say
I think it's a fundamental problem with the technology given it exhibits similar characteristics in numerous games.
 

BFG10K

Lifer
Aug 14, 2000
22,481
2,411
126
Not to mention the frequent destruction of text. It horribly butchers a lot of test in games which regular 'proper' AA modes don't do.
Yep, console text is particularly bad, in most cases being almost unreadable, even at 2560x1600.
 

taltamir

Lifer
Mar 21, 2004
13,576
6
76
had a few hours, made tremendous progress with this thread. check out OP for latest (and quite significant) edits.
 

Rifter

Lifer
Oct 9, 1999
11,522
751
126
so ive been using the Nvidia SSAA tool to enable SSAA(SGSSAA i guess, dont know what he diff is) and it looks amazing. But even with my 460's at 850Mhz in SLI you still cant set 8x SSAA in the newer demanding games(crysis, BFBC2, MEtro 2033 etc)

I have found that using the SLI AA modes such as 16x or 32x Q makes a HUGE differnce on older games. I was playing ghost recon last night and man for a old game is sure looks good with SLI Q32xAA.
 

taltamir

Lifer
Mar 21, 2004
13,576
6
76
Sorry was referring to AMD's version of temporal AA.

I also addressed that in first post

taltamir said:
Temporal Anti Aliasing
http://en.wikipedia.org/wiki/Temporal_anti-aliasing
A form of anti aliasing that deals with objects appearing to "jump" between frames or appear to overlap in a recorded video due to frame rate being too low. This is not related in any way to Anti Aliasing as it appears in computer graphics.
Some of the issues that fall under temporal (anti) aliasing can be found in video games, but they are referred to as stutter or lag and fall under the umbrella of framerate, not (anti) aliasing.
 

WelshBloke

Lifer
Jan 12, 2005
30,042
7,522
136
I also addressed that in first post

Yeah that not the Temporal AA that AMD had.

They changed the AA grid on different frames, sort of doubled the AA level for free but you had to have vsync enabled and your FPS over 60.(click on the techreport link, they explain it better than I could)

Something like that anyway, it was a long time ago that I used it, just got an AMD card again and I cant find the setting.

Edit: This does re-enforce your point about AA terms being confusing though.
 

taltamir

Lifer
Mar 21, 2004
13,576
6
76
Yeah that not the Temporal AA that AMD had.

They changed the AA grid on different frames, sort of doubled the AA level for free but you had to have vsync enabled and your FPS over 60.(click on the techreport link, they explain it better than I could)

Something like that anyway, it was a long time ago that I used it, just got an AMD card again and I cant find the setting.

Edit: This does re-enforce your point about AA terms being confusing though.

i will investigate it, thanks for the info :)