- 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.
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
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: