Sign in with
Sign up | Sign in

Driver-Forced Anti-Aliasing: Surprisingly Unreliable

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

Now that we’ve covered all of the AMD and Nvidia anti-aliasing driver options, we have some bad news: the driver-set options often don’t work.

This information probably comes as quite a shock, we know. I always assumed that driver settings trumped everything else when it came to anti-aliasing, but this is definitely not the case. We tested nine games, five of which had an option to use DirectX 9 or DirectX 10/11. After testing all of the games and render paths, here are the results:

Red means the driver anti-aliasing setting was a failure, green means it was successful, and yellow means the result is inconclusive. As you can see, success runs at about 50% overall, with certain options faring much better than others. But there’s a lot more to this chart than meets the eye. Let’s talk about the success of specific driver options, starting with the GeForce cards.

The GeForce Override setting only works in two of the 14 game scenarios we tested. This isn’t as bad as it might sound, since the primary purpose of Override is to force CSAA, and as you can see, four of the games that don’t work with Override already support CSAA in the game’s native menu. That means that CSAA works with six of the 14 game scenarios we tested. Different DirectX versions aside, five out of nine games support CSAA in one way or another.

The Enhance setting is meant to add CSAA support to games that don’t support Override, but have an in-game anti-aliasing setting available. In this case, 11 out of the 14 scenarios work, meaning that CSAA can be used in any game that supports anti-aliasing or that can work with Nvidia’s Override setting. Note that in DirectX 10 and 11 titles, Enhanced mode will only be able to force a CSAA mode if it uses the same number of multisamples as the MSAA mode set within the game’s menu options. For example, if 4x MSAA is set in-game, the Enhance setting will only work with the CSAA modes that call for four multisamples—8x CSAA will work because it uses 4x multisamples and 4x coverage samples, and 16x CSAA will work because it calls for 4x multisamples and 12 coverage samples. But 32x CSAA will not work because it calls for eight multisamples and 24 coverage samples.

What’s the significance of this? For those of you who hope to use Override as a set-and-forget mechanism for controlling the anti-aliasing level in all of your games, that obviously isn’t going to work. Similarly, if you fancy using CSAA by forcing it through the driver, you need to understand the relationship between the CSAA mode you plan to use and the level of MSAA you set in-game. This information is not provided in the driver, so you need to understand the Nvidia anti-aliasing level designations (see the Coverage Sampling Modes page in this article for that information).

Now that we have a better understanding of Override’s limitations, let’s move onto Nvidia’s Transparent AA feature. TrMSAA has a somewhat dismal track record of working in two out of 12 possible scenarios. It's tied to the MSAA setting, and two game scenarios don’t support anti-aliasing at all.

TrSSAA has a much better history of success, and it works in seven out of 14 scenarios. It also functions independently of the MSAA setting in seven out of nine games if the DirectX 10/11 code paths are used. Considering the limitations we’ve seen with other anti-aliasing options, that’s a relatively good ratio, especially since it works with the newest DirectX versions of these game engines.

Now it's time for AMD's turn in the hot seat.

The Radeon Override controls work in five of the 14 gaming scenarios, with five of nine games. This is better than what the GeForce cards offer, but we need to point out that in three of those games the Override only works with DirectX 9 and not the newer DirectX 10/11 code paths. This means that if you want to Override the DirectX mode on your Radeon, you’re making a tradeoff in many cases by losing DirextX 10/11-based enhancements.

For Radeon HD 6900-series board owners who are interested in EQAA, we have good news: the enhance feature always works in our tests, the only exceptions being when anti-aliasing is not available at all. The conclusion is that Radeon HD 6900 owners can employ EQAA with confidence when using the Enhance setting, and do not have to concern themselves with matching coverage sample levels with the appropriate MSAA level as Nvidia owners have to do in DirectX 10 and 11 games.

We’re also impressed with the Radeon’s edge-detect mode, as this feature works in all the viable scenarios except one: Metro 2033 in DirectX 11 mode. However, it does work in Metro 2033 using DirectX 9, strangely enough.

How about morphological anti-aliasing? Whether you're talking about DirectX 9, 10, or 11, MLAA just plain works (that wasn't the case when AMD first exposed the feature). This makes it an attractive option for folks who’d like to set it and forget it, although MLAA can cause visual artifacts on the edge of text, making it less desirable in games that have a lot of small type, like MMOs.

The final two settings are closely related because they’re both tied to supersampling. Pure supersampling works in four out of 12 possible scenarios here, as it cannot be forced unless Override is possible. As we’ve mentioned previously, supersampling improves not only polygon edges, but textures as well. Unfortunately, it incurs a hefty performance premium that quickly increases along with resolution.

Adaptive anti-aliasing is very similar to Nvidia’s transparent supersampling, but it only works on two or three out of 12 possible scenarios, and only with older DirectX 9 code paths. This severely limits the feature’s usefulness, which is quite unfortunate since transparent texture anti-aliasing is important when it comes to improving image quality and alleviating aliasing problems.

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