The Anti-Aliasing Effect
How developers are battling the jaggies.
In this video you can see the difference that the blending makes, when The Saboteur is put up against the Xbox 360 version. Try to ignore the differences in lighting: curiously, the lighting model seems to be turned up to 11 on the Microsoft console.
The Saboteur demonstrates that developers are becoming ever-more ingenious with their utilisation of the Cell CPU, offloading tasks that are traditionally carried out by the graphics chip onto the satellite SPUs. The Saboteur's success is seemingly down to the amount of passes that are carried out on the image. As we discussed in our initial article, there are a couple of weaknesses: using luminance as the basis for edge-detecting means that some shades of colour will go unseen. More than that, sub-pixel edges will suffer badly after processing. However, in the case of The Saboteur, the biggest issue is that the entire frame is processed before being passed to the video output - this means that the algorithm is detecting edges on the HUD, making the text look rather odd.
This has not stopped console developers looking at this particular solution and trying their hands at their own methods dubbed, perhaps erroneously, as MLAA or morphological anti-aliasing (maybe image space AA, or post-process AA would be a better name). According to his Twitter posts, Jaymin Kessler of the Q-Games research and development tech team already has his own implementation up and running, capable of processing a 1080p image in 0.8ms (though it's uncertain if this is for one pass or for several). Multiple passes of the image refine quality, though Kessler noted that there wasn't so much different between the third and fourth passes, suggesting that (with his algorithm at least) there is a law of diminishing returns in the quality of the output the further you process it.
So, just how much of an impact can this type of edge-smoothing have on the image quality of our games? The results can be dramatic. In our original Saboteur article we linked to an existing piece of Intel code that performed its own edge detect and blur algorithm. A friendly developer compiled this for us, allowing us to show an intriguing range of "what if..." scenarios.
We ran the filter across a range of games to see what kind of results we could get. By and large, the results were remarkable. Let's kick off with a look at the beta of Battlefield: Bad Company 2 on PS3. Running at native 720p with no anti-aliasing at all, this was the game we thought would benefit the most.
The difference is night and day here, with the algorithm working beautifully in smoothing off edges and creating a lovely, realistic look. The code was also tested out again on another game that lacks AA: Volition's PS3 rendition of Red Faction: Guerrilla. You can see the pictures below to get some idea of the edge-smoothing improvements that this style of AA can produce, and again the results can be quite extraordinary. Just about the only limitation in using the filter is that it won't work on sub-HD framebuffers scaled to 720p - so this is the main reason that Halo 3 is a no-show in the testing.
The technique can also be used on top of existing multi-sampling anti-aliasing and again there are advantages, as you can see in these pictures of Uncharted. Note, however, the blurring of texture detail in the second shot - this would never happen with MSAA, though it must be said that the Intel code is particularly heavy-handed with its blurring - far more so than The Saboteur's implementation.
In terms of how this translates to the game in motion, we exported our video into a 22,000-frame image sequence, corrected the torn frames where the game drops v-sync, then ran all the images through the filter before recombining them back into a movie. Here's a selection of the resultant clips up against the originals. The overall sensation you get is that while the edges are all smoothed off significantly, and image quality in general seems to have been boosted somewhat, in motion something isn't quite right, particularly on the third-person vehicle section...