Review: Excellent scaling and sweet eye candy
ATI has been talking about DirectX 11 for quite some time and the reason is quite simple – Nvidia doesn’t have it and ATI does. Today, we decided to show some results that we got in DiRT 2, one of the few games that support DirectX 11.
DiRT 2 works in DirectX 9 or DirectX 11 mode, and the difference is a lot of features that you can read about on the next page. For DirectX 11 mode you need adequate hardware, or to be precise one of AMD's Evergreen family graphics cards. The entire family of cards includes the HD 5970, HD 5870, HD 5850, HD 5770 or the HD 5750, which can be bought today (minus the HD 5970, sub.ed.).
If you are running Windows XP, you are limited to DirectX 9, while under Windows Vista, you can “force” the game to work in one of the two modes, but only if Service Pack 2 and DirectX End-User Runtime (at least August 2009) are installed. We tried it under Windows 7 which has all of these features and can give you the full DirectX 11 experience.
It is recommended to force the game in DirectX 9 mode if you aren’t equipped with adequate hardware and this is done by editing “forcedx9=true” field in the hardware_settings_config.xml file. Bear in mind that AMD has issued a driver patch which includes support for CrossFireX in DiRT 2.
From these results we can conclude that AMD did a great job with CrossFireX support in DiRT 2, and as you can see the HD 5870 in CrossFireX mode performed quite well.
At 1920x1200 and 4xMSAA, dual HD 5870 cards in CrossFireX scale pretty nicely versus one HD 5870 1GB card, and end up 47% faster. Sapphire's HD 5970 2GB comes close, but not enough to take the cake as it lags behind by 14%.
At 2560x1600, CrossfireX ends up on top once again by beating Sapphire's HD 5970 2GB and a single HD 5870 1GB by 15% and 52%, where the latter again shows some nice scaling.
Two HD5870's in CrossfireX seem to really dominate our tests, as 2560x1600 and 4xMSAA see it come out a winner versus Sapphire HD 5970 2GB by 16%. The HD 5870 1GB loses to the Crossfired combo by as much as 54%. Interestingly enough, it seems like scaling improves as our tested scenarios get tougher.
Geforce cards had post processing set to 'medium', due to absence of 'high' setting, whereas Radeon cards were set at 'high'. At the same time, this is the reason behind EVGA's nice results.
Colin McRae: Dirt 2 DX 11 Benchmarking Guide says DiRT 2 packs the following DirectX 11 features.
Hardware tessellated dynamic water with ultra quality settings
Hardware tessellated animated crowd with ultra quality settings
Hardware tessellated dynamic cloth with high quality settings
DirectCompute 11 accelerated high definition ambient occlusion (HADO) with high quality settings
Full floating point high high dynamic range (HDR) lighting always enabled
Full screen resolution post processing with high quality settings
Hardware Tessellated Dynamic Water (Ultra Quality)
Of course, in order to provide a realistic experience, many tracks feature water sections, which when driven through show some nice water displacement effects. This task is reserved for the CPU, as such things require some serious computing muscle, and it calculates displacements and updates a height field texture. DirectX 9, on the other hand, uses the height field to apply correct per pixel lightning, but the surface itself is made of only two triangles, which make the plane. DX11's hardware tesselator generates hundreds of triangles, of course depending on the camera proximity, whereas the Domain Shared samples the height field to displace the tesellated mesh, which results in much more realistic water effects.
Figure 1: DirectX 11 water with hardware tessellation enabled (top) and DirectX 9 water without hardware tessellation (bottom).
Hardware Tessellated Animated Crowd (Ultra Quality)
Animating the spectators has been an Achilles' heel for many games, as no one wants to throw away processing power on static objects that aren't quite contributing to the active part of gameplay. On the other hand, these things to tend to add realism so they're usually added but developers often aim at the lowest polygon count possible. The game's engine in DirectX 11 mode however uses Curved PN-Triangles (or N-Patches) to increase the resolution and improve the models in general. The models have also been treated to a displacement map in order to bring out details, thus resulting in a more realistic crowd without significant sacrifices in performance.
Figure 2: DirectX 11 animated crowds with hardware tessellation enabled (left) and DirectX 9 animated crowds without hardware tessellation (right).
Hardware Tessellated Dynamic Cloth (High Quality)
The track borders have been improved as well, and the orange sheets and banners are updated depending on the car and wind movement. Similar to the crowd issue, DirectX 9 uses only a few polygons for this together with the Curved PN-Triangles and hardware tessellators to make it as realistic as possible.
Figure 3: DirectX 11 dynamic cloth with hardware tessellation enabled (left) and DirectX 9 cloth without hardware tessellation (right).
DirectCompute 11 Accelerated High Definition Ambient Occlusion (High Quality)
High Definition Ambient Occlusion (HDAO) is a form of Screen Space Ambient Occlusion (SSAO) and it basically performs a task of introduce shading where it detects the absence of light. This requires pretty intensive computing but DX11 uses the Compute Shader to accelerate it. This is performed by using the on chip Local Data Store, which caches a tiled region of the depth buffer, thus significantly lowering the load associated with texture sampling.
Figure 4: DiRT 2 HDAO enabled (top) and DiRT 2 without HDAO (bottom).
Full Floating Point High Dynamic Range Lighting (Always On)
It's worth noting that DiRT 2 uses High Dynamic Range (HDR) lighting to provide a more realistic experience. While this has been solved by using the R8G8B8A8 texture format in DX9, DirectX 11 uses a full floating point G16B16A16 texture format, which allows for better color ranges without hindering color depth of the scenes and this should reflect on the rendering quality as well.
Full Screen Resolution Post Processing (High Quality)
Of course, DiRT 2 comes with a set of post processing techniques to churn out the final picture we the users will see, and while DirectX 9 handled some of these tasks at a quarter of the full screen resolution, DX11 takes a more resource-costly but visually more appealing approach of full screen processing. Lights on tracks driven at night are perhaps the most obvious example, as it uses 2 pass Gaussian filtering.
Figure 5: DirectX 11 full screen resolution post processing (top) and DirectX 9 full screen resolution post processing (bottom).
We are impressed. ATI's Radeon HD 5870 delivers great performance and excellent scaling, no matter what you throw at it. The CrossFireX setup is more than capable of churning out high, comfortably playable framerates even at obscene resolutions and maxed out quality settings. The cost of the setup is somewhat higher than a single Radeon HD 5970, but it ends up a bit faster as well.
DirectX 11 effects are a sight for sore eyes and it's up to developers to fully harness the potential of the new API and AMD's Evergreen architecture. Used wisely, tessellation effects can make quite a difference in terms of realism, while detailed HD Ambient Occlusion and post processing are a nice touch, too. Unfortunately, racing games might not be the best genre to showcase these state of the art features. Don't get us wrong, everything works and looks well, but when you're speeding down a gravel track like a bat out of hell, you're bound to miss out on quite a lot of eye candy.
In any case, both ATI and Codemasters have done a very good job, so kudos to them. Although we would like to see DirectX 11 effects in some other genres as soon as possible, DiRT 2 and ATI's Evergreens are truly at the pinnacle of PC gaming, and it shows.