MLAA (Morphological Anti-Aliasing)
Morphological Anti-Aliasing is a feature introduced with the 6000 series which now works on the 5000 series as of the 10.10e hotfix driver. It is implemented by DirectCompute shaders so in theory it could be implemented on any video card that has high enough shader capabilities. MLAA replaces the narrow and wide tent CFAA modes so these have been removed from the control panel, though it’s possible they can still be activated by third party utilities.
MLAA is similar to CFAA in that it’s a shader based post-filter, but it happens much later in the pipeline, after all of the rendering has finished. It works by detecting certain patterns in the final rendered scene and blending them together according to their shape, introducing intermediate colors into image discontinuations. MLAA can be combined with regular AA which results in the post-filter being applied on top of the existing AA, along with a combined performance hit.
MLAA’s advantages over traditional AA are that it’s theoretically compatible with every game (including deferred renderers), and it doesn’t use additional VRAM since the scene is not rendered higher. It’s also supposed to be faster than regular AA, though performance tests later in this article reveal this is often not the case.
Its disadvantages are that it only reuses pixel-level data from a finished frame, and as a result it doesn’t have access to any higher precision sub-pixel information. Also unlike edge-detect CFAA which only blends polygon edges, MLAA can blend anywhere which can cause scene blurring and loss of detail.
As it operates on finished images MLAA cannot be captured by Fraps, though games that implement in-game screen captures will show it. AMD provides a tool to apply MLAA to finished images but I found it easier to use Radeon Pro, which has the ability to capture MLAA images. I can confirm the screenshots below match what I was seeing in-game:
The images above are a hut from Far Cry 1. Compared to MSAA/SSAA, MLAA has visibly worse edges on the top and left edges of the hut’s roof, and also on the large diagonal beam below it. Also the inside of the hut’s roof is visibly smudged from excessive blurring. The top chair and crate edges are smoother with MLAA, however.
In Far Cry 1 MLAA also causes edges at long distances to sparkle even without player movement. The algorithm seems to be constantly changing its mind about how to anti-alias things, which leads to inconsistent image quality when gaming.
I tried MLAA in about a dozen games including ones where AA doesn’t normally work, such as Timeshift, Halo 1 and Cryostasis. While it worked everywhere, almost every game had obvious blurring to 3D scenes, menus and text; console text in Half-Life 2 was practically unreadable. MLAA also showed little to no improvement to shader and vegetation aliasing during in-game movement in games like Far Cry 2 and Crysis. It just blurred the vegetation without really doing much to reduce the shimmering.
About the only game where MLAA provided acceptable image quality was in Halo 1 where it visibly reduced jagged edges without excessive blurring.