I've been asked a lot of questions about how anti-aliasing works, what the best modes are, etc. etc. So, I've decided to publish a guide on the subject to help you newbies out there understand the features of your graphics card a little better. For this test I've used an overclocked nVidia 8800GTX. With the 8 Series of graphics cards, nVidia has introduced some interesting new anti-aliasing features.
If you need a more technical explanation of anti-aliasing, then there are plenty of tech-oriented websites out there that can provide that for you. My goal with this article is simply to show you the different kinds of anti-aliasing modes available, what they do, and what the optimal settings are. As with any graphical settings, the goal is to find a balance between image quality and performance. What I found in my testing is that at a certain point, image quality remains basically the same, and performance drops dramatically. 16xAA may earn you some bragging rights because you need an awfully powerful system to run that, but as I will show you below, your image quality won't necessarily be noticeably better than someone running 4xAA. I'll also cover transparency anti-aliasing, and how multi-sampling and super-sampling affect image quality and performance. For my tests, I picked two games: Half-Life 2: Lost Coast and Elder Scrolls IV: Oblivion.
Remember, to see a full-sized picture in a new window, simply click on the pic. I recommend that to compare pics, you simply open them side by side in new tabs.
Multi-Sampling Anti-Aliasing With Lost Coast
As a reference, here is the game with no anti-aliasing enabled. You can clearly see a great deal of "jaggies" all over the screen. This looks especially unpleasing to the eye as the game is in motion, as everything seems to sort of "crawl", as though there are millions of ants all over the textures. However the game is certainly flying at 90 frames per second. It should be noted however that no DVI monitor can display more than 60 frames per second, and it's unlikely one would be able to discern frame rates greater than 60 anyway.
Now we begin with 2xAA. 2xAA provides a moderately cleaner picture at a low cost to perfomance. As you can see the difference is not dramatic over no anti-aliasing, but the performance is still flying at 83 frames per second:
Stepping it up to 4xAA, we now see a dramatic improvement in the picture quality when compared to no anti-aliasing. This is noticeable in the picture, but it's especially noticeable when the game is in motion. 4xAA will provide a greater performance hit than 2x, but as you can see it's quite minor, in this case a mere 2 frames per second:
Stepping it up again to 8xAA, we now start to see a plateau. There is virtually zero difference between 4x and 8x antialiasing, but we see a 10 frame per second loss in performance:
Bumping it up further still to a whopping 16xAA, there is a noticeable improvement over 4x, but it's so slight that it can only really be seen in motion. The difference is all but unnoticeable, but on the plus side, the frame rate remains about the same:
Coverage Sampling Anti-Aliasing
With the 8800 cards, nVidia introduced Coverage Sampling Anti-Aliasing, or CSAA. What is CSAA, you ask? Essentially, what the original forms of anti-aliasing worked by rendering the image at a higher resolution, then downscaling the image to a lower resolution. The next evolution, multi-sampling anti-aliasing, worked by adding the ability to compute multiple samples in the hardware itself. With CSAA, nVidia has improved the quality and color accuracy of anti-aliasing while reducing the performance hit. CSAA is available in 8x, 8xQ,16x, and 16xQ. You can read a technical explanation of CSAA here.
To enable CSAA, you can do two things: you can select "enhance the application setting", then set the AA sampling to your desired level. Then you enable anti-aliasing in your games (it doesn't matter whether it's 2x or 4x), and the driver "enhances" the setting by applying the additional samples. If a game doesn't support anti-aliasing natively, you can select "override the application setting" and then select 8x, 8xQ, 16x, or 16xQ. This is necessary in Oblivion, because the game does not allow you to enable anti-aliasing if HDR lighting is used. Personally, for the best compatibility I find it best to select "override the application setting" as your default. We've already seen 8x and 16x, so let's start with 8xQ. 8x and 16x CSAA proved to give extremely little performance hit over 4xAA, so let's see if doubling the number of color/z/stencil samples improves quality noticeably:
I am unable to discern any improvement over standard 8xAA, but we do get a 1 frame per second performance loss. On to 16xQAA, which is currently the highest possible quality of anti-aliasing available. It dropped the frame rate down to 58 frames per second, but can you tell any difference?:
For reference, here it is at 4x again:
Transparency Anti-Aliasing Now to take a look at transparency anti-aliasing. Transparency anti-aliasing provides anti-aliasing for "transparent" textures such as foliage, fences, grates, etc. With the growing popularity of games in foliage-heavy outdoor settings, this can be an invaluable setting. This mode of anti-aliasing comes in two forms: super-sampling and multi-sampling. It is used in conjunction with a basic form of anti-aliasing (2x, 4x, etc.) Transparency multi-sampling provides a small quality improvement and a small performance loss. Super-sampling provides much more dramatic image enhancement, but is extremely tough on videocards. However, it can be used in strategic ways to improve image quality, and depending on the game it may be worthwhile to use. If you're not familiar with the "3D settings" profiles in your nVidia control panel, I suggest you familiarize yourself with it and learn to make individual profiles for your favorite games.
Let's start by taking a look at Half Life 2: Lost Coast again. For reference, here is a pic at 4xAA, without transparency:
Now let's try 4xAA again, but add in transparency multisampling. Surprisingly there is no discernible difference here. Multisampling provides no significant improvement. The frame rate stays constant, but that's no surprise:
However, once we turn on transparency super-sampling, it's a whole different ballgame. While the picture looks mostly the same, there are two major differences, and we look no further than transparent textures: the fence up the path behind the old man, and the tree at the top. Notice that the lines look dramatically cleaner. Transparency super-sampling virtually eliminates the texture crawl that is often very noticeable on these textures when the game is in motion:
Just for kicks, let's crank it to the highest possible setting of anti-aliasing: 16xQAA + TSS. Can you tell any difference versus 4x + TSS? It's there, but it's quite subtle. You may not notice the image quality improvement, but you will definitely notice the giant frame rate drop:
Elder Scrolls IV: Oblivion – a lesson in application Let's take a look at Elder Scrolls IV: Oblivion to see how we can improve visual quality without sacrificing too much performance. Oblivion uses a ton of dense foliage (grass, trees, etc.), making it a prime candidate for transparency anti-aliasing. For reference though, let's take a look at a pic without any anti-aliasing:
Now let's add 4xAA. This shot is mostly foliage, but there's a clear improvement in the visible architecture as well:
Again going to 16x produces only a slightly discernable effect, but chops off only a small amount of performance thanks to nVidia's CSAA technology:
Now, let's move on to transparency super-sampling. I'm skipping multi-sampling because frankly there's just no difference. Now, there is a ton of foliage and you can see that TSS truly smooths it out. However, notice in the pic below that the image also seems a bit less sharp in the foliage areas, and we've taken a frame rate hit that surpasses even 16xAA. Now, in motion, I found the improvement quite a bit more striking, because there is no "texture crawl" on the foliage – it looks like foliage should look when it sways in the wind (i.e., not with millions of ants all over it):
At this point, it is a playable frame rate at 43 frames per second, but keep in mind this test was done on an overclocked 8800GTX. If you have a less powerful card, stick with 4xAA at most. If you want to use transparency on a mid-range card, try 2xAA+TSS. In my opinion, this provides a better visual improvement than 4xAA:
There's a compromise in that regular textures look worse, but foliage improves significantly. Some may actually prefer this setting as the image looks a little bit sharper, but is fairly clean. Additionally, the performance hit is about the same as standard 4xAA.
Well that it folks! Hopefully this guide helps you determine optimal settings and give you a better understanding of how the various forms of anti-aliasing work. I encourage you to experiment on your own, and decide what settings provide the best balance in your own favorite games.