Anti-Aliasing Analysis, Part 1: Settings And Surprises

Radeon-Exclusive Anti-Aliasing Modes And Driver Settings

Obsolete Radeon Anti-Aliasing Modes:

Temporal Anti-Aliasing

When the Radeon X800 was introduced, it was accompanied by a new mode called temporal anti-aliasing. It used two different pixel sampling patterns, alternating with every frame of video. When the frame rate was high enough so that the human eye couldn't tell them apart (at least 60 frames per second), the viewer experienced the result of both sampling patterns, virtually doubling the number of anti-aliasing samples without the associated performance penalty. For example, two 2xAA sample patterns could produce a result similar to 4xAA, two 4xAA sample patterns generated an 8xAA result, and so on.

There were a couple of caveats to consider before temporal anti-aliasing would work. First, V-sync had to be enabled at 60 Hz or more. Secondly, if the frame rate dropped below 60 FPS, temporal anti-aliasing was disabled.

The concept is simple, but AMD representatives say that it was tricky to get it to work with new games, and the limitations make it less attractive than new anti-aliasing methods. Because of this, temporal anti-aliasing was removed from Radeon drivers some time ago. You can learn more about temporal anti-aliasing in our Radeon X800 launch review from back in 2004.

Current Radeon Anti-Aliasing Modes

Custom-Filter Anti-Aliasing (including Edge-Detect Anti-Aliasing)

Introduced with the Radeon HD 2900 XT, custom-filter anti-aliasing (abbreviated CFAA) is a programmable method that gathers samples not only from within the pixel, but even from outside the pixel edge. This means that samples can be taken within a circular radius of the pixel, unrestricted by pixel boundaries, with the influence of the sample further weighted by its distance from the centre of the pixel. On release, AMD offered three CFAA filter options: narrow tent, wide tent, and edge-detect.

The tent filter names simply refer to the size of the circular sampling area, but the edge-detect filter is quite a bit more complex. It actually applies an edge-detect algorithm to the frame buffer and concentrates the anti-aliasing efforts on these areas to create smoother gradients.

Edge-detect is easily the best-quality CFAA filter, but does require more processing than the tent modes, so AMD optimized the edge-detect filter to work faster. The tent filters show little advantage over standard MSAA, so the company dropped these modes from the Radeon HD 6000 series.

Because EQAA is limited to the new Radeon HD 6900 series, the edge-detect option is a good alternative for owners of Radeon HD 6800 and older cards. Having said that, in some scenarios, the edge-detect feature can make little to no visual difference, just like CSAA and EQAA.

Morphological Anti-Aliasing

Morphological anti-aliasing (MLAA) is an all-new option released with the Radeon HD 6800 series. It presents a different approach to the aliasing problem in that it needs no insight into the makeup of the scene’s geometry. MLAA is a post-process filtering technique compatible with any DirectX 9 to 11 application. After a frame is rendered, it is passed through the MLAA shader, which looks for high-contrast edges and patterns consistent with aliasing. The colours of adjacent pixels are blended to approximate a smooth transition along a line instead of aliased steps. This means that the smoothing effect isn’t limited to the edges of geometry or alpha textures, and is applied to all of the pixels in the scene. Conceptually, this method promises results similar to supersampling, but with performance comparable to AMD’s edge-detect AA.

In practice, some situations look better than others, but it does a surprisingly good job. If MLAA has an Achilles’ heel, it’s that it can modify things that you don’t want to be anti-aliased. Text, in particular, can look strange with MLAA enabled, especially at smaller sizes.

It’s noteworthy that on release, MLAA was only supported by the Radeon HD 6000 series, but the new driver that became available January 26 and February’s official Catalyst 11.2 driver make the feature available for the Radeon HD 5000-series cards, too.

Driver Settings: Radeon Anti-Aliasing Controls

Before we tinker with anything, the first thing we’re going to do is set the Catalyst Control Center to display the advanced view so all of the settings we’re interested in will be on the same page. To do that, click the Preferences menu on the top-right and select Advanced View.

From here, click the Gaming category on the left menu and select “3D Application Settings.” This will bring up all of the 3D settings, with most of the anti-aliasing items conveniently located on the top of the page.

What you see here depends on the Radeon card you’re using. Radeon HD 6900-series boards expose a Mode drop-down menu, while all other Radeons have a simple “Use application settings” checkbox.

It’s important to note that the Mode menu and “Use application settings” checkbox do not influence all of the anti-aliasing settings in this section. They affect only the anti-aliasing level, and in the case of the Radeon HD 6900 series, whether or not EQAA is enabled.  Let’s begin with the Radeon HD 6900’s unique Mode menu.

The Mode menu has three options: “Use application settings,” “Enhance application settings,” and “Override application settings.” The “Use application settings” option leaves anti-aliasing control to the level set in the game.

The “Enhance application settings” option doesn't really describe its true function at all, which is to add coverage samples (EQAA) to the MSAA level set in-game. For example, if the game options are set to 2xAA, the “Enhance application settings” option will add another two coverage samples.

