MFAA Technology Recap
NVIDIA is finally ready to share a driver that supports MFAA (multi-frame sampled AA) and we were able to spend a day with it.
In mid-September NVIDIA took the wraps off of the GeForce GTX 980 and GTX 970 GPUs, the first products based on the GM204 GPU utilizing the Maxwell architecture. Our review of the chip, those products and the package that NVIDIA had put together was incredibly glowing. Not only was performance impressive but they were able to offer that performance with power efficiency besting anything else on the market.
Of course, along with the new GPU were a set of new product features coming along for the ride. Two of the most impressive were Dynamic Super Resolution (DSR) and Multi-Frame Sampled AA (MFAA) but only one was available at launch: DSR. With it, you could take advantage of the extreme power of the GTX 980/970 with older games, render in a higher resolution than your panel, and have it filtered down to match your screen in post. The results were great. But NVIDIA spent as much time talking about MFAA (not mother-fu**ing AA as it turned out) during the product briefings and I was shocked when I found out the feature wouldn't be ready to test or included along with launch.
That changes today with the release of NVIDIA's 344.75 driver, the first to implement support for the new and potentially important anti-aliasing method.
Before we dive into the results of our testing, both in performance and image quality, let's get a quick recap on what exactly MFAA is and how it works.
Here is what I wrote back in September in our initial review:
While most of the deep, architectural changes in GM204 are based around power and area efficiency, there are still some interesting feature additions NVIDIA has made to these cards that depend on some specific hardware implementations. First up is a new antialiasing method called MFAA, or Multi-Frame Sampled AA. This new method alternates the AA sample pattern, which is now programmable via software, in both temporal and spatial directions.
The goal is to change the AA sample pattern in a way to produce near 4xMSAA quality at the effective cost of 2x MSAA (in terms of performance). NVIDIA showed a couple of demos of this in action during the press meetings but the only gameplay we saw was in a static scene. I do have some questions about how this temporal addition is affected by fast motion on the screen, though NVIDIA asserts that MFAA will very rarely ever fall below the image quality of standard 2x MSAA.
That information is still correct but we do have a little bit more detail on how this works than we did before. For reasons pertaining to patents NVIDIA seems a bit less interested in sharing exact details than I would like to see, but we'll work with what we have.
Previous-generation GPUs include fixed sample patterns for anti-aliasing (AA) that are stored in Read Only Memory (ROM). When gamers selected 2x or 4x MSAA for example, fixed sample patterns were used. With Maxwell, we have introduced programmable sample positions for rasterization that are stored on Random Access Memory (RAM), creating opportunities for new, more flexible, more inventive AA techniques that uniquely address the challenges of modern game engines, such as the increased performance cost of high-quality anti-aliasing. Maxwell's new RAM-based sample position technology can still be programmed with standard MSAA and TXAA patterns, but now the driver or application may also load the RAM with custom positions that are free to vary from frame to frame, or even within a frame.
While temporal anti-aliasing has definitely been done before, the key point appears to be its locality in graphics memory and the flexibility for the driver or game developer to specify these AA sample points on-demand. MFAA, as a technology, takes advantage of this implementation by alternates sample patterns on a frame-to-frame basis, offering potential image quality and performance advantages.
Interestingly, taking screenshots of MFAA doesn't work as it has with most other AA implementations. Users or reviewer's taking screenshots of MFAA with Fraps or similar capture utilities are not going to be the final image sent to the display; this same thing occurs with DSR-enabled games and screen captures. Instead, you need to use hardware capture to see the results of MFAA and we are already well-versed in that with our Frame Rating performance capture capabilities.
There are some disturbing limitations to MFAA today as well, the most daunting of which is the white-list of games that support it with this driver:
- Assassin's Creed IV Black Flag
- Assassin's Creed: Unity
- Battlefield 4
- Civilization V
- Civilization: Beyond Earth
- Crysis 3
- DiRT 3
- DiRT Showdown
- F1 2013
- F1 2014
- Far Cry 3
- Far Cry: Blood Dragon
- GRID 2
- GRID Autosport
- Hitman: Absolution
- Just Cause 2
- Saints Row IV
- Splinter Cell: Blacklist
- Wargame: European Escalation
That's right, only 20 games will be able to take advantage of MFAA as of today. When initially discussed, NVIDIA stated pretty directly that this technology would be compatible any game and any engine, but that seems to have not worked out for them. Quite a few of NVIDIA partner games are missing: the Borderlands series, Far Cry 4, Call of Duty, etc. Though NVIDIA won't talk directly about, it seems likely that they ran into some image quality issues when doing long-term testing with MFAA in real-world gaming scenarios, and decided to go with the white list approach until it can all be ironed out.
Speaking of the white list, another disappointing point with this approach is that the white list is silent. If you enable MFAA in the control panel but start up a game that doesn't support it, you will receive no warning and no message to tell you that won't be getting the improvements associated with the feature. (You won't see any performance penalties either.) Instead, you'll have to research on your own if MFAA is at work to help decide if you want enable 2x MSAA or 4x MSAA in the game's settings. NVIDIA tells us that GeForce Experience support for MFAA will be here soon so only games that are on that approved list will have the feature enabled.
Users that purchased multiple GTX 980 or GTX 970 cards will be disappointed to find that MFAA is not supported with SLI yet; that will apparently have to wait for another driver update in the future. (Though how far in the future hasn't been said.)
Hiccups aside, enabling MFAA in your control panel is a simple prospect.
Another new line item in the control panel shows up if you have supported hardware and the options are simply on and off. Other than the over-crowding of the NVIDIA CP in recent months, leaving MFAA on will likely be an easy decision for GTX 980 and GTX 970 owners.