How To Pick The Best Anti-Aliasing Option For Playing Games
When poking around in a game’s settings, it is commonplace to come across a setting called anti-aliasing. This setting is one of the mainstays of games since the early ‘00s. The technology has also progressed across multiple generations, leading to them having a noticeable effect on how the game looks and performs. What Is Anti-Aliasing? Anti-aliasing, more commonly known as AA, is a method to remove the effects of a phenomenon known as aliasing. Commonly called ‘jaggies’, aliasing appears as a ‘staircase’ effect on non-square objects in a 3D environment. As seen by the image above, aliasing reduces the quality of the image, which is not a good thing when the game is gunning for realism. In order to push the envelope of realistic graphics, AA was created in the 90s. The reason aliasing occurs is because the screen is comprised of square pixels which are trying to represent an image which is non-rectangular in nature. Due to ‘half-pixels’ not being possible, diagonal lines present themselves as two squares with their corners touching.. This creates a ‘staircase effect’, creating jagged lines as the pixels fail to line up to present the image. AA aims to fix this by a variety of methods. How Does AA Work? There are many methods of anti-aliasing. The first method that came to popularity was super-sample anti-aliasing. As the name implies, aliasing was removed by supersampling the image and then rendering it at the set resolution. What this means is that the game was rendered in the engine at 2x, 4x, or 8x the resolution that was specified, and then shrunk down to fit the specified resolution. This creates an effect similar to having the ‘half-pixels’, as the pixel grid is simply more fine owing to the larger resolution. However, as one would expect, this is expensive in terms of compute due to the fact that the game needs to be rendered at upto 8 times the original resolution set. This led to the developer market as a whole looking to more efficient anti-aliasing processes. To cut down the computing power needed to do this, multisample anti aliasing was created. This new procedure, known as MSAA, tries to fill in the lost data shown by pixels to make the 3D models looks smoother. However, this fell out of fashion towards the early ‘10s, owing to the rise of much more efficient methods. Nowadays, MSAA options are not available in games today. The reason for MSAA being outdated today is because it only tackled the problem of outer edge aliasing, which was caused due to a misalignment in the rasterized grid in the 3D model. This quickly made it outdated as other forms of aliasing, such as temporal aliasing, internal texture aliasing and spectral aliasing began emerging. Post-Processing AA Methods Take The Cake The obsolescence of MSAA and the high-performance cost of SSAA drove developers to create another effective anti-aliasing method. This led to the emergence of Fast Approximated AA, which was then superseded by Subpixel Morphological AA. FXAA was developed by NVIDIA to take on the role of MSAA at a fraction of the computing cost. It does this by attacking the problem at its root, conducting the AA process after the image has been produced on screen. This removes the need for the image to be ‘pre-AA’d’, resulting in lesser processing power being taken up. SMAA is the direct successor to FXAA, being built on the same morphological AA base as the previous technology. Through sub-pixel level routines, the AA process provides better anti-aliasing and less blurring than FXAA while still taking up just as much, or even lesser, processing power. The difference between methods like FXAA and SMAA and MSAA is that the former find the edges in the image after it has been produced on the screen. They then proceed to fix it using anti-aliasing methods. This does not take a lot of the performance hit as other settings, but still provides a moderate AA effect on the screen. The newest advancement in the AA space comes in the form of Temporal Super Sampling AA. The method uses recent frames as points of references for rendering the AA for the next frame. This allows for a much smoother AA experience when the game is running at a fast pace. It also does not take much of a performance cost increase in recent game engines, as it can run on asynchronous compute shaders. Asynchronous compute is a strong suit of GPUs in general, leading to good optimization. Which Option Should You Pick? Super Sampling AA is expensive in terms of compute power, but provides the best quality possible. The performance hit increases with higher samples (2x, 4x, 8x, 16x), but so does the quality. For reasons mentioned previously, MSAA does not exist in game options anymore. However, in the event of playing older games, MSAA performs the same way as SSAA, increasing performance cost and quality with the number of samples. Post AA such as FXAA and SMAA are good to be used with other types of AA, as they are not expensive in terms of compute. However, they must be used with other AA in order to gain a reasonable quality increase, owing to the level of blurring that can occur. TSSAA combines the high quality of SSAA with the low performance hit of post AAs. However, it is very common to see blurring and ghosting artifacts with TSSAA due to temporal aliasing.
When poking around in a game’s settings, it is commonplace to come across a setting called anti-aliasing. This setting is one of the mainstays of games since the early ‘00s. The technology has also progressed across multiple generations, leading to them having a noticeable effect on how the game looks and performs. What Is Anti-Aliasing? […]
Anti-aliasing, more commonly known as AA, is a method to remove the effects of a phenomenon known as aliasing. Commonly called 'jaggies', aliasing appears as a 'staircase' effect on non-square objects in a 3D environment.
["AMD", "Gaming", "graphics", "NVIDIA"]
["Go", "AMD", "programming_languages:R", "AI", "Gaming", "programming_languages:Go", "graphics", "Aim", "GAN", "NVIDIA", "R"]
["AI", "Aim", "R", "Go", "GAN", "programming_languages:R", "programming_languages:Go"]
I am an AI enthusiast and love keeping up with the latest events in the space. I love video games and pizza.