Anti-aliasing: Difference between revisions
Tag: Undo |
|||
(46 intermediate revisions by 2 users not shown) | |||
Line 34: | Line 34: | ||
{{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. | {{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. | 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: | ||
Line 44: | 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|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|[[$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.}} | |||
==== SGSSAA | ==== 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) | * '''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 NVIDIA DSR), it also produces more detail than OGSSAA (or regular SSAA), and transparent textures will look better than using [[alpha to coverage]] (which creates noticeable shimmering on far distance, and dithering when looking closer). | 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|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. | {{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}}. | 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}}. | ||
}} | }} | ||
==== CSAA{{ClassicDeprecated}} {{nvidia}} ==== | <table cellpadding="4" style="background-color:#202020; border:2px solid #525252; border-radius:4px; margin:4px auto"> | ||
'''C'''overage '''S'''ampling '''A'''nti-'''A'''liasing ('''CSAA''') was an NVIDIA-exclusive method of anti-aliasing, introduced with the GeForce 8 Series. 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. | <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 GTX 750 Ti, GTX 800M/900 series in 2014, and newer NVIDIA graphics card | 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}} natively support CSAA since {{ | {{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: | There are 3 different settings of CSAA, which include: | ||
*8x (MSAA 4x performance) | *8x (MSAA 8x quality, with MSAA 4x performance) | ||
*16x (MSAA 4x performance) | *16x (MSAA 16x quality, with MSAA 4x performance) | ||
*16xQ (MSAA 8x performance) | *16xQ (MSAA 16x quality, with MSAA 8x performance) | ||
{{Note|CSAA 8xQ ''is'' MSAA 8x.}} | {{Note|CSAA 8xQ ''is'' MSAA 8x.}} | ||
Line 90: | Line 137: | ||
==== 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. Unlike other anti-aliasing, this can be only toggled through console commands ({{code|mat_software_aa_strength}}). | 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=src09|Software AA is currently broken in all {{Src09|1}}, {{Src13|1}} games. It is also broken (or non-functional) in {{l4dbranch|1}}{{cite|3}} and above.<br> | {{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==== | ||
Line 127: | Line 174: | ||
{{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 === | === 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. | * 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. | * 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 | * 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. | * Does apply anti-aliasing to all transparent textures. | ||
====TAA/TSSAA==== | ====TAA/TSSAA<span id="TAA"></span>==== | ||
* '''Performance Impact:''' Very Low | * '''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. | {{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. | 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) 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 | 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 ==== | ==== TXAA ==== | ||
* '''Performance Impact:''' Moderate | * '''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''' 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 160: | Line 220: | ||
=== {{source|3.1}} === | === {{source|3.1}} === | ||
==== Closeup ==== | ==== Closeup ==== | ||
This image shows how each anti-aliasing methods affect text, details, transparent textures (both non-alpha to coverage and alpha to coverage). | 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 | {| class=standard-table | ||
Line 229: | Line 293: | ||
! 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="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="white-space:nowrap; background-color:{{src|col}}4e; color:#FFF" | ||
! style="min-width:25em" | Game !! 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 | ! 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}} || <!--FXAA -->{{No}} || <!-- MLAA -->{{No}} || <!-- SWAA -->{{N/A}} || <!--MSAA-->{{Yes|2x, 4x, 6x}} || <!--CSAA-->{{ | | {{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}} || <!--FXAA -->{{No}} || <!-- MLAA -->{{No}} || <!-- SWAA -->{{N/A}} || <!--MSAA-->{{Yes|2x, 4x, 8x}} || <!--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}} | | {{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}} || <!--FXAA -->{{No}} || <!-- MLAA -->{{No}} || <!-- SWAA -->{{Yes|Always enabled {{360}}<br>Disabled by default (PC)}} || <!--MSAA-->{{Yes|2x, 4x, 8x}} || <!--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}} | | {{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}}<!-- | | {{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 {{360}}<!-- confirmed on Postal 3 cancelled x360 port only, not sure about Zeno clash. --><br>Broken/non-functional (PC)}} || <!--MSAA-->{{Yes|2x, 4x, 8x}} || <!--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}} | --><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}} ( | | {{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}} || <!--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}} | | {{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}} | | {{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 --> | <!-- 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)}} || <!-- CSAA -->{{N/A|Removed (post-Xen update)<br>Available on previous versions (2012 mod/pre-Xen)}} || <!--EQAA-->{{No}} || <!--TAA-->{{No}} | | {{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 --> | <!-- Third-party games below --> | ||
|- bgcolor="#3A3A3A" | |- bgcolor="#3A3A3A" | ||
Line 254: | Line 318: | ||
| {{strata|4}} || <!--FXAA -->{{Yes}} || <!-- MLAA -->{{No}} || <!-- SWAA -->{{No}} || <!-- MSAA --> {{Yes|2x, 4x, 8x}} || <!-- CSAA --> {{N/A|Unknown{{confirm}}}} || <!--EQAA-->{{No}} || <!--TAA-->{{No}} | | {{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}} || <!-- CSAA --> {{ | | {{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" | ||
| {{titanfall2|4}} || <!--FXAA -->{{No}} || <!-- MLAA -->{{No}} || <!-- SWAA -->{{No}} || <!-- MSAA --> {{Yes|2x, 4x, 8x}} || <!-- CSAA --> {{No|No{{confirm}}}} || <!--EQAA-->{{Yes|2x, 4x, 8x}} || <!--TAA-->{{Yes|TSSAA}}<br>Also support Adaptive Supersampling (requires TSSAA) | | {{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" | |- 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) | | {{apex|4}} || <!--FXAA -->{{No}} || <!-- MLAA -->{{No}} || <!-- SWAA -->{{No}} || <!-- MSAA --> {{No}} || <!-- CSAA --> {{No}} || {{No}} || <!--TAA-->{{Yes|TSSAA}}<br>Also support Adaptive Supersampling (requires TSSAA) | ||
Line 288: | 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 296: | Line 360: | ||
==== 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.}} | {{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 == |
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 | ||||||||
---|---|---|---|---|---|---|---|---|
|