The Radeon HD 5970: Completing AMD's Takeover of the High End GPU Marketby Ryan Smith on November 18, 2009 12:00 AM EST
- Posted in
STALKER: Call of Pripyat – A Peak at More DX11
For the 5970 launch, AMD sent over a special benchmark version of STALKER: Call of Pripyat, which has since then been made public at the GSC Game World STALKER website. STALKER is another one of AMD’s big DX11 titles, as it’s technically the 2nd DX11 title to launch and the first such title to implement most of the major DX11 features. The Russian version actually shipped back in October, and the German version shipped 2 weeks ago. However we’re told that these versions only had an early-stage implementation of the DX11 feature set, and that the demo is more representative of where the game is after patching and what it will be like when it finally launches in the rest of the world early next year.
Since it’s an unplayable demo, we’re going to forgo any competitive benchmarking (it’s not as if anyone else has a DX11 card anyhow) but we will look quickly at the performance impact of these features, since this is the closest thing we have to a playable game using them at this point in time.
STALKER makes use of 3 major DX11 features.
- High Definition Ambient Occlusion using compute shaders
- Contact hardening shadows
So today, let’s talk about contact hardening shadows. Shadowing has been on a path of particularly noticeable evolution. The first real shadows, seen in such titles as Doom 3, had very hard edges. Stencil buffering was used to determine where a shadow would fall, and that was it. Diffusion was never taken into account. Newer games have since taken diffusion into account to generate soft shadows, but these shadows aren’t necessarily accurate. Currently soft shadows are implemented with a fixed degree of softness around the entire shadow, which isn’t how shadows really work.
With diffusion, the softness of a shadow increases with the distance of the casting object from the surface the shadow is being displayed on. AMD loves to use a light pole as an example, as the top of the shadow should be softer than the bottom. These shadows are referred to as contact hardening shadows, and the use of them in games has been limited by the expense of calculating them using the DX10 feature set. STALKER allows for contact hardening shadows with DX10.1 and DX11 mode.
Unfortunately a moving benchmark makes for a poor source to take screenshots, so we’re going to stick with AMD’s reference shots here. Only contact hardening shadows are particularly noticeable in the benchmark; tessellation and HDAO are there, but are virtually impossible to catch given the zoomed-out nature of the benchmark and the fact that it’s constantly in motion.
The benchmark comes with 4 different flybys, each under different environmental conditions: day, night, day with rain, and day with sun shafts. We’ve gone ahead and benchmarked the game during the “day” flyby, once with the DX11 feature set enabled, and once with it disabled. This means for DX11 mode tessellation, contact hardening shadows, and Ultra HDAO were enabled; and for DX10 tessellation and contact hardening shadows were disabled, and High HDAO was used.
|STALKER: Call of Pripyat, Day Benchmark||DX10||DX11|
Enabling all of these features actually causes performance to rise, thanks to the more efficient implementation of HDAO as a compute shader as opposed to a pixel shader. Ultimately what this means is that unless HDAO is disabled entirely, STALKER is going to be faster on a DX11 card running the entire DX11 feature set than it will be when running the DX10 feature set.
The biggest performance hit, and the reason we’re not breaking 40fps here even with a 5970, is due to how anti-aliasing is implemented in STALKER. As it uses deferred rendering, the game does its own anti-aliasing. We used 4X MSAA here along with per-pixel alpha transparency testing (basically Adaptive/Transparancy AA). Disabling anti-aliasing improves performance dramatically.