Finally, the “Override application settings” option attempts to force the level of AA set immediately below the Mode menu on the Level slider. As you can see, this slider can be used to select various levels of anti-aliasing, either pure MSAA or MSAA combined with coverage samples for EQAA. Like the Nvidia version, AMD’s Override isn’t particularly successful at forcing anti-aliasing, except in a minority of cases.

For Radeon HD 6800-series cards and below, the Mode menu is replaced with the “Use application settings” checkbox. When this is unchecked, it works the same as when the “Override application settings” option is selected, as explained in the previous paragraph.

If you have a Radeon HD 6000- or a Radeon HD 5000-series card and the new Catalyst 11.2 driver (or newer), you will see a “Morphological Filtering” checkbox. Enabling this option will turn on MLAA, and it works very reliably in every scenario we’ve tried. It can be used in conjunction with the other anti-aliasing modes and settings.

The last menu in this section is the Filter menu that includes Standard and Edge-Detect options. The Standard filter indicates run-of-the-mill MSAA, but the Edge-Detect filter enables the custom-filter anti-aliasing mode. Note that the Edge-Detect filter cannot be enabled unless the anti-aliasing level is at least 4x MSAA.

At first glance, this appears to be all of the anti-aliasing settings that the driver offers. Unfortunately, the interface isn’t particularly well-organized, and you need to scroll down for the other anti-aliasing section, Anti-Aliasing Mode.

The Anti-Aliasing Mode section contains a slider with the oversimplified designator Performance on the left and Quality on the right. Below the slider lies more important information about the three possible settings: Multi-Sample AA, Adaptive Multi-Sample AA, and Super-Sample AA.

The standard Multi-Sample AA setting is self-explanatory. The second setting, Adaptive Multi-Sample AA, enables AMD’s transparent texture anti-aliasing method. Finally, the Super-sample AA setting applies full supersampling anti-aliasing on the entire scene.

Simple enough, right? As we’ll see on the next page, though, many of the options we’ve just discussed are not as reliable as we would like them to be.

Create a new thread in the UK Article comments forum about this subject
This thread is closed for comments
Comment from the forums
    Your comment
  • mi1ez
    Is that picture on P1 from the Half-Life 2 demo thing?
  • Gonemad
    "making it less desirable in games that have a lot of small type, like MMOs"

    Bingo! That was garbling the text in one certain MMO I was playing. I mean, really garbling to the point it was unreadable, even at 19 x 12 resolutions.

    However, even after disabling AA on the driver and in-game, it was still active. Now you call that "inconclusive". Fortunately, I make a full backup copy of the game folder before tweaking settings, and it took me a full folder backup restoration to disable the option. The catch is, I am trying to recreate the conditions of the malfunction, without success.

    Good Job on the article.
  • tranzz
    Great article - a similar one about anisotropic filtering would be interesting too
  • Jay_83
    Yes tranzz, we hear you.
    Nvidia's naming scheme for AA modes made me lol. Bastards!
    Thanks for the article, cleared some stuff up for me.
  • cleeve
    Anonymous said:
    Is that picture on P1 from the Half-Life 2 demo thing?

    Yessir. Half Life Lost Coast.
  • cleeve
    Anonymous said:

    However, even after disabling AA on the driver and in-game, it was still active. Now you call that "inconclusive". Fortunately, I make a full backup copy of the game folder before tweaking settings, and it took me a full folder backup restoration to disable the option. The catch is, I am trying to recreate the conditions of the malfunction, without success.

    Ouch, that sounds like a royal pain in the arse. Thankfully I never experienced that issue yet.
  • mi1ez
    Anonymous said:
    Yessir. Half Life Lost Coast.

    Ah yes! That's the one!
  • Zingam
    We don't need AA at all. We just need 16000x10000 22" LCD panels :P
  • Zingam
    The choice of a water background for these screenshots is a bad one. You should have chosen static backgrounds for the screenshots. Nothing should change between aliased and anti-aliased modes in the picture.
  • silverblue
    mi1ezIs that picture on P1 from the Half-Life 2 demo thing?

    Exactly my thoughts as well. :)
  • Gonemad
    "We don't need AA at all. We just need 16000x10000 22" LCD panels"

    That is exactly what Supersampling does. But I distinctly remember some games that looked jagged in the good ol'days of 800x600 and looked better at 1024 x 768 with better FPS than enabling AA at 800x600. Or even going back to 640x480 and turn all the eye-candy (back then) on.

    I guess Supersampling is still valid when you hit the TOP resolution of whatever your setup is, but the graphics card( 3x SLI or 3xCF) is still not getting hit. Something like triple 30" monitors at full blast.
  • acer0169
    With my old machine, Crysis always looked better at 1080p than 1440x900 with 4x AA. Now though - new machine.. 1080p with 4x AA sexy :D
  • chechak
    Great job with this article i hope next one will mention anisotropic filtering !
  • AntiZig
    great article, for someone who studied anti-aliasing in school, it was a great read to see how the big boys do it in video games of today.

    would love to see similar article about anisotropic filtering and tessellation.