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 center 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 colors 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.

  • atikkur
    PERTAMAX gan. .
  • burnley14
    Awesome article. I am unfortunately not one of the elite few who know all the ins and outs of graphics performance, so this was very enlightening for me.
  • dragonsqrrl
    Great article, very informative. I've never really used forced anti-aliasing through the driver, and from what I've read it doesn't really sound like a good idea anyway, given the fact that most modern games provide adequate AA levels through in-game settings (these are usually better optimized as well). Seems like forced driver level AA is pretty hit-or-miss. With a few rare exceptions it just doesn't seem like it's worth the effort.

    ...went to the link for Tom's Geforce3 article. The good old Geforce3, now that takes me back.
  • tallguy1618
    This is definitely one of the better articles I've read
  • what are you talking about?
    we can still force Supersampling
    as of 266.58 on Nvidia cards
  • army_ant7
    Why does it say here, (go to the next page of this article), that it internally renders the frame at a resolution 4 times greater? But according to the 2nd page of this article, it says that at x4 AA it only internally renders a frame at a resolution 2 times greater.
  • JimmiG
    Great article, but this is really something Nvidia and AMD will have to fix together with game developers...

    The settings I select in the driver control panel should apply without me having to worry about coverage samples, multi samples, DirectX versions or the alignment of the planets. It should just work.

    Similarly, any self-respecting game made in the last 6-8 years should have proper anti-aliasing options in its in-game menu. Not just an On/Off switch, but the full range of AA settings available with the video card being used.
  • BulkZerker
    MrBonkBonkwhat are you talking about?we can still force Supersampling as of 266.58 on Nvidia cards

    IF the game lets it! Drivers trying to force AA doens't mean the game will allow it. If the game doesnt' support it your not goting to get tehy type of AA.

    Either way this AA fragmentation is almost as bad as all these custom versions of Driod.
  • Assmar
    Maybe I'm wrong, but no Batman or Mass Effect 2 forced AA settings?
  • heycarnut

    Nvidia article is wrong, or at the very least semantically sloppy.

    4X samples generally means doubling of resolution for both axes. 4*(x*y)==(2*x)*(2*y).