When Crysis 2's DX11 support finally arrived post-launch via several large patches, Crytek CEO Cervat Yerli described the option as a "gift," having apparently forgotten that the game was marketed with DX11 support from day one. The updated visuals and textures may have mollified some PC buyers, but research done
by the Tech Report indicates that Crytek's DX11 implementation is highly dubious at best.
Normally a simple slab like this would consist of a handful of huge triangles. The DX11 version could star in its own title, World of Concrete. Image courtesy of Tech Report
Using an AMD tool called GPU PerfStudio, it's possible to see which objects and surfaces have been tessellated and where the GPU is spending the bulk of its rendering time. We recommend reading the entire article, but there's compelling evidence that certain surfaces in Crysis 2--like concrete blocks--are rendered in extremely high detail, even when there's no visual improvement to doing so.
Water is another issue. At present, there are multiple game areas where water is only visible in one small area or isn't visible at all. Despite this, the game is still rendering (and tessellating) an invisible ocean underneath the player's feet.
Not all of the DX11 optimizations in Crysis 2 are wasted, but this isn't the first time we've seen DX11 games or benchmarks create false performance dichotomies by ratcheting up tessellation levels in surfaces where insane polygon counts don't actually create a visible quality increase. Both HAWX 2
and Unigine's tessellation benchmark engage in this type of behavior. Scott notes: "Unnecessary geometric detail slows down all GPUs, of course, but it just so happens to have a much larger effect on DX11-capable AMD Radeons than it does on DX11-capable Nvidia GeForces... The guys at Hardware.fr found that enabling tessellation dropped the frame rates on recent Radeons by 31-38%. The competing GeForces only suffered slowdowns of 17-21%."
There's no reason why Crysis 2 should suffer from some of these issues, particularly since DX11 implementation was delayed to give the team time to get it right. Unigine's 'Extreme' tessellation settings could be written off as a synthetic benchmark's attempt to push one particular aspect of DX11. HAWX 2's use of tessellation was more noteworthy, but was just a single title. Now, with Crysis 2, we again see evidence of DX11 mis-usage that happens to favor Team Green.
It's something we'll be keeping an eye on.