Anti-aliasing: Difference between revisions
m (Typos and grammar) |
|||
(92 intermediate revisions by 7 users not shown) | |||
Line 10: | Line 10: | ||
==Overview== | ==Overview== | ||
=== Traditional methods === | === Traditional methods === | ||
* Restore missing details and looks sharper compared to post-processing methods | |||
* More [[expensive]] than post-processing methods (also SSAA is more demanding than MSAA, while produce better result) | |||
* Most newer games (that uses deferred renderer) does not support these methods | |||
* MSAA only: Does not apply anti-aliasing to transparent textures without [[alpha to coverage]] | |||
====SSAA==== | ====SSAA==== | ||
* '''Performance Impact:''' Very High | |||
{{w|Supersampling|'''S'''uper'''S'''ampling '''A'''nti-'''A'''liasing}}, also known as '''Full Scene Anti-Aliasing (FSAA)''' in some games and often interchangeable with the term '''downscaling'''. | {{w|Supersampling|'''S'''uper'''S'''ampling '''A'''nti-'''A'''liasing}}, also known as '''Full Scene Anti-Aliasing (FSAA)''' in some games and often interchangeable with the term '''downscaling'''. | ||
* Technically when implemented correctly, these do differ in that downscaling applies to an entire frame buffer – 2D and 3D Elements, while SSAA/MSAA are techniques only applied internally to 3D elements. In some implementations this can result in a lesser performance impact and better compatibility. | * Technically when implemented correctly, these do differ in that downscaling applies to an entire frame buffer – 2D and 3D Elements, while SSAA/MSAA are techniques only applied internally to 3D elements. In some implementations this can result in a lesser performance impact and better compatibility. | ||
Compared to MSAA, SSAA/FSAA produces the same result as MSAA, but completely reduced stair-step pattern in alpha textures. Additionally, ReShade depth buffer detection works with SSAA. However, SSAA is very [[expensive]] when it comes to performance compared to MSAA, and SSAA is not available as an option in Source by default, but can be enabled below: | Compared to MSAA, SSAA/FSAA produces the same result as MSAA, but completely reduced stair-step pattern in alpha textures, and makes transparent letters (on the container prop) less blurry. Additionally, ReShade depth buffer detection works with SSAA. However, despite it's very high-quality results, SSAA is very [[expensive]] when it comes to performance compared to MSAA, and SSAA is not available as an option in Source by default, but can be enabled below: | ||
On NVIDIA graphics cards, it's implemented as OGSSAA (Ordered Grid Supersample Anti-Aliasing), and can only be enabled through third-party applications such as {{Pcgw|Nvidia Profile Inspector}}, using the following modes: 2x1, 1x2, 2x2, 3x3, 4x4. OGSSAA also only supports Direct3D. | On NVIDIA graphics cards, it's implemented as OGSSAA (Ordered Grid Supersample Anti-Aliasing), and can only be enabled through third-party applications such as {{Pcgw|Nvidia Profile Inspector}}, using the following modes: 2x1, 1x2, 2x2, 3x3, 4x4. OGSSAA also only supports Direct3D. | ||
{{Important|If you are building cubemaps, enabling SSAA (or OGSSAA/downscaling) will cause cubemaps (especially HDR cubemaps) to be built very slowly (even on powerful GPUs). Make sure SSAA (or OGSSAA) is disabled before building cubemaps. | {{Important|If you are building cubemaps, enabling AA through driver level (such as SSAA (or OGSSAA/downscaling), or forcing MSAA through drivers) will cause cubemaps (especially HDR cubemaps) to be built very slowly (even on powerful GPUs). Make sure SSAA (or OGSSAA), or driver-level MSAA is disabled before building cubemaps. This issue is not affected if you enable MSAA in-game.}} | ||
==== Downscaling ==== | ==== Downscaling ==== | ||
'''Downscaling''' or downsampling is a brute-force method for AA, which applies SSAA to both 2D (such as [[HUD]] and UI) and 3D elements by running the game at a higher resolution. It can be enabled on graphics card control panel as NVIDIA DSR or AMD VSR. Unlike SSAA, downscaling will produce blurrier results and does not get rid of the shimmering effect on transparent textures/objects. | '''Downscaling''' or downsampling is a brute-force method for AA, which applies SSAA to both 2D (such as [[HUD]] and UI) and 3D elements by running the game at a higher resolution. It can be enabled on graphics card control panel as NVIDIA DSR or AMD VSR. Unlike SSAA, downscaling will produce slightly blurrier results and does not get rid of the shimmering effect on transparent textures/objects. | ||
Another downside to downscaling is that many older games' UI (such as [[VGUI]] | Another downside to downscaling is that many older games' UI (such as [[VGUI]]) will become smaller at higher resolutions. However, recently {{hl2|1}} and {{hl2dm|1}} (both since 20th anniversary), and aswell as {{tf2|1}} has been updated to allow VGUI to scale properly on higher resolution, while all games since {{l4d|1}} properly scales UI at 4K or higher (except [[Closed Captions|close captioning]] which does not scales in {{l4d|1}}, but does on {{l4d2|1}} and newer titles). | ||
====MSAA==== | ====MSAA==== | ||
{{w|Multisample_anti-aliasing|'''M'''ulti'''S'''ample '''A'''nti-'''A'''liasing}} (MSAA) was the gaming industry standard of anti-aliasing (prior to the TAA gradually replacing MSAA in mid-late 2010s as games transitioned from forward rendering to deferred rendering), and as such is the only | * '''Performance Impact:''' Moderate (2x, 4x) to High (8x) | ||
{{w|Multisample_anti-aliasing|'''M'''ulti'''S'''ample '''A'''nti-'''A'''liasing}} (MSAA) was the gaming industry standard of anti-aliasing (prior to the TAA gradually replacing MSAA in mid-late 2010s as games transitioned from forward rendering to deferred rendering), and as such is the only anti-aliasing available (alongside CSAA on NVIDIA cards prior to Maxwell) in all {{Source|4}} games before {{csgo|4}}, and later available in {{gldsrc|4}} in 2013, with only MSAA 4x being available, which is enabled by default. In {{gldsrc|4}}, the anti-aliasing can be disabled by starting with the {{code|-nomsaa}} launch option. Essentially, if a polygon is crossing a multisample point, or subpixel, it detects how many of its neighboring points are also being intersected, then takes the color of that polygon and adds it over the existing image to create a slightly smother line. This creates a smoother line, but does not completely remove the stair-step pattern (especially on alpha textures that don't use [[$allowalphatocoverage|alpha to coverage]]) without combining FXAA/SMAA/other post-FX AA methods with MSAA. | |||
Games that use [[Deferred lighting|deferred rendering]] will have higher performance impact than forward rendering when using MSAA, and MSAA are not as effective on games using deferred rendering. This is one of the reasons why {{bms|1}}, and {{apex|1}} does not support MSAA. | |||
All GoldSrc, Source and Source 2 games contain 3 different settings of MSAA, which include: | All GoldSrc, Source and Source 2 games contain 3 different settings of MSAA, which include: | ||
*2x | *2x | ||
*4x - Default level in post-[[SteamPipe]] {{gldsrc|2}} (can be enhanced in GPU control panels) | *4x - Default level in post-[[SteamPipe]] {{gldsrc|2}} (can be enhanced in GPU control panels), aswell default on {{hl2}} post-20th anniversary | ||
*8x - Very [[expensive]] on older/low-end hardware. Introduced in Source 2006. You can enable 8x MSAA in Source 2004 by using the {{code|mat_antialias 8}} console command, or force it through driver settings.{{Cite|1}} | *8x - Very [[expensive]] on older/low-end hardware. Introduced in Source 2006. You can enable 8x MSAA in Source 2004 by using the {{code|mat_antialias 8}} console command, or force it through driver settings.{{Cite|1}} | ||
Line 36: | Line 44: | ||
{{Warning|If MSAA is enabled, ReShade depth buffer detection will stop working, which means that you are unable to use some AA methods, for example (such as some versions of TAA), or even shaders such as SSAO in general.}} | {{Warning|If MSAA is enabled, ReShade depth buffer detection will stop working, which means that you are unable to use some AA methods, for example (such as some versions of TAA), or even shaders such as SSAO in general.}} | ||
{{Note|Previous version of engine branch, {{src04|2}}, has an option for MSAA 6x. This setting of MSAA does not work on modern graphics cards or newer drivers, and was replaced by MSAA 8x.}} | {{Note|Previous version of engine branch, {{src04|2}} (before [[Source_2004#Since_Lost_Coast_&_DOD:S_engine_update|late 2005 update]]), has an option for MSAA 6x. This setting of MSAA does not work on modern graphics cards or newer drivers, and was replaced by MSAA 8x.}} | ||
{{note|[[$allowalphatocoverage| | {{note|[[$allowalphatocoverage|Alpha to coverage]] requires MSAA, as it is a multisampling method. Alternatively, SSAA or SGSSAA (the latter is MSAA combined with transparency SSAA) can be used instead to reduce jagged edges on alpha textures and objects.}} | ||
{{Note|In {{titanfall2|1}}, MSAA is only available if Adaptive Resolution and Adaptive Supersampling was disabled, otherwise TAA will be forced.}} | |||
==== MSAA enhanced (Nvidia SGSSAA / AMD Adaptive AA)<span id="SGSSAA"></span><span id="AMD Adaptive AA"></span> ==== | |||
* '''Performance Impact:''' High (2x, 4x) to Very High (8x) | |||
On system {{nvidia|1}} and {{amd|1}} graphics card, MSAA can be enhanced with two methods: | |||
:{{nvidia}} '''S'''parse '''G'''rid '''S'''uper-'''S'''ampling '''A'''nti-'''A'''liasing ('''SGSSAA''') | |||
:{{amd}} '''Adaptive AA''' | |||
Both are improved version of regular SSAA (or OGSSAA), by enhancing MSAA with TrSSAA ('''Transparency SSAA'''). | |||
This AA method produce good results and makes distant texture looks significantly sharper (compared to downscaling methods like NVIDIA DSR/AMD VSR), it also produces more detail than OGSSAA (or regular SSAA), and transparent textures will look better and properly anti-aliased than using [[alpha to coverage]] (which creates noticeable shimmering on far distance, and dithering when looking closer). Additionally, all transparent texture which did not use alpha to coverage also get anti-aliased. | |||
However, like SSAA (OGSSAA), this method is also very demanding even on powerful graphics card, especially at 8x setting. A powerful graphics card like GeForce RTX 3060 (or GTX 1080 Ti) can handle atleast 100-150 FPS with 8x SGSSAA at 1080p, but when looking at particle effects, it can go down to 24-30 FPS. | |||
{{Note|If you are [[Cubemaps#Building cubemaps|building cubemaps]], you must disable SGSSAA/Adaptive AA, or switch to Vulkan, as SGSSAA/Adaptive AA can cause building cubemaps speed to be very slow.}} | |||
{{Note|These anti-aliasing method does not work with [[Vulkan]], as Vulkan is a low-level API that bypass any settings applied by graphics card control panel/drivers.}} | |||
{{expandBox|title=How to enable SGSSAA anti-aliasing (Nvidia)|1= | |||
Enabling this method requires third-party application such as [https://github.com/Orbmu2k/nvidiaProfileInspector/releases NVIDIA Profile Inspector], and changing the "Antialiasing - Compatibility (DX9)" flag & LOD bias to allow SGSSAA to work. | |||
To enable SGSSAA anti-aliasing, follow these instructions: | |||
# Open NVIDIA Profile Inspector | |||
# Select the game profile, in this case, "Half-Life 2" for Half-Life 2 (including it's episodes and Lost Coast). | |||
# Set Antialiasing - Compatibility (DX9) flag, see below for list of games/branch and their respective flag. In this case for Half-Life 2, use 0x000000C1 (or 0x004000C1 if ReShade is installed). | |||
# Set Negative LOD to "Allow", then set LOD Bias (DX) to -1.0 (for 4x), or -1.5 (for 8x). This will make texture sharper when using SGSSAA. | |||
# Set Anti-aliasing (MSAA) Mode to "Override any application setting", 4x [4x Multisampling] or 8xQ [8x Multisampling], and set Transparency Supersampling to 4x or 8x (must match MSAA settings). | |||
# Finally, disable in-game Anti-aliasing or use {{code|mat_alphacoverage 0}} to disable alpha to coverage. Done. | |||
{{Note|When using SGSSAA, make sure the in-game MSAA option is turned off (if you choose to override the AA settings in GPU drivers control panel/NVIDIA Profile Inspector), or if you enable transparency AA (forced through GPU drivers) while having in-game MSAA option enabled, make sure alpha to coverage is disabled (using {{code|mat_alphacoverage 0}}) to avoid some transparent textures shimmering due to SGSSAA conflicting with alpha to coverage.}} | |||
{{Note|All {{tf2branch|1}} games ({{css}}, {{dods}}, {{hl2dm}} and {{hldms}}), now have different executable name, and also had a 64-bit executable ({{code|cstrike_win64.exe}}, {{code|dod_win64.exe}}, etc.), so you will need to add the new executable name into driver profile first (in Nvidia Profile Inspector), before you can use SGSSAA anti-aliasing. This is also true for any Source engine games with different executable name, like {{gmod|1}}, which use either {{code|hl2.exe}} or {{code|gmod.exe}}. | |||
To enable SGSSAA in {{hl2|1}} (including it's episodes), and {{hls|1}}, you will need to select "Half-Life 2" profile on NVIDIA Profile Inspector and change it settings here. To enable SGSSAA on any other Source games sharing {{code|hl2.exe}} executable name, select "Half Life: Source"{{sic}}. | |||
}} | |||
==== | <table cellpadding="4" style="background-color:#202020; border:2px solid #525252; border-radius:4px; margin:4px auto"> | ||
<tr> | |||
<th style="background-color: #323232<!-- fallback-->; background: linear-gradient(to bottom, #323232 0%,#201F1E 100%); font-size:110%; color:white; width:7%; border-radius:2px 0 0 0"> Game </th> | |||
<th style="background-color: #323232<!-- fallback-->; background: linear-gradient(to bottom, #323232 0%,#201F1E 100%); font-size:110%; color:white"> AA Flag & LOD Bias setting </th> | |||
</tr> | |||
<tr> | |||
<td style="background-color:#3A3A3A"> All </td> | |||
<td style="background-color:#3A3A3A"> LOD Bias: Set Negative LOD to "Allow", then set the following value:<br>2xSGSSAA (2 samples): -0.5<br>4xSGSSAA (4 samples): -1.0 <br>8xSGSSAA (8 samples): -1.5 </td> | |||
</tr> | |||
<tr> | |||
<td style="background-color:#3A3A3A"> {{src04|1}} - {{src13|1}} </td> | |||
<td style="background-color:#3A3A3A"> 0x000000C1<br>0x004000C1 (if ReShade is installed)<br>0x004010C1 ({{portal|1}}) </td> | |||
</tr> | |||
<tr> | |||
<td style="background-color:#3A3A3A"> {{l4dbranch|1}} and above </td> | |||
<td style="background-color:#3A3A3A"> 0x000000C0<br>0x004000C0 (if ReShade is installed)<br>0x004010C0 ({{portal2|1}}) </td> | |||
</tr> | |||
<tr> | |||
<td style="background-color:#3A3A3A"> All [[Direct3D]] 11 ([[DirectX Versions#DirectX_11|DX11]]) Source games </td> | |||
<td style="background-color:#3A3A3A"> Compatibility flag not required, but you might need to enable MSAA in-game (even if you override it, unlike DX9 which can force AA even if MSAA is off in-game). </td> | |||
</tr> | |||
</table><!-- End of Table --> | |||
}} | |||
{{expandBox|title=How to enable Adaptive Anti-Aliasing (AMD)|1= | |||
To enable AMD Adaptive AA, follow these instructions: | |||
#Open the game and change the in-game MSAA settings to 4x or 8x. | |||
#Minimize the game and open AMD Software Adrenalin Edition. | |||
#It should show the game that's open. Click on adjust game graphics under "CURRENT SESSION". | |||
#If the game can't be seen, then the game may have to be added to the software through the Gaming tab. | |||
#Click on the back button if the tab goes to a specific game. | |||
#Click on the more options button at the far right. | |||
#Locate and add the executable for the game. | |||
#Scroll down and click on Advanced. | |||
#Change Anti-Aliasing to Enhance application settings. Change Anti-Aliasing Method to Supersampling. Change Texture Filtering Quality to High. | |||
#Restart the game. | |||
}} | |||
{{ | ==== CSAA{{ClassicDeprecated}} {{nvidia}}<span id="CSAA"> ==== | ||
'''C'''overage '''S'''ampling '''A'''nti-'''A'''liasing ('''CSAA''') was an NVIDIA-exclusive method of anti-aliasing, introduced with the [[WP:GeForce 8 series|GeForce 8 Series]] (2006). It aims to further reduce the additional stress that [[#MSAA|MSAA]] puts on the system, with NVIDIA claiming that a CSAA-rendered image will rival 8x-16x MSAA while only putting a load on the system comparable to 4x MSAA. It does this by reducing the number of settings each sample determines (by creating a new sample for coverage) while increasing the overall number of samples. | |||
However, by the release of Maxwell-based GPUs such as [[WP:GeForce 700 series|GTX 745, 750 & 750 Ti]], [[WP:GeForce 800M series|GTX 800M]]/[[WP:GeForce 900 series|900 series]] in 2014, and newer NVIDIA graphics card drops support for CSAA completely, as '''M'''ulti-'''F'''rame '''A'''nti-'''A'''liasing ('''MFAA''') completely succeeded it, a method which has it's own limitations and only works with Direct3D 11 games.{{Cite|2}} | |||
{{Src|4}} itself natively support CSAA since {{Src04|2}} (after {{dods}}/{{hl2lc}} engine update in September 2005). | |||
There are 3 different settings of CSAA, which include: | |||
*8x (MSAA 8x quality, with MSAA 4x performance) | |||
*16x (MSAA 16x quality, with MSAA 4x performance) | |||
*16xQ (MSAA 16x quality, with MSAA 8x performance) | |||
{{Note|CSAA 8xQ ''is'' MSAA 8x.}} | |||
=== Post-processing methods === | === Post-processing methods === | ||
* Produces blurrier result and does not restore missing details compared to traditional methods | |||
* [[Cheap]], with little to no performance loss compared to traditional methods | |||
* Only available on {{src07|1}} (Software AA), {{csgo|1}} (FXAA), but it can be easily implemented to any game using [[Source shader editor]] or '''[https://reshade.me/ ReShade]'''. | |||
* Does apply anti-aliasing to all transparent textures. | |||
==== Software AA ==== | ==== Software AA ==== | ||
{{Src07|since}} | {{Src07|since}} | ||
All Source engine games since {{src07|3.1}} introduced software AA, which blurs the jagged edges (similar to FXAA or other post-processing AA). | All Source engine games since {{src07|3.1}} introduced software AA, which blurs the jagged edges (similar to FXAA or other post-processing AA). On PC, it currently only works on Source 2007 games (tested on {{bms|1}} 2012/mod version). | ||
Software AA is also supported (and used) in {{360|3.1}} port of Source engine games. | Software AA is also supported (and used) in {{360|3.1}} and {{switch|3.1}} port of Source engine games. Unlike other anti-aliasing, this can be only toggled through console commands ({{code|mat_software_aa_strength}}). | ||
{{Bug|since= | {{Bug|since=src09|Software AA is currently broken in all {{Src09|1}}, {{Src13|1}} games (PC only). It is also broken (or non-functional) in {{l4dbranch|1}}{{cite|3}} and above.<br>However this bug does not apply to console port (such as {{p3|1}} cancelled {{360|1}} port which runs on Source 2009, and {{portal|1}} on {{switch|1}} which runs on modified Source 2013 SP.)|tested={{hl2}}, {{portal}}, {{l4dbranch}}, {{p2branch}}, {{srcsdk13|1|nt=0}}.}} | ||
====FXAA==== | ====FXAA==== | ||
{{w|Fast_approximate_anti-aliasing|'''F'''ast '''A'''pproximate '''A'''nti-'''A'''liasing}} (FXAA) is a post-processing anti-aliasing with a low performance cost. The main advantage of this technique over regular anti-aliasing is that it doesn't require a lot of computing power, and is also capable of smoothing out alpha-blended textures (aka transparent textures). | * '''Performance Impact:''' Very Low | ||
{{w|Fast_approximate_anti-aliasing|'''F'''ast '''A'''pproximate '''A'''nti-'''A'''liasing}} (FXAA) is a post-processing anti-aliasing with a very low performance cost. The main advantage of this technique over regular anti-aliasing is that it doesn't require a lot of computing power, and is also capable of smoothing out alpha-blended textures (aka transparent textures). | |||
Its main drawback is that it blurs the final image, so textures will look less sharp, and plus, they don't recover the missing pixel (or [[$allowalphatocoverage|alpha to coverage]]) without using FXAA with MSAA simultaneously (or by downscaling). | Its main drawback is that it blurs the final image, so textures will look less sharp, and plus, they don't recover the missing pixel (or [[$allowalphatocoverage|alpha to coverage]]) without using FXAA with MSAA simultaneously (or by downscaling). | ||
Regular {{Source|4}} (prior to {{csgobranch|2}}, or in third-party engine branch such as {{xengine|2}}) doesn't have support for it but as FXAA is a '''post-processing effect''', it can easily be implemented like with the [[Source shader editor]] or with '''[https://reshade.me/ ReShade]'''. | Regular {{Source|4}} (prior to {{csgobranch|2}}, or in third-party engine branch such as {{xengine|2}}) doesn't have support for it but as FXAA is a '''post-processing effect''', it can easily be implemented like with the [[Source shader editor]] or with '''[https://reshade.me/ ReShade]'''. | ||
Line 62: | Line 151: | ||
====MLAA==== | ====MLAA==== | ||
* '''Performance Impact:''' Very Low | |||
{{W|Morphological antialiasing|'''M'''orpho'''l'''ogical '''A'''nti-'''A'''liasing}} (MLAA) is a post-processing anti-aliasing typically available on AMD cards, but it can be used with any other graphics card. It's similar to NVIDIA's FXAA but has a higher performance cost, but is less demanding compared to MSAA. It's used in {{ps3|2}} version of {{p2|1}}. | {{W|Morphological antialiasing|'''M'''orpho'''l'''ogical '''A'''nti-'''A'''liasing}} (MLAA) is a post-processing anti-aliasing typically available on AMD cards, but it can be used with any other graphics card. It's similar to NVIDIA's FXAA but has a higher performance cost, but is less demanding compared to MSAA. It's used in {{ps3|2}} version of {{p2|1}}. | ||
{{MConfirm|What about {{csgo|4}} on PS3?}} | {{MConfirm|What about {{csgo|4}} on PS3?}} | ||
====SMAA==== | ====SMAA==== | ||
'''S'''ubpixel '''M'''orphological '''A'''nti-'''A'''liasing (SMAA) works similarly to FXAA or MLAA (which is what SMAA was based off), but results in much better image quality than both FXAA and MLAA, while also taking little performance impact. There are currently no {{goldsrc|1}}, {{source|1}} or {{source2|1}} games using this AA method, but users can add SMAA by using ReShade or [[Source Shader Editor]] | * '''Performance Impact:''' Low | ||
'''S'''ubpixel '''M'''orphological '''A'''nti-'''A'''liasing (SMAA) works similarly to FXAA or MLAA (the latter which is what SMAA was based off), but results in much better image quality than both FXAA and MLAA, while also taking little performance impact. There are currently no {{goldsrc|1}}, {{source|1}} or {{source2|1}} games using this AA method, but users can add SMAA by using ReShade or [[Source Shader Editor]]. | |||
====CMAA==== | ====CMAA==== | ||
* '''Performance Impact:''' Low | |||
{{w|Conservative_morphological_anti-aliasing|'''C'''onservative '''M'''orphological '''A'''nti- '''A'''liasing}} (CMAA) | {{w|Conservative_morphological_anti-aliasing|'''C'''onservative '''M'''orphological '''A'''nti- '''A'''liasing}} (CMAA) | ||
is an image-based post-processing technique originally developed by Filip Strugar at Intel. CMAA uses 4 main steps to reduce aliasing: | is an image-based post-processing technique originally developed by Filip Strugar at Intel. CMAA uses 4 main steps to reduce aliasing: | ||
Line 93: | Line 173: | ||
{{note|When {{csgo|4}} got ported to {{src2|4}} (and renamed to {{cs2|4}}), (FXAA) support was removed and (CMAA) was implemented in its place, with the ability to use it alongside MSAA removed.}} | {{note|When {{csgo|4}} got ported to {{src2|4}} (and renamed to {{cs2|4}}), (FXAA) support was removed and (CMAA) was implemented in its place, with the ability to use it alongside MSAA removed.}} | ||
=== Temporal methods and upscaling <span id="Temporal methods"></span>=== | |||
* While producing result similar to SSAA, TAA/TSSAA restore missing details by jittering the image which combines the information from past and current frames, while TXAA restore missing details by using MSAA. | |||
* Temporal methods, when in motion, also produces blurrier image and create ghosting effect noticable with lower framerate and/or resolutions. | |||
* Like post-processing methods, [[cheap]], with little to no performance loss compared to traditional methods | |||
* Aside from TAA, temporal-based upscaling techniques are also available, which can increase performance by internally rendering the game at lower resolutions, then use AI to upscale the image. | |||
* Does apply anti-aliasing to all transparent textures. | |||
====TAA/TSSAA<span id="TAA"></span>==== | |||
* '''Performance Impact:''' Very Low | |||
{{w|Temporal_anti-aliasing|'''T'''emporal '''A'''nti '''A'''liasing}} (TAA) is an anti-aliasing technique that reduces shimmering or flickering effects by smoothing the frame when in motion. There are multiple implementations of TAA, but the most common one is '''TSSAA''' ('''T'''emporal '''S'''uper-'''S'''ampling '''A'''nti-'''A'''liasing) which combines information from past frames (usually 8 frames) and the current frame, while also slightly jittering to smooth the current frame. Each pixel is sampled once per frame but in each frame the sample is at a different location within the pixel. Pixels sampled in past frames are blended with pixels sampled in the current frame to produce an anti-aliased image. | |||
While being cheaper to calculate than MSAA, and produces image similar to super sampling anti-aliasing (SSAA) or downscaling, its main drawback is that it can cause ghosting and blurriness to the image, especially when in motion, noticeable with lower framerate or resolution, depending on the implementation ([https://www.youtube.com/watch?v=GJ0eFYJYkkw Example here]). Some of the drawbacks can be mitigated by adding a sharpening filter. | |||
As of mid 2010s, it's the current gaming industry standard of anti-aliasing (alongside [[Anti-aliasing#FXAA|FXAA]] for weaker hardware) with many modern games (except many VR and mobile games) and modern engines (like {{ue|1}} 4/5) started to use TAA as most modern games transitioned from forward rendering to deferred rendering, which allows many lights to be rendered without a significant performance hit, and because MSAA is harder to implement on deferred rendering yet produce worse result than games using forward rendering. Some games use TAA to hide dithering or noisy effect (such as SSAO, soft shadows or ray tracing), leading to some titles forcing TAA to be enabled, providing no options to disable it in-game outside console commands or editing configuration files (if possible). | |||
{{apex|2}} as well as {{Titanfall2|2}} are the only two [[Source]] games that uses TAA (TSSAA), while {{Titanfall|1}} uses older TAA technique called TXAA which requires MSAA to function. | |||
==== FSR (and FSR Native AA), DLSS (and DLAA), XeSS (and XeSS Native AA) ==== | |||
Aside from TAA, modern games also comes with upscaling techniques, which has it's own version of TAA anti-aliasing, but also improves performance by reducing the game resolutions and makes smaller resolution image appear sharper through the use of image upscaling algorithms like {{nvidia|1}}'s DLSS ('''D'''eep '''L'''earning '''S'''uper '''S'''ampling), {{amd|1}}'s FSR ('''F'''idelityFX '''S'''uper '''R'''esolution) and {{intel|1}} XeSS ('''Xe''' '''S'''uper '''S'''ampling). Depending on the game (but can be also forced through graphics card control panel), the upscaling feature of DLSS, FSR and XeSS can be turn off, leaving the anti-aliasing part, known as Nvidia DLAA ('''D'''eep '''L'''earning '''A'''nti-'''A'''liasing), AMD FSR Native AA and XeSS Native AA enabled. Unlike regular TAA, all 3 techniques are likely to be more stable in motion, and produce slightly sharper image. | |||
There are also other upscaling technique which are not vendor-specific, and can be run on any graphics card (whether the hardware support DLSS/FSR or not), like TAAU ('''T'''emporal '''A'''nti-Aliasing '''U'''psample) and it's successor, TSR ('''T'''emporal '''S'''uper '''R'''esolution). | |||
{{portalrtx|1}}, {{hl2rtx|1}} and all other [[RTX Remix]] games use DLSS (or DLAA) for anti-aliasing and upscaling. One upcoming Source 2 game made by [[Valve]], {{deadlock|1}}, supports TAA through '''AMD FSR 2''', '''FSR 3''' (first two are Native AA) and Nvidia '''DLSS 4.0''' (or '''DLAA'''). {{apex|1}} uses TAAU for upscaling. | |||
==== TXAA ==== | |||
* '''Performance Impact:''' Moderate | |||
'''TXAA''' is an older form of TAA that creates a smoother image by combining MSAA with {{nvidia|4|linkto=nvidia}}-designed temporal filters. TXAA is supported with Nvidia GeForce GTX 600 series or higher. TXAA can be operate without MSAA, but many games that implement TXAA, including Titanfall, forces MSAA enabled in order to enable TXAA. | |||
TXAA support 4 different settings, but many games including Titanfall only features TXAA 2x and 4x: | |||
*0x - Disables MSAA and leaving temporal filter enabled. | |||
*2x - Same as MSAA 2x with temporal filter enabled. | |||
*4x - Same as MSAA 4x with temporal filter enabled. | |||
*8x - Same as MSAA 8x with temporal filter enabled. | |||
==Media== | ==Media== | ||
Line 107: | Line 219: | ||
=== {{source|3.1}} === | === {{source|3.1}} === | ||
==== Closeup ==== | |||
This image shows how each anti-aliasing methods affect text, details, transparent textures (both non-alpha to coverage and [[alpha to coverage]]). | |||
In MSAA, only some transparent textures (that uses alpha to coverage) are anti-aliased, however SSAA (both SGSSAA and regular SSAA) significantly produces better AA results for transparent textures, but is more [[expensive]]. | |||
Post-processing methods like FXAA and SMAA produces inferior results compared to MSAA, which can result in blurry or softer image while also does not solve shimmering, but they generally results in better performance than any traditional methods (like MSAA), making it useful on lower-end devices. | |||
<div style=width:100%;overflow:auto> | <div style=width:100%;overflow:auto> | ||
{| | {| class=standard-table | ||
|[[File:No antialias.png| | |- | ||
|[[File:2xmsaa demo.png| | | [[File:No antialias.png|256px|thumb|center|No anti-aliasing]] || [[File:2xmsaa demo.png|256px|thumb|center|2x MSAA]] || [[File:4xmsaa demo.png|256px|thumb|center|4x MSAA]] || [[File:8xmsaa demo.png|256px|thumb|center|8x MSAA]] | ||
|[[File:4xmsaa demo.png| | |- | ||
|[[File:8xmsaa demo.png| | | [[File:Fxaa demo.png|256px|thumb|center|FXAA through ReShade]] || [[File:SMAA demo.png|256px|thumb|center|SMAA through ReShade]] || [[File:SGSSAA_anti-aliasing_demo.png|256px|thumb|center|SGSSAA (8x MSAA with 8x Transparency MSAA, TrMSAA for short), transparent text and some transparent textures are fully detailed, and less aliasing.]] || [[File:SSAA_4x4_anti-aliasing.png|256px|thumb|center|SSAA 4x4 (similar result to SGSSAA, but more demanding)]] | ||
|[[File:Fxaa demo.png| | |||
|} | |} | ||
==== Software AA ==== | ==== Software AA ==== | ||
<div style=width:100%;overflow:auto> | <div style=width:100%;overflow:auto> | ||
Line 124: | Line 242: | ||
</div> | </div> | ||
==== {{bms|name}} ==== | ==== {{bms|name}} ==== | ||
; Multisampling | |||
{| border="0" cellpadding="4" | {| border="0" cellpadding="4" | ||
|[[File:Anti-aliasing - BMS - None.jpg|300px|thumb|center|No anti-aliasing (Click to enlarge)]] | |[[File:Anti-aliasing - BMS - None.jpg|300px|thumb|center|No anti-aliasing (Click to enlarge)]] | ||
Line 129: | Line 248: | ||
|[[File:Anti-aliasing - BMS - MSAA 4X.jpg|300px|thumb|center|4x MSAA (Click to enlarge)]] | |[[File:Anti-aliasing - BMS - MSAA 4X.jpg|300px|thumb|center|4x MSAA (Click to enlarge)]] | ||
|[[File:Anti-aliasing - BMS - MSAA 8X.jpg|300px|thumb|center|8x MSAA (Click to enlarge)]] | |[[File:Anti-aliasing - BMS - MSAA 8X.jpg|300px|thumb|center|8x MSAA (Click to enlarge)]] | ||
|} | |} | ||
; Post-processing | |||
{| border="0" cellpadding="4" | {| border="0" cellpadding="4" | ||
|[[File:Anti-aliasing - BMS - FXAA.jpg|300px|thumb|center|FXAA through ReShade (Click to enlarge)]] | |||
|[[File:Anti-aliasing - BMS - FXAA_+_MSAA_8X.jpg|300px|thumb|center|FXAA through ReShade, in conjunction with 8x MSAA.<br>This produces a very good result without downscaling/SSAA which reduces performance, but at the cost of making the image blurrier, unless a sharpening filter is also used. It's also the default AA settings in CS:GO when launching for the first time.]] | |[[File:Anti-aliasing - BMS - FXAA_+_MSAA_8X.jpg|300px|thumb|center|FXAA through ReShade, in conjunction with 8x MSAA.<br>This produces a very good result without downscaling/SSAA which reduces performance, but at the cost of making the image blurrier, unless a sharpening filter is also used. It's also the default AA settings in CS:GO when launching for the first time.]] | ||
|[[File:Anti-aliasing - BMS - SMAA.jpg|300px|thumb|center|SMAA through ReShade (Click to enlarge)]] | |[[File:Anti-aliasing - BMS - SMAA.jpg|300px|thumb|center|SMAA through ReShade (Click to enlarge)]] | ||
|[[File:Anti-aliasing - BMS - SMAA_+_MSAA_8X.jpg|300px|thumb|center|SMAA through ReShade, in conjunction with 8x MSAA. (Click to enlarge)<br>Similar to FXAA with 8x MSAA, except less blurrier image.]] | |[[File:Anti-aliasing - BMS - SMAA_+_MSAA_8X.jpg|300px|thumb|center|SMAA through ReShade, in conjunction with 8x MSAA. (Click to enlarge)<br>Similar to FXAA with 8x MSAA, except less blurrier image.]] | ||
|[[File:Anti-aliasing - BMS - | |} | ||
; Supersampling | |||
{| border="0" cellpadding="4" | |||
|[[File:Anti-aliasing - BMS - SGSSAA 8x.jpg|300px|thumb|center|SGSSAA (Click to enlarge)<br>Produce good result, with the jagged edges on the towers completely gone, at the cost of performance.]] | |||
|[[File:Anti-aliasing - BMS - SSAA 4X4.jpg|300px|thumb|center|SSAA (or OGSSAA) 4x4 (Click to enlarge)<br>Similar to SGSSAA but used ordered grid.]] | |||
|[[File:Anti-aliasing - BMS - 16xS.jpg|300px|thumb|center|16xS (SSAA 2x2 & MSAA 4X) (Click to enlarge)<br>Similar to SSAA 4x4, although less demanding.]] | |[[File:Anti-aliasing - BMS - 16xS.jpg|300px|thumb|center|16xS (SSAA 2x2 & MSAA 4X) (Click to enlarge)<br>Similar to SSAA 4x4, although less demanding.]] | ||
|[[File:Anti-aliasing - BMS - Nvidia DSR.jpg|300px|thumb|center|Nvidia DSR, producing SSAA-like result.]] | |||
|} | |} | ||
==== {{titanfall2|name}} ==== | ==== {{titanfall2|name}} ==== | ||
Line 144: | Line 269: | ||
|[[File:Anti-aliasing - Titanfall 2 - 4x MSAA.jpg|300px|thumb|center|4x MSAA (Click to enlarge)]] | |[[File:Anti-aliasing - Titanfall 2 - 4x MSAA.jpg|300px|thumb|center|4x MSAA (Click to enlarge)]] | ||
|[[File:Anti-aliasing - Titanfall 2 - 8x MSAA.jpg|300px|thumb|center|8x MSAA (Click to enlarge)]] | |[[File:Anti-aliasing - Titanfall 2 - 8x MSAA.jpg|300px|thumb|center|8x MSAA (Click to enlarge)]] | ||
|[[File:Anti-aliasing - Titanfall 2 - TSAA.jpg|300px|thumb|center| | |[[File:Anti-aliasing - Titanfall 2 - TSAA.jpg|300px|thumb|center|Temporal AA / TSSAA(Click to enlarge)]] | ||
|} | |} | ||
</div> | </div> | ||
Line 166: | Line 291: | ||
{| class="sortable" style="overflow: hidden; border-radius:.4em; border:2px solid #525252" | {| class="sortable" style="overflow: hidden; border-radius:.4em; border:2px solid #525252" | ||
|- style="white-space:nowrap; background-color:{{src|col}}4e; color:#FFF" | |- style="white-space:nowrap; background-color:{{src|col}}4e; color:#FFF" | ||
! style="min-width:25em" | Game !! style="min-width:5em" | FXAA !! style="min-width:5em" | | ! style="min-width:25em" | Anti-aliasing types !! colspan=3;style="min-width:5em" | Post-processing !! colspan=3;style="min-width:5em" | Spatial !! style="min-width:5em" | Temporal | ||
|- style="white-space:nowrap; background-color:{{src|col}}4e; color:#FFF" | |||
! style="min-width:25em" | Game / Branch !! style="min-width:5em" | FXAA !! style="min-width:5em" | MLAA !! style="min-width:5em" | Software AA !! style="min-width:5em" | MSAA !! style="min-width:5em" | CSAA (NVIDIA) !! style="min-width:5em" | EQAA (AMD) !! style="min-width:5em" | TAA | |||
|- bgcolor="#3A3A3A" | |- bgcolor="#3A3A3A" | ||
| {{src04|4}}< | | {{src04|4}} || <!--FXAA -->{{No}} || <!-- MLAA -->{{No}} || <!-- SWAA -->{{N/A}} || <!--MSAA-->{{Yes|2x, 4x, 6x</br>8x (since 2006)</br>Enhanceable with SGSSAA}} || <!--CSAA-->{{N/A|Supported since January 2006 version of Source 2004</br>[https://www.nvidia.com/en-us/geforce/forums/discover/170752/very-few-anti-aliasing-options/ Older NVIDIA GPUs/drivers only]}} || <!--EQAA-->{{No}} || <!--TAA-->{{No}} | ||
|- bgcolor="#3A3A3A" | |- bgcolor="#3A3A3A" | ||
| {{ | | {{src06|4}}</br>{{srcsdk06|4}} || <!--FXAA -->{{No}} || <!-- MLAA -->{{No}} || <!-- SWAA -->{{N/A}} || <!--MSAA-->{{Yes|2x, 4x, 8x</br>Enhanceable with SGSSAA}} || <!--CSAA-->{{N/A|[https://www.nvidia.com/en-us/geforce/forums/discover/170752/very-few-anti-aliasing-options/ Older NVIDIA GPUs/drivers only]}} || <!--EQAA-->{{No}} || <!--TAA-->{{No}} | ||
|- bgcolor="#3A3A3A" | |- bgcolor="#3A3A3A" | ||
| {{ | | {{src07|4}}</br>{{srcsdk07|4}} || <!--FXAA -->{{No}} || <!-- MLAA -->{{No}} || <!-- SWAA -->{{Yes|Always enabled {{360}}<br>Disabled by default (PC)}} || <!--MSAA-->{{Yes|2x, 4x, 8x</br>Enhanceable with SGSSAA}} || <!--CSAA-->{{N/A|[https://www.nvidia.com/en-us/geforce/forums/discover/170752/very-few-anti-aliasing-options/ Older NVIDIA GPUs/drivers only]}} || <!--EQAA-->{{No}} || <!--TAA-->{{No}} | ||
-- | |||
|- bgcolor="#3A3A3A" | |- bgcolor="#3A3A3A" | ||
| {{ | | {{src09|4}}/{{srcmp|4}}<br>{{src13|4}}</br>{{srcsdk13|4}}</br>{{tf2branch|4}}<!-- | ||
--><br>{{asbranch|4}}<br>{{asrd|4}}<br>{{l4dbranch|4}} || <!--FXAA -->{{No}} || <!-- MLAA -->{{No}} || <!-- SWAA -->{{Yes|Always enabled (1x strength {{360}})<!-- confirmed on Postal 3 cancelled x360 port only, not sure about Zeno clash. --><br>Always enabled (4x strength, {{portal}} {{switch}})<!-- portal companion collection--><br>Broken/non-functional (PC)}} || <!--MSAA-->{{Yes|2x, 4x, 8x</br>Enhanceable with SGSSAA}} || <!--CSAA-->{{N/A|[https://www.nvidia.com/en-us/geforce/forums/discover/170752/very-few-anti-aliasing-options/ Older NVIDIA GPUs/drivers only]}} || <!--EQAA-->{{No}} || <!--TAA-->{{No}} | |||
|- bgcolor="#3A3A3A" | |- bgcolor="#3A3A3A" | ||
| {{ | | {{portal2branch|4}}<br>{{p2d|4}}{{confirm}} || <!--FXAA -->{{No}} || <!-- MLAA -->{{Yes}} (PS3) || <!-- SWAA --> {{No|Non-functional (PC)<br>Replaced by MLAA? (X360, {{confirm}})<br>Replaced by MLAA (PS3)}} || <!--MSAA-->{{Yes|2x, 4x, 8x</br>Enhanceable with SGSSAA}} || <!--CSAA-->{{N/A|[https://www.nvidia.com/en-us/geforce/forums/discover/170752/very-few-anti-aliasing-options/ Older NVIDIA GPUs/drivers only]}}<br>Can be only enabled using {{code|mat_aaquality}}.<br>CSAA options removed from menu. || <!--EQAA-->{{No}} || <!--TAA-->{{No}} | ||
|- bgcolor="#3A3A3A" | |- bgcolor="#3A3A3A" | ||
| {{ | | {{csgobranch|4}} || <!--FXAA -->{{Yes}} || <!-- MLAA -->{{No}} || <!-- SWAA -->{{No|Non-functional, replaced by FXAA.}} || <!--MSAA-->{{Yes|2x, 4x, 8x</br>Enhanceable with SGSSAA}} || <!--CSAA-->{{N/A|[https://www.nvidia.com/en-us/geforce/forums/discover/170752/very-few-anti-aliasing-options/ Older NVIDIA GPUs/drivers only]}}<br>Can be only enabled using {{code|mat_aaquality}}.<br>CSAA options removed from menu. || <!--EQAA-->{{No}} || <!--TAA-->{{No}} | ||
|- bgcolor="#3A3A3A" | |- bgcolor="#3A3A3A" | ||
| {{ | | {{dota2|4}} (pre-Reborn) || <!--FXAA -->{{Yes}} || <!-- MLAA -->{{No}} || <!-- SWAA -->{{No}} || <!-- MSAA -->{{No|Can be enabled through console,<br>but breaks deferred renderer}}<!-- despite there's command to enable MSAA, it does not render correctly with deferred shading. --> || <!-- CSAA -->{{No|Same as MSAA.}} || <!--EQAA-->{{No}} || <!--TAA-->{{No}} | ||
<!-- Third-party games below --> | |||
|- bgcolor="#3A3A3A" | |- bgcolor="#3A3A3A" | ||
| {{ | | {{bms|4}} || <!--FXAA -->{{Yes}} || <!-- MLAA -->{{No}} || <!-- SWAA -->{{N/A|2012 mod only}} || <!-- MSAA --> {{N/A|Removed (post-Xen update)<br>Available on previous versions (2012 mod/pre-Xen)</br>Enhanceable with SGSSAA}} || <!-- CSAA -->{{N/A|Removed (post-Xen update)<br>Available on previous versions (2012 mod/pre-Xen)}} || <!--EQAA-->{{No}} || <!--TAA-->{{No}} | ||
<!-- Third-party games below --> | |||
|- bgcolor="#3A3A3A" | |- bgcolor="#3A3A3A" | ||
| | | [[Consortium]] || <!--FXAA -->{{Yes}} || <!-- MLAA -->{{No}} || <!-- SWAA -->{{No}} || <!-- MSAA --> {{No}} || <!-- CSAA --> {{No}} || <!--EQAA-->{{No}} || <!--TAA-->{{No}} | ||
|- bgcolor="#3A3A3A" | |- bgcolor="#3A3A3A" | ||
| {{ | | {{strata|4}} || <!--FXAA -->{{Yes}} || <!-- MLAA -->{{No}} || <!-- SWAA -->{{No}} || <!-- MSAA --> {{Yes|2x, 4x, 8x}} || <!-- CSAA --> {{N/A|Unknown{{confirm}}}} || <!--EQAA-->{{No}} || <!--TAA-->{{No}} | ||
|- bgcolor="#3A3A3A" | |- bgcolor="#3A3A3A" | ||
| {{ | | {{titanfall|4}} || <!--FXAA -->{{No}} || <!-- MLAA -->{{No}} || <!-- SWAA -->{{No}} || <!-- MSAA --> {{Yes|2x, 4x, 8x</br>Enhanceable with SGSSAA}} || <!--CSAA-->{{N/A|[https://www.nvidia.com/en-us/geforce/forums/discover/170752/very-few-anti-aliasing-options/ Older NVIDIA GPUs/drivers only]}}</br>Up to 16xQ || <!--EQAA-->{{Yes|2x, 4x, 8x}} || <!--TAA-->{{Yes|TXAA (2x, 4x)}} | ||
|- bgcolor="#3A3A3A" | |- bgcolor="#3A3A3A" | ||
| {{portalrtx|4}} (and other [[RTX Remix]] games) || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{ | | {{titanfall2|4}} || <!--FXAA -->{{No}} || <!-- MLAA -->{{No}} || <!-- SWAA -->{{No}} || <!-- MSAA --> {{Yes|2x, 4x, 8x</br>Enhanceable with SGSSAA}} || <!-- CSAA --> {{No|No{{confirm}}}} || <!--EQAA-->{{Yes|2x, 4x, 8x}} || <!--TAA-->{{Yes|TSSAA}}<br>Also support Adaptive Supersampling (requires TSSAA) | ||
|- bgcolor="#3A3A3A" | |||
| {{apex|4}} || <!--FXAA -->{{No}} || <!-- MLAA -->{{No}} || <!-- SWAA -->{{No}} || <!-- MSAA --> {{No}} || <!-- CSAA --> {{No}} || {{No}} || <!--TAA-->{{Yes|TSSAA}}<br>Also support Adaptive Supersampling (requires TSSAA) | |||
|- bgcolor="#3A3A3A" | |||
| {{portalrtx|4}}<br>(and other [[RTX Remix]] games) || <!--FXAA -->{{No}} || <!-- MLAA -->{{No}} || <!-- SWAA -->{{No}} || <!-- MSAA --> {{No}} || <!-- CSAA --> {{No}} || <!--EQAA-->{{No}} || <!--TAA-->{{Yes|DLSS/DLAA}} | |||
|} | |} | ||
Line 199: | Line 332: | ||
! style="min-width:25em" | Game !! style="min-width:5em" | FXAA !! style="min-width:5em" | MSAA !! style="min-width:5em" | TAA !! style="min-width:5em" | CMAA | ! style="min-width:25em" | Game !! style="min-width:5em" | FXAA !! style="min-width:5em" | MSAA !! style="min-width:5em" | TAA !! style="min-width:5em" | CMAA | ||
|- bgcolor="#3A3A3A" | |- bgcolor="#3A3A3A" | ||
| {{Deadlock|4}} || {{Yes}} || {{No}} || {{Yes|Yes ( | | {{Deadlock|4}} || {{Yes}} || {{No}} || {{Yes|Yes</br>(FSR 2/3 Native AA, DLSS 4/DLAA)}} || {{No}} | ||
|- bgcolor="#3A3A3A" | |- bgcolor="#3A3A3A" | ||
| {{cs2|4}} || {{No}} || {{Yes}} || {{No}} || {{Yes}} | | {{cs2|4}} || {{No}} || {{Yes|2x, 4x, 8x}} || {{No}} || {{Yes}} | ||
|- bgcolor="#3A3A3A" | |||
| {{adj|4}} || {{No}} || {{Yes|Always enabled (MSAA 4X)}} || {{No}} || {{No}} | |||
|- bgcolor="#3A3A3A" | |- bgcolor="#3A3A3A" | ||
| {{hlalyx|4}} || {{No}} || {{Yes|Always enabled (MSAA 4X)}} || {{No}} || {{No}} | | {{hlalyx|4}} || {{No}} || {{Yes|Always enabled (MSAA 4X)}} || {{No}} || {{No}} | ||
|- bgcolor="#3A3A3A" | |- bgcolor="#3A3A3A" | ||
| {{sbox|4}} || {{No}} || {{Yes}} || {{No}} || {{No}} | | {{sbox|4}} || {{No}} || {{Yes|Always enabled</br>(Can be adjusted from 2X to 8X)}} || {{No}} || {{No}} | ||
|- bgcolor="#3A3A3A" | |- bgcolor="#3A3A3A" | ||
| {{dota2|4}} || {{Yes}} || {{No}} || {{No}} || {{No}} | | {{dota2|4}} || {{Yes}} || {{No}} || {{No}} || {{No}} | ||
Line 217: | Line 352: | ||
! style="min-width:25em;rowspan=2;" | Game !! style="min-width:8em" | None !! style="min-width:8em" | FXAA !! style="min-width:8em" | SMAA !! style="min-width:8em" | MSAA !! style="min-width:8em" | SSAA !! style="min-width:8em" | TAA{{Cite|4}} | ! style="min-width:25em;rowspan=2;" | Game !! style="min-width:8em" | None !! style="min-width:8em" | FXAA !! style="min-width:8em" | SMAA !! style="min-width:8em" | MSAA !! style="min-width:8em" | SSAA !! style="min-width:8em" | TAA{{Cite|4}} | ||
|- bgcolor="#3A3A3A" | |- bgcolor="#3A3A3A" | ||
| {{hl2lc|4}} (benchmark) || 569.23 Avg FPS || 549.88 Avg FPS<br>(Negligible) || 533.28 Avg FPS<br>(Very Low) || 547.00 Avg FPS (2x)<br>(Low - Moderate)<br>520.89 Avg FPS (4x)<br>(Moderate)<br>475.34 Avg FPS (8x)<br>(Moderate - High)<br> || 409.26 Avg FPS (2x2)<br>(Very High)<br>329.32 Avg FPS (2x2 + MSAA 4X/SGSSAA)<br>(Very High)<br>147.74 Avg FPS (4x4)<br>(Very High) || TSSAA: Similar to SMAA or FXAA<br>TXAA: Similar as MSAA | | {{hl2lc|4}} (benchmark) || 569.23 Avg FPS || 549.88 Avg FPS<br>(Negligible) || 533.28 Avg FPS<br>(Negligible - Very Low) || 547.00 Avg FPS (2x)<br>(Low - Moderate)<br>520.89 Avg FPS (4x)<br>(Moderate)<br>475.34 Avg FPS (8x)<br>(Moderate - High)<br> || 409.26 Avg FPS (2x2, OGSSAA)<br>(Very High)<br>329.32 Avg FPS (2x2 + MSAA 4X/SGSSAA)<br>(Very High)<br>147.74 Avg FPS (4x4, OGSSAA)<br>(Very High) || TSSAA: Similar to SMAA or FXAA<br>TXAA: Similar as MSAA</br>(both not available on this game but can be demonstrated using ReShade) | ||
|- bgcolor="#3A3A3A" | |- bgcolor="#3A3A3A" | ||
|} | |} | ||
Line 223: | Line 358: | ||
==Console commands== | ==Console commands== | ||
=== Source === | === Source === | ||
==== MSAA / CSAA ==== | ==== MSAA/CSAA ==== | ||
{{src13|4}} games and older Source engine games have these console commands dedicated to anti-aliasing: | {{src13|4}} games and older Source engine games have these console commands dedicated to anti-aliasing: | ||
{{ | {{Varcom|start}} | ||
{{ | {{Varcom|mat_antialias||int|Goes from 0x to 8x (0-8) MSAA.</br>16x MSAA is also possible (tested on {{nvidia|4}} GPUs), but unlike other games (like {{wp|Doom 3}}) which supports it, 16x MSAA is just 4x in Source. Other values aside from 2, 4, 6 (older GPUs only) and 8 simply disable MSAA. | ||
{{ | {{Note|This command only accepts positive values, negative ones will do nothing. 6x MSAA is not supported on {{src06|1}} and newer graphics card/GPU drivers.<br>This command also does nothing in {{bms|1}} (since Xen update) as MSAA has been removed. MSAA is still available on previous versions of Black Mesa.<br>On {{src04|4}} (which only supports up to 6x officially), 8x MSAA can be enabled by using this command, but once you quit the game, it will reset to 4x MSAA.}}}} | ||
{{ | {{Varcom|mat_aaquality||int|It was used to set CSAA anti-aliasing settings (0-4). CSAA needs MSAA to produce the correct result. 8x and 16xQ is "mat_aaquality 2", 16x is "mat_aaquality 4". | ||
{{Note|Since the release of {{nvidia|4}}'s GTX 900 series cards (as well as GTX 750, 750Ti and other Maxwell-based cards) and newer, support for CSAA has been removed! So this command does nothing.}}}} | |||
{{Varcom|end}} | |||
==== Software AA ==== | ==== Software AA ==== | ||
{{Note|All Source engine games (since {{src07|3.1}}) have software AA. | {{Note|All Source engine games (since {{src07|3.1}}) have software AA. In PC, it currently only works on Source 2007 games ({{bms|1}} 2012 version tested). | ||
Software AA is also supported (and used) in {{360|3.1}} port of Source engine games. | Software AA is also supported (and used) in {{360|3.1}}, {{ps3|3.1}} and {{switch|3.1}} port of Source engine games.}} | ||
}} | {{Bug|since=src13|In PC, Software AA is currently broken in all {{src09|1}}, {{srcmp|1}} and {{src13|1}} (including {{Tf2branch|1}}) games. It's also broken (or non-functional) in {{l4dbranch|1}}{{cite|3}} and above. |tested={{hl2}}, {{portal}}, {{l4dbranch}}, {{p2branch}}, {{srcsdk13|1|nt=0}}.}} | ||
{{Bug|since=src13|Software AA is currently broken in all {{ | {{Varcom|start}} | ||
{{ | {{Varcom|mat_software_aa_blur_one_pixel_lines|0.5|float|How much software AA should blur one-pixel thick lines: (0.0 - none), (1.0 - lots).}} | ||
{{ | {{Varcom|mat_software_aa_debug|0|int|Software AA debug mode: (0 - off), (1 - show number of 'unlike' samples: 0->black, 1->red, 2->green, 3->blue), (2 - show anti-alias blend strength), (3 - show averaged 'unlike' colour).}} | ||
{{ | {{Varcom|mat_software_aa_edge_threshold|1.0|float|Software AA - adjusts the sensitivity of the software AA shader's edge detection (1.0 - a lower value will soften more edges, a higher value will soften fewer).}} | ||
{{ | {{Varcom|mat_software_aa_quality|0|int|Software AA quality mode: (0 - 5-tap filter), (1 - 9-tap filter).}} | ||
{{ | {{Varcom|mat_software_aa_strength|0.0 (PC)<br>1.0 ({{360}})|float|Software AA - perform a software anti-aliasing post-process (an alternative/supplement to MSAA). This value sets the strength of the effect: (0.0 - off), (1.0 - full).<br>{{Note|This can be set up to "4", but will cause dithering to be more visible around the edges.}}}} | ||
{{Varcom|mat_software_aa_strength_vgui|1.0 (PC)<br>2.0 ({{360}})|float|Same as mat_software_aa_strength, but forced to this value when called by the post vgui AA pass (0-1).}} | |||
{{ | {{Varcom|mat_software_aa_tap_offset|1.0|float|Software AA - adjusts the displacement of the taps used by the software AA shader (1.0 - a lower value will make the image sharper, higher will make it blurrier).}} | ||
{{Varcom|end}} | |||
==== Titanfall (MSAA, TXAA, EQAA) ==== | |||
{{tfbranch|4}} has one console command dedicated to anti-aliasing, but these can be only accessible via custom launcher or via launch options. | |||
{{Varcom|start}} | |||
{{Varcom|mat_antialias_mode|0|int|Anti-aliasing types.</br>1 - MSAA 2x</br>2 - MSAA 4x</br>3 - MSAA 8x</br>10 - TXAA 2x</br>11 - TXAA 4x}} | |||
{{Varcom|end}} | |||
=== Source 2 === | === Source 2 === | ||
{{ | {{cs2|4}} only: | ||
{{ | {{Varcom|start}} | ||
{{ | {{Varcom|r_csgo_cmaa_enable||01|Enable CMAA2.}} | ||
{{Note|Doesn't | {{Varcom|r_csgo_cmaa_extra_sharp||01|Enable sharpening when CMAA2 enabled. | ||
{{ | {{Note|Doesn't seem to have any noticeable differences.}}}} | ||
{{Varcom|r_csgo_cmaa_quality||int|Adjust CMAA2 quality from Off, Low, Medium, and High (0-3).}} | |||
{{Varcom|end}} | |||
{{Note|These commands are now hidden by default in newer version of {{cs2|2}}.}} | |||
== See also == | == See also == | ||
Line 264: | Line 412: | ||
{{ref2|cite id=2|[https://github.com/ValveSoftware/Source-1-Games/issues/540 HL2 - Ep 1, 2, and Lost Coast AA settings and Direct X] (#540). ''GitHub Issues''.}} | {{ref2|cite id=2|[https://github.com/ValveSoftware/Source-1-Games/issues/540 HL2 - Ep 1, 2, and Lost Coast AA settings and Direct X] (#540). ''GitHub Issues''.}} | ||
{{ref2|cite id=3|[[User:kr0tchet|User:leonidakarlach]] - (October 18, 2024). In Left 4 Dead (and L4D2), all commands related to Software AA are hidden, but using [[SourceMod]] will allow you to access the commands.}} | {{ref2|cite id=3|[[User:kr0tchet|User:leonidakarlach]] - (October 18, 2024). In Left 4 Dead (and L4D2), all commands related to Software AA are hidden, but using [[SourceMod]] will allow you to access the commands.}} | ||
{{ref2|cite id=4|{{Note|There are multiple variants of TAA. The most common one being used in many modern games (including {{apex|1}} and {{tfbranch|1}} games), which is '''TSSAA''' (also known as '''TMAA'''), which is also referred as TAA in general, supersamples the previous 8 frames, jittering them and combines into the current one to create smoother (but blurrier) image, it has performance impact similar to FXAA or SMAA. '''TXAA''' (Nvidia exclusive), on the other hand, combines MSAA with temporal filters which will have very similar performance impact as MSAA. TAAU and TSR, commonly found on {{ue|1}} but also used in other games with different engine, aswell as upscaling solution (FSR2, FSR3, XeSS, DLSS), improves the game performance by running the game at lower resolution, then apply a temporal filter (TSSAA) to anti-alias the image. Some other games also used a variant of FXAA or SMAA combined with temporal filter ('''FXAA 1TX''', '''SMAA T2X'''<!-- Doom 2016 refers FXAA/SMAA temporal part as (times)TX, while other games like COD (newer releases) refers it as T(times)X -->, and so on.).}}}} | {{ref2|cite id=4|{{Note|There are multiple variants of TAA. The most common one being used in many modern games (including {{apex|1}} and {{tfbranch|1}} games), which is '''TSSAA''' (also known as '''TMAA'''), which is also referred as TAA in general, supersamples the previous 8 frames, jittering them and combines into the current one to create smoother (but blurrier) image, it has performance impact similar to FXAA or SMAA. '''TXAA''' (Nvidia exclusive), on the other hand, combines MSAA with temporal filters which will have very similar performance impact as MSAA. TAAU and TSR, commonly found on {{ue|1}} but also used in other games with different engine, aswell as upscaling solution (FSR2, FSR3, XeSS, DLSS), improves the game performance by running the game at lower resolution, then apply a temporal filter (TSSAA) to anti-alias the image, and sharpener (FSR or CAS) to make the image appeared sharper. Some other games also used a variant of FXAA or SMAA combined with temporal filter ('''FXAA 1TX''', '''SMAA T2X'''<!-- Doom 2016 refers FXAA/SMAA temporal part as (times)TX, while other games like COD (newer releases) refers it as T(times)X -->, and so on.).}}}} | ||
}} | }} | ||
Latest revision as of 07:00, 28 July 2025
Anti-aliasing (AA) is a graphics technique extensively employed in Valve video games, such as those in the Half-Life series, as well as in other software applications developed by Valve, including Steam and
Source Filmmaker, etc. This technique is utilized to enhance the visual quality and reduce the jagged edges, or jaggies, that can appear in computer-generated imagery.
Computer monitors are essentially a large grid of squares that can be set to any color or brightness. As such, it is impossible to draw a perfectly straight line, because no matter how many squares there are, it will never be able to make a perfectly smooth diagonal. This creates a stair-step pattern that gets increasingly noticeable the lower the resolution is, which is often referred to in the video game world as "Aliasing". Spatial anti-aliasing, often referred to simply as anti-aliasing, is designed to combat the problems of aliasing. In simple terms, anti-aliasing is designed to smooth out that stair-step pattern in images and make them look less pixelated, while not changing the resolution of the final image.
While anti-aliasing is available on PC, it was often not supported on consoles until the release of Portal 2 (which uses MLAA on PlayStation 3), as traditional methods like MSAA are very expensive, compared to post-processing methods like FXAA/TAA/MLAA used in later games. In all Source 2007 games and above on Xbox 360, it uses software AA, which is not as effective as newer post-processing methods.
Overview
Traditional methods
- Restore missing details and looks sharper compared to post-processing methods
- More expensive than post-processing methods (also SSAA is more demanding than MSAA, while produce better result)
- Most newer games (that uses deferred renderer) does not support these methods
- MSAA only: Does not apply anti-aliasing to transparent textures without alpha to coverage
SSAA
- Performance Impact: Very High
SuperSampling Anti-Aliasing, also known as Full Scene Anti-Aliasing (FSAA) in some games and often interchangeable with the term downscaling.
- Technically when implemented correctly, these do differ in that downscaling applies to an entire frame buffer – 2D and 3D Elements, while SSAA/MSAA are techniques only applied internally to 3D elements. In some implementations this can result in a lesser performance impact and better compatibility.
Compared to MSAA, SSAA/FSAA produces the same result as MSAA, but completely reduced stair-step pattern in alpha textures, and makes transparent letters (on the container prop) less blurry. Additionally, ReShade depth buffer detection works with SSAA. However, despite it's very high-quality results, SSAA is very expensive when it comes to performance compared to MSAA, and SSAA is not available as an option in Source by default, but can be enabled below:
On NVIDIA graphics cards, it's implemented as OGSSAA (Ordered Grid Supersample Anti-Aliasing), and can only be enabled through third-party applications such as Nvidia Profile Inspector, using the following modes: 2x1, 1x2, 2x2, 3x3, 4x4. OGSSAA also only supports Direct3D.

Downscaling
Downscaling or downsampling is a brute-force method for AA, which applies SSAA to both 2D (such as HUD and UI) and 3D elements by running the game at a higher resolution. It can be enabled on graphics card control panel as NVIDIA DSR or AMD VSR. Unlike SSAA, downscaling will produce slightly blurrier results and does not get rid of the shimmering effect on transparent textures/objects.
Another downside to downscaling is that many older games' UI (such as VGUI) will become smaller at higher resolutions. However, recently Half-Life 2 and Half-Life 2: Deathmatch (both since 20th anniversary), and aswell as Team Fortress 2 has been updated to allow VGUI to scale properly on higher resolution, while all games since Left 4 Dead properly scales UI at 4K or higher (except close captioning which does not scales in Left 4 Dead, but does on Left 4 Dead 2 and newer titles).
MSAA
- Performance Impact: Moderate (2x, 4x) to High (8x)
MultiSample Anti-Aliasing (MSAA) was the gaming industry standard of anti-aliasing (prior to the TAA gradually replacing MSAA in mid-late 2010s as games transitioned from forward rendering to deferred rendering), and as such is the only anti-aliasing available (alongside CSAA on NVIDIA cards prior to Maxwell) in all
Source games before
Counter-Strike: Global Offensive, and later available in
GoldSrc in 2013, with only MSAA 4x being available, which is enabled by default. In
GoldSrc, the anti-aliasing can be disabled by starting with the -nomsaa launch option. Essentially, if a polygon is crossing a multisample point, or subpixel, it detects how many of its neighboring points are also being intersected, then takes the color of that polygon and adds it over the existing image to create a slightly smother line. This creates a smoother line, but does not completely remove the stair-step pattern (especially on alpha textures that don't use alpha to coverage) without combining FXAA/SMAA/other post-FX AA methods with MSAA.
Games that use deferred rendering will have higher performance impact than forward rendering when using MSAA, and MSAA are not as effective on games using deferred rendering. This is one of the reasons why Black Mesa, and Apex Legends does not support MSAA.
All GoldSrc, Source and Source 2 games contain 3 different settings of MSAA, which include:
- 2x
- 4x - Default level in post-SteamPipe
GoldSrc (can be enhanced in GPU control panels), aswell default on
post-20th anniversary
- 8x - Very expensive on older/low-end hardware. Introduced in Source 2006. You can enable 8x MSAA in Source 2004 by using the mat_antialias 8 console command, or force it through driver settings.[1]
What this does is add more subpixels to a specified location and increases the accuracy of the multisampling, at the cost of performance. Some alternative anti-aliasing methods such as the post-processing one will be less demanding compared to MSAA or other methods.





MSAA enhanced (Nvidia SGSSAA / AMD Adaptive AA)
- Performance Impact: High (2x, 4x) to Very High (8x)
On system Nvidia and AMD graphics card, MSAA can be enhanced with two methods:
Both are improved version of regular SSAA (or OGSSAA), by enhancing MSAA with TrSSAA (Transparency SSAA).
This AA method produce good results and makes distant texture looks significantly sharper (compared to downscaling methods like NVIDIA DSR/AMD VSR), it also produces more detail than OGSSAA (or regular SSAA), and transparent textures will look better and properly anti-aliased than using alpha to coverage (which creates noticeable shimmering on far distance, and dithering when looking closer). Additionally, all transparent texture which did not use alpha to coverage also get anti-aliased.
However, like SSAA (OGSSAA), this method is also very demanding even on powerful graphics card, especially at 8x setting. A powerful graphics card like GeForce RTX 3060 (or GTX 1080 Ti) can handle atleast 100-150 FPS with 8x SGSSAA at 1080p, but when looking at particle effects, it can go down to 24-30 FPS.


To enable SGSSAA anti-aliasing, follow these instructions:
- Open NVIDIA Profile Inspector
- Select the game profile, in this case, "Half-Life 2" for Half-Life 2 (including it's episodes and Lost Coast).
- Set Antialiasing - Compatibility (DX9) flag, see below for list of games/branch and their respective flag. In this case for Half-Life 2, use 0x000000C1 (or 0x004000C1 if ReShade is installed).
- Set Negative LOD to "Allow", then set LOD Bias (DX) to -1.0 (for 4x), or -1.5 (for 8x). This will make texture sharper when using SGSSAA.
- Set Anti-aliasing (MSAA) Mode to "Override any application setting", 4x [4x Multisampling] or 8xQ [8x Multisampling], and set Transparency Supersampling to 4x or 8x (must match MSAA settings).
- Finally, disable in-game Anti-aliasing or use mat_alphacoverage 0 to disable alpha to coverage. Done.






To enable SGSSAA in Half-Life 2 (including it's episodes), and Half-Life: Source, you will need to select "Half-Life 2" profile on NVIDIA Profile Inspector and change it settings here. To enable SGSSAA on any other Source games sharing hl2.exe executable name, select "Half Life: Source"[sic].
Game | AA Flag & LOD Bias setting |
---|---|
All | LOD Bias: Set Negative LOD to "Allow", then set the following value: 2xSGSSAA (2 samples): -0.5 4xSGSSAA (4 samples): -1.0 8xSGSSAA (8 samples): -1.5 |
Source 2004 - Source 2013 | 0x000000C1 0x004000C1 (if ReShade is installed) 0x004010C1 (Portal) |
Left 4 Dead engine branch and above | 0x000000C0 0x004000C0 (if ReShade is installed) 0x004010C0 (Portal 2) |
All Direct3D 11 (DX11) Source games | Compatibility flag not required, but you might need to enable MSAA in-game (even if you override it, unlike DX9 which can force AA even if MSAA is off in-game). |
- Open the game and change the in-game MSAA settings to 4x or 8x.
- Minimize the game and open AMD Software Adrenalin Edition.
- It should show the game that's open. Click on adjust game graphics under "CURRENT SESSION".
- If the game can't be seen, then the game may have to be added to the software through the Gaming tab.
- Click on the back button if the tab goes to a specific game.
- Click on the more options button at the far right.
- Locate and add the executable for the game.
- Scroll down and click on Advanced.
- Change Anti-Aliasing to Enhance application settings. Change Anti-Aliasing Method to Supersampling. Change Texture Filtering Quality to High.
- Restart the game.
CSAA[
Deprecated] 
Coverage Sampling Anti-Aliasing (CSAA) was an NVIDIA-exclusive method of anti-aliasing, introduced with the GeForce 8 Series (2006). It aims to further reduce the additional stress that MSAA puts on the system, with NVIDIA claiming that a CSAA-rendered image will rival 8x-16x MSAA while only putting a load on the system comparable to 4x MSAA. It does this by reducing the number of settings each sample determines (by creating a new sample for coverage) while increasing the overall number of samples.
However, by the release of Maxwell-based GPUs such as GTX 745, 750 & 750 Ti, GTX 800M/900 series in 2014, and newer NVIDIA graphics card drops support for CSAA completely, as Multi-Frame Anti-Aliasing (MFAA) completely succeeded it, a method which has it's own limitations and only works with Direct3D 11 games.[2]
Source itself natively support CSAA since
Source 2004 (after
/
engine update in September 2005).
There are 3 different settings of CSAA, which include:
- 8x (MSAA 8x quality, with MSAA 4x performance)
- 16x (MSAA 16x quality, with MSAA 4x performance)
- 16xQ (MSAA 16x quality, with MSAA 8x performance)

Post-processing methods
- Produces blurrier result and does not restore missing details compared to traditional methods
- Cheap, with little to no performance loss compared to traditional methods
- Only available on Source 2007 (Software AA), Counter-Strike: Global Offensive (FXAA), but it can be easily implemented to any game using Source shader editor or ReShade.
- Does apply anti-aliasing to all transparent textures.
Software AA
(in all games since )
All Source engine games since Source 2007 introduced software AA, which blurs the jagged edges (similar to FXAA or other post-processing AA). On PC, it currently only works on Source 2007 games (tested on Black Mesa 2012/mod version).
Software AA is also supported (and used) in Xbox 360 and Nintendo Switch port of Source engine games. Unlike other anti-aliasing, this can be only toggled through console commands (mat_software_aa_strength).

However this bug does not apply to console port (such as Postal III cancelled Xbox 360 port which runs on Source 2009, and Portal on Nintendo Switch which runs on modified Source 2013 SP.) (tested in:




FXAA
- Performance Impact: Very Low
Fast Approximate Anti-Aliasing (FXAA) is a post-processing anti-aliasing with a very low performance cost. The main advantage of this technique over regular anti-aliasing is that it doesn't require a lot of computing power, and is also capable of smoothing out alpha-blended textures (aka transparent textures).
Its main drawback is that it blurs the final image, so textures will look less sharp, and plus, they don't recover the missing pixel (or alpha to coverage) without using FXAA with MSAA simultaneously (or by downscaling).
Regular
Source (prior to
CS:GO engine branch, or in third-party engine branch such as
Xengine) doesn't have support for it but as FXAA is a post-processing effect, it can easily be implemented like with the Source shader editor or with ReShade.

Additionally, using ReShade on Counter-Strike: Global Offensive and Counter-Strike 2 requires the -allow_third_party_software and -insecure command-line options, which would prevent you from connecting to any VAC-secured server.
MLAA
- Performance Impact: Very Low
Morphological Anti-Aliasing (MLAA) is a post-processing anti-aliasing typically available on AMD cards, but it can be used with any other graphics card. It's similar to NVIDIA's FXAA but has a higher performance cost, but is less demanding compared to MSAA. It's used in
PlayStation 3 version of Portal 2.


SMAA
- Performance Impact: Low
Subpixel Morphological Anti-Aliasing (SMAA) works similarly to FXAA or MLAA (the latter which is what SMAA was based off), but results in much better image quality than both FXAA and MLAA, while also taking little performance impact. There are currently no GoldSrc, Source or Source 2 games using this AA method, but users can add SMAA by using ReShade or Source Shader Editor.
CMAA
- Performance Impact: Low
Conservative Morphological Anti- Aliasing (CMAA)
is an image-based post-processing technique originally developed by Filip Strugar at Intel. CMAA uses 4 main steps to reduce aliasing:
- Color break detection
- Locally dominant edge detection
- Simple shape handling
- Symmetrical long edge shape handling.
CMAA, while having slight performance impact compared to FXAA, but still has less performance impact than SMAA, CMAA manages high quality anti-aliasing while preserving text and without over blurring the geometry.
CMAA is currently only implemented in Counter-Strike 2.




Temporal methods and upscaling
- While producing result similar to SSAA, TAA/TSSAA restore missing details by jittering the image which combines the information from past and current frames, while TXAA restore missing details by using MSAA.
- Temporal methods, when in motion, also produces blurrier image and create ghosting effect noticable with lower framerate and/or resolutions.
- Like post-processing methods, cheap, with little to no performance loss compared to traditional methods
- Aside from TAA, temporal-based upscaling techniques are also available, which can increase performance by internally rendering the game at lower resolutions, then use AI to upscale the image.
- Does apply anti-aliasing to all transparent textures.
TAA/TSSAA
- Performance Impact: Very Low
Temporal Anti Aliasing (TAA) is an anti-aliasing technique that reduces shimmering or flickering effects by smoothing the frame when in motion. There are multiple implementations of TAA, but the most common one is TSSAA (Temporal Super-Sampling Anti-Aliasing) which combines information from past frames (usually 8 frames) and the current frame, while also slightly jittering to smooth the current frame. Each pixel is sampled once per frame but in each frame the sample is at a different location within the pixel. Pixels sampled in past frames are blended with pixels sampled in the current frame to produce an anti-aliased image.
While being cheaper to calculate than MSAA, and produces image similar to super sampling anti-aliasing (SSAA) or downscaling, its main drawback is that it can cause ghosting and blurriness to the image, especially when in motion, noticeable with lower framerate or resolution, depending on the implementation (Example here). Some of the drawbacks can be mitigated by adding a sharpening filter.
As of mid 2010s, it's the current gaming industry standard of anti-aliasing (alongside FXAA for weaker hardware) with many modern games (except many VR and mobile games) and modern engines (like Unreal Engine 4/5) started to use TAA as most modern games transitioned from forward rendering to deferred rendering, which allows many lights to be rendered without a significant performance hit, and because MSAA is harder to implement on deferred rendering yet produce worse result than games using forward rendering. Some games use TAA to hide dithering or noisy effect (such as SSAO, soft shadows or ray tracing), leading to some titles forcing TAA to be enabled, providing no options to disable it in-game outside console commands or editing configuration files (if possible).
Apex Legends as well as
Titanfall 2 are the only two Source games that uses TAA (TSSAA), while Titanfall uses older TAA technique called TXAA which requires MSAA to function.
FSR (and FSR Native AA), DLSS (and DLAA), XeSS (and XeSS Native AA)
Aside from TAA, modern games also comes with upscaling techniques, which has it's own version of TAA anti-aliasing, but also improves performance by reducing the game resolutions and makes smaller resolution image appear sharper through the use of image upscaling algorithms like Nvidia's DLSS (Deep Learning Super Sampling), AMD's FSR (FidelityFX Super Resolution) and Intel XeSS (Xe Super Sampling). Depending on the game (but can be also forced through graphics card control panel), the upscaling feature of DLSS, FSR and XeSS can be turn off, leaving the anti-aliasing part, known as Nvidia DLAA (Deep Learning Anti-Aliasing), AMD FSR Native AA and XeSS Native AA enabled. Unlike regular TAA, all 3 techniques are likely to be more stable in motion, and produce slightly sharper image.
There are also other upscaling technique which are not vendor-specific, and can be run on any graphics card (whether the hardware support DLSS/FSR or not), like TAAU (Temporal Anti-Aliasing Upsample) and it's successor, TSR (Temporal Super Resolution).
Portal with RTX, Half-Life 2 RTX and all other RTX Remix games use DLSS (or DLAA) for anti-aliasing and upscaling. One upcoming Source 2 game made by Valve, Deadlock, supports TAA through AMD FSR 2, FSR 3 (first two are Native AA) and Nvidia DLSS 4.0 (or DLAA). Apex Legends uses TAAU for upscaling.
TXAA
- Performance Impact: Moderate
TXAA is an older form of TAA that creates a smoother image by combining MSAA with Nvidia-designed temporal filters. TXAA is supported with Nvidia GeForce GTX 600 series or higher. TXAA can be operate without MSAA, but many games that implement TXAA, including Titanfall, forces MSAA enabled in order to enable TXAA.
TXAA support 4 different settings, but many games including Titanfall only features TXAA 2x and 4x:
- 0x - Disables MSAA and leaving temporal filter enabled.
- 2x - Same as MSAA 2x with temporal filter enabled.
- 4x - Same as MSAA 4x with temporal filter enabled.
- 8x - Same as MSAA 8x with temporal filter enabled.
Media

GoldSrc
Source
Closeup
This image shows how each anti-aliasing methods affect text, details, transparent textures (both non-alpha to coverage and alpha to coverage).
In MSAA, only some transparent textures (that uses alpha to coverage) are anti-aliased, however SSAA (both SGSSAA and regular SSAA) significantly produces better AA results for transparent textures, but is more expensive.
Post-processing methods like FXAA and SMAA produces inferior results compared to MSAA, which can result in blurry or softer image while also does not solve shimmering, but they generally results in better performance than any traditional methods (like MSAA), making it useful on lower-end devices.
Software AA
Black Mesa
- Multisampling
- Post-processing
- Supersampling
Titanfall 2
Source 2
Support
GoldSrc
Source
Source 2
Performance impact

Below is the performance impact of each AA method. Most modern mid-range and high-end GPUs are capable of 8x MSAA with no performance loss, and over 60-100 FPS in Source games, as they are capped at 300 FPS by default.
Console commands
Source
MSAA/CSAA
Source 2013 games and older Source engine games have these console commands dedicated to anti-aliasing:
Cvar/Command | Parameters or default value | Descriptor | Effect |
---|---|---|---|
mat_antialias | int | Goes from 0x to 8x (0-8) MSAA. 16x MSAA is also possible (tested on ![]() ![]() ![]() This command also does nothing in Black Mesa (since Xen update) as MSAA has been removed. MSAA is still available on previous versions of Black Mesa. On ![]() |
|
mat_aaquality | int | It was used to set CSAA anti-aliasing settings (0-4). CSAA needs MSAA to produce the correct result. 8x and 16xQ is "mat_aaquality 2", 16x is "mat_aaquality 4".
![]() ![]() |
Software AA






Titanfall (MSAA, TXAA, EQAA)
Titanfall branch has one console command dedicated to anti-aliasing, but these can be only accessible via custom launcher or via launch options.
Cvar/Command | Parameters or default value | Descriptor | Effect |
---|---|---|---|
mat_antialias_mode | 0 | int | Anti-aliasing types. 1 - MSAA 2x 2 - MSAA 4x 3 - MSAA 8x 10 - TXAA 2x 11 - TXAA 4x |
Source 2
Counter-Strike 2 only:
Cvar/Command | Parameters or default value | Descriptor | Effect |
---|---|---|---|
r_csgo_cmaa_enable | 0 disables, 1 enables | Enable CMAA2. | |
r_csgo_cmaa_extra_sharp | 0 disables, 1 enables | Enable sharpening when CMAA2 enabled.
![]() |
|
r_csgo_cmaa_quality | int | Adjust CMAA2 quality from Off, Low, Medium, and High (0-3). |


See also
External links
References
References | ||||||||
---|---|---|---|---|---|---|---|---|
|