Date: June 11, 2012
Author(s): Rob Williams
With Max Payne 3 reviewed, how about we take a look at the game from a technical perspective? Wondering what the game brings to the tessellation table? How FXAA compares to MSAA? Whether HDAO is really worth the performance hit? We tackle all these questions and more, so read on.
In our review of Max Payne 3, we praised the game for its excellent story, superb voice-acting and solid game mechanics. What we glossed over was what game brought to the table in terms of graphics. As you might have guessed, that gap is being filled with the help of this article.
Being that Max Payne 3 is a Rockstar game through and through, we had a good idea of what the game would deliver graphics-wise long before installation. There are a couple of reasons for this; A) Rockstar’s main focus is console gaming and B) Grand Theft Auto IV and L.A. Noire. It’s been proven to us in the past that Rockstar does want to make sure PC gamers get some extra goodies, but often, we’re left a little underwhelmed.
For what I believe is the first time ever, this is not the case here. While we’re not seeing Battlefield 3-esque graphics, Rockstar has done well to make sure that the game looks as good as can be on the PC. The environments are highly detailed, and the character models are some of the best we’ve seen (thanks in part to L.A. Noire, I’m sure).
Max Payne 3 features support for DirectX 11, a fact NVIDIA helped promote long before its PC launch. Obviously, just because a game supports DX11 doesn’t mean the differences over DX9 will be like night / day, but for those wanting to take advantage of tessellation, a DX11-compatible graphics card is required.
For this game, Rockstar implements Phong Tessellation to help smooth out rough edges on people and vehicles. The idea is that instead of the curvature of a character’s head having obvious rough edges, it’d be smoothed out with the help of phong shading.
As we discovered, however, the effect that this tessellation technique has in-game is minimal at best. Here’s a comparison shot:
In all of our tests, we found that tessellation did little more than “bulk up” character clothing – something that’s almost non-distinguishable unless two images are looked at side-by-side. In talking to NVIDIA about this, we were told that the biggest differences would be seen in close-ups of characters, such as around their ears or head. However, getting close enough to a character to see a difference like this is easier said than done. There’s no camera zoom in the game, so where the differences stand to be seen are in cutscenes.
For a better example, I recommend downloading this archive (400 KB, JPG) and view the included before and after images full-screen. When flicking between them, the differences with tessellation on are noticeable, but are not necessarily “better”. In some cases, I’d say tessellation makes characters look even worse. There are exceptions, however. In these shots, Max’s hands look far more natural with tessellation turned on. It’s the rest that’s debatable.
Since the launch of its Kepler architecture, NVIDIA has been pushing the use of FXAA due to its performance advantage over MSAA. While MSAA applies in real-time, FXAA acts as a post-processor, filtering the image just once (as opposed to 4xMSAA, which renders 4x the resolution and then downscales). This drastically reduces that amount of memory required, and the end-result is top-rate.
To better see the differences in the example below, I recommend clicking on the image to view it at native resolution. Without anti-aliasing, jaggies are evident around the door frame, the broken wall and woodwork in the middle. With ‘Very High’ FXAA applied (there is less than a 1% performance hit between the lowest and highest FXAA levels on a GTX 580), most of the edges in the screen are smoothed without the introduction of some side-effect. Comparing the FXAA and 4xMSAA shots, both are almost identical. The nod goes to MSAA, however, as it managed to smooth out the perimeter of the wall a bit better.
Click to view full-sized image (recommended)
Is that minor improvement worth a ~50% framerate hit? For most people, no. Some might argue that 48 FPS is suitable, but this was a simple scene, and the same setting would plummet some to about 25 FPS or less. I know this, because I went through the entire game with 4xMSAA enabled, not cluing in until I got down to testing. Even with FXAA enabled, some scenes will dip to 60 FPS, which is more than suitable.
On the following page, we’ll cover both Ambient Occlusion and Image Quality.
Ambient Occlusion is a rendering technique used to improve lighting on objects to give the appearance of proper global illumination. Due to both its performance benefit and ease-of-implementation, AO techniques have proven favorable to game developers compared to other methods. Computing AO can be done in a number of ways, but for the sake of games being more enjoyable at over 1 FPS, a common method is placing sphere light sources at points in a scene, wherever improved lighting is desired.
The first time PC gamers were introduced to an AO implementation was with the original Crysis. The exact method was screen-space ambient occlusion, requiring a DirectX 10 graphics card to execute. Since then, we’ve been exposed to a superior method, HDAO (high-definition ambient occlusion), which Max Payne 3 offers support for.
Being a lighting effect, shadows are in the direct crosshairs of things to be affected. The samples below feature ambient occlusion in each screenshot, but we’re comparing two different methods; SSAO and HDAO. In the first image, the differences are difficult to see, but in the second, the shadow in front of the text in the back wall is far smoother and more realistic when using HDAO.
As with our tessellation test, we have source images of the samples above that we recommend checking out. Download the archive (6.5 MB, JPG), load up the images full-screen in your favorite viewer, and flick between them. The differences will be much clearer when viewed this way.
Where image quality is concerned, we’d never expect either AMD or NVIDIA to dominate the other, but given that both companies have their own secret blend of tweaks in their respective drivers, some differences can be seen upon close inspection. With the image sample below, we can see that NVIDIA’s FXAA implementation is superior to AMD’s. Look no further than the sign directory in the background. While on AMD, some of the text is actually missing and the slots aren’t clear, that isn’t the case on NVIDIA.
In respects to other areas around the image, it’s hard to sign off on whether one company’s result is better than the other. The “Palavra” sign does appear to be a little smoother on NVIDIA, but overall, differences are minimal. In further testing, we found more evidence that the game looks better on NVIDIA, but it all seems to boil down to FXAA, an anti-aliasing method that NVIDIA has been heavily promoting (for good reason). It’s clear that NVIDIA has spent a lot more time on perfecting its implementation of FXAA than AMD, but because of its excellent IQ/FPS ratio, running MSAA will be for those who don’t mind the performance hit or are running a high-end multi-GPU single-display PC.
Once again, the sample above is small, so we’re offering the source images along with two other examples in this archive (14.2 MB, PNG).
To experience Max Payne 3 the way it’s meant to be played (to quote a certain GPU vendor), you’ll want to max out the “Quality” levels, enable HDAO, disable MSAA, enable ‘Very High’ FXAA and use your own judgment on tessellation. As mentioned on the first page of this article, the tessellation effect in this game is hit or miss, and based on our included screenshots, you should be able to decide whether it’s actually needed or not.
In our testing (using a GTX 580), we found performance hits to be: A) ~5 FPS when enabling ‘Very High’ tessellation, B) ~4 FPS when enabling ‘Very High’ FXAA and C) 5~20 FPS when using HDAO in lieu of SSAO, dependent on the scene. If you decide to use MSAA over FXAA, you can expect an FPS hit of 40~50%.
Intel Core i7-3960X Extreme Edition – Six-Core @ 4.20GHz – 1.375v
GIGABYTE G1. Assassin 2 – F4E BIOS (12/12/2011)
Corsair Dominator GT 16GB DDR3-2133 9-11-12-27, 1.60v
|AMD Graphics||Radeon HD 7970 3GB (Reference) – Catalyst 12.6 Beta|
|NVIDIA Graphics||GeForce GTX 680 2GB (Reference) – GeForce 301.42|
Onboard Creative X-Fi
Kingston HyperX 240GB SATA 6Gbit/s SSD
Corsair AX1200 1200W
Cooler Master HAF X Full-Tower
Gateway XHD3000 30″
Corsair H70 Self-Contained Liquid Cooler
Windows 7 Professional SP1 x64
For our testing, we used the settings laid out above and AMD and NVIDIA’s most up-to-date drivers. The level benched was Chapter IX, checkpoint #2. Max begins out high in a favela, and makes his way through the town in search of Giovanna and Marcelo. Our benchmark begins as soon as the level begins, and ends right before his first battle with corrupt cops (~2 minutes).
At 1080p, NVIDIA has an obvious edge, though at 2560×1600, both cards even out. This could be due to the NVIDIA card being equipped with just 2GB of GDDR (vs. 3GB on the AMD card), but it’s hard to settle on that given 2GB has been sufficient for most other recent games.
We hope that you enjoyed our look at Max Payne 3 from a technical perspective, and hope to do similar articles down the road. If you have any suggestions or want to comment on this article in particular, hit up the forum link below.
Have a comment you wish to make on this article? Recommendations? Criticism? Feel free to head over to our related thread and put your words to our virtual paper! There is no requirement to register in order to respond to these threads, but it sure doesn’t hurt!
Copyright © 2005-2020 Techgage Networks Inc. - All Rights Reserved.