Sign in with
Sign up | Sign in

Radeon-Exclusive Anti-Aliasing Modes And Driver Settings

Anti-Aliasing Analysis, Part 1: Settings And Surprises
By

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.

Display all 86 comments.
This thread is closed for comments
  • -4 Hide
    atikkur , April 13, 2011 4:19 AM
    PERTAMAX gan. .
  • 8 Hide
    burnley14 , April 13, 2011 4:24 AM
    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.
  • 4 Hide
    dragonsqrrl , April 13, 2011 5:28 AM
    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.
  • 8 Hide
    tallguy1618 , April 13, 2011 5:36 AM
    This is definitely one of the better articles I've read
  • 0 Hide
    Anonymous , April 13, 2011 6:37 AM
    what are you talking about?
    we can still force Supersampling
    as of 266.58 on Nvidia cards
  • 1 Hide
    army_ant7 , April 13, 2011 7:00 AM
    Why does it say here, http://www.geforce.com/#/Optimize/Guides/AA-AF-guide (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.
  • 3 Hide
    JimmiG , April 13, 2011 7:23 AM
    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.
  • -1 Hide
    BulkZerker , April 13, 2011 7:24 AM
    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.
  • 1 Hide
    Assmar , April 13, 2011 7:24 AM
    Maybe I'm wrong, but no Batman or Mass Effect 2 forced AA settings?
  • 2 Hide
    heycarnut , April 13, 2011 7:29 AM
    @army_ant7:

    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).
  • 1 Hide
    army_ant7 , April 13, 2011 7:33 AM
    Quote:
    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).


    Thanks for the reply heycarnut.

    With that it mind, what does 2X sampling multiply the axes by?
  • 0 Hide
    nileshd , April 13, 2011 7:43 AM
    if the game doesn't support anti aliasing, forcing through the driver may or may not work, but the point here is that nvidia drivers still do support supersampling as opposed to that mentioned in the article.
  • 0 Hide
    mattmock , April 13, 2011 9:25 AM
    Nvidia is currently offering a SSAA tool for download. Its a bit primitive and just sets SSAA for all games.
    http://nvidia.custhelp.com/cgi-bin/nvidia.cfg/php/enduser/std_adp.php?p_faqid=2624
  • 0 Hide
    tavix , April 13, 2011 10:48 AM
    Gr8 article. Thanks!
  • 0 Hide
    ghostie , April 13, 2011 11:11 AM
    Thanks for the great article Don.
  • 0 Hide
    rpgplayer , April 13, 2011 11:22 AM
    how about some benchmarks with the games that accepted forced driver settings? that way we can see if the in game setting is biased toward one card company. like left for dead 2, benchmarks of the ingame setting for 2x,4x,8x. then benchmarks of the driver setting 2x MSAA/SSAA, 4x MSAA/SSAA and so on. that way we can see if the game is being biased.
  • 0 Hide
    feeddagoat , April 13, 2011 1:17 PM
    Ive always wondered what was the difference between and what was better between application decided and driver based AA. In far cry 2 using my HD4870 The trees turned into green blobs using driver based AA but in game AA worked perfectly. Since then Ive just left the let the application decide box ticked and ignored Driver based. Can't wait for part 2 to see what gives the best result if it even works. Great work toms!!
  • 2 Hide
    warhammerkid , April 13, 2011 1:20 PM
    Nvidia Inspector (http://blog.orbmu2k.de/tools/nvidia-inspector-tool) is like the Nvidia control panel on steroids. It gives access to many more of the configuration options than the Nvidia control panel, like SSAA, several settings for transparency anti-aliasing, and a whole bunch of other advanced configuration options. I prefer it over nHancer (http://www.nhancer.com/), as I've had better luck with it in the past, but both should work. I'm somewhat surprised, though, that no one at Tom's Hardware actually used it to test out Nvidia SSAA, as I've had quite a lot of success with it.

    assmarMaybe I'm wrong, but no Batman or Mass Effect 2 forced AA settings?

    I used Nvidia Inspector on Mass Effect 1 and Mass Effect 2 to play the game with 2x2 SSAA (2x horizontal and 2x vertical), and it definitely works if you set it to force the game to use those settings. Forcing MSAA in those games didn't seem to work though, or if it did the effect wasn't noticeable enough to be worth it, not surprising considering some of the issues Unreal Engine games have with anti-aliasing. I didn't bother trying this with Batman because the built-in AA for the game looked fine.
  • 0 Hide
    WyomingKnott , April 13, 2011 2:01 PM
    I can see the benefit from AA in the examples, but doesn't it make things look fuzzy? I suppose it's a necessary trade-off for now.
  • 1 Hide
    cleeve , April 13, 2011 2:44 PM
    army_ant7Why does it say here, http://www.geforce.com/#/Optimize/Guides/AA-AF-guide (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.


    Depends on how you frame it I guess: when the dimensions are doubled, the area is quadrupled.

    Twice the size is four times the samples: Like a 2"x2" grid contains four square inches, and twice the size is 4"x4" but it contains 16 square inches... four times as much area, but only twice the size when you look at the dimensions.

    army_ant7With that it mind, what does 2X sampling multiply the axes by?


    1.5 times? :p 

    It's probably easier to just think of the number as how many samples per pixel. 2xAA=2 samples per pixel, 4xAA=4 samples per pixel, etc...
Display more comments