In-depth Analysis of DX11 Crysis Shows Highly Questionable Tessellation Usage

rated by 0 users
This post has 7 Replies | 1 Follower

Top 10 Contributor
Posts 26,383
Points 1,192,335
Joined: Sep 2007
ForumsAdministrator
News Posted: Wed, Aug 17 2011 2:48 PM
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.
  • | Post Points: 95
Top 10 Contributor
Posts 8,687
Points 104,340
Joined: Apr 2009
Location: Shenandoah Valley, Virginia
MembershipAdministrator
Moderator
realneil replied on Wed, Aug 17 2011 3:31 PM

News:
It's something we'll be keeping an eye on.

Ha-Ha! Good show!

 

Dogs are great judges of character, and if your dog doesn't like somebody being around, you shouldn't trust them.

  • | Post Points: 5
Not Ranked
Posts 1
Points 5
Joined: Aug 2011

Doesn't Crysis 2 in DX11 have hardware based occlusion culling? Therefore it would not be rendering the ocean underneath the ground, as it is culled (it is blocked by the ground). Also, there is a visual improvement in the bricks, if you look at them. They are extruded and are completely 3d, unlike 99% of games out there.

  • | Post Points: 5
Top 100 Contributor
Posts 1,076
Points 11,645
Joined: Jul 2009
Joel H replied on Thu, Aug 18 2011 8:34 AM

Killer,

TR acknowledged the bricks as a good example of DX11 in action. Also, the GPU tool used describes what the GPU is actually rendering. The water below the ground may not be going through the full rendering process, but it *is* being tessellated. It's functioning like an anchor--pulling down scene performance without actually doing anything.

  • | Post Points: 5
Top 10 Contributor
Posts 8,687
Points 104,340
Joined: Apr 2009
Location: Shenandoah Valley, Virginia
MembershipAdministrator
Moderator
realneil replied on Thu, Aug 18 2011 10:48 AM

So Joel,

Is this something to be disabled with a switch somewhere? Or is it all in the way the game was coded and can't be adjusted?

Dogs are great judges of character, and if your dog doesn't like somebody being around, you shouldn't trust them.

  • | Post Points: 5
Top 100 Contributor
Posts 1,076
Points 11,645
Joined: Jul 2009
Joel H replied on Thu, Aug 18 2011 11:55 AM

Realneil,

TR discusses how this can be mitigated through the use of some in-driver switches AMD has introduced. Stepping down one tick from maximum has a marked impact on performance.

  • | Post Points: 20
Top 10 Contributor
Posts 8,687
Points 104,340
Joined: Apr 2009
Location: Shenandoah Valley, Virginia
MembershipAdministrator
Moderator
realneil replied on Thu, Aug 18 2011 12:05 PM

Joel H:
Realneil, TR discusses how this can be mitigated through the use of some in-driver switches AMD has introduced. Stepping down one tick from maximum has a marked impact on performance.

OK, so forgive my slow understanding of this,.....is this a problem if you're using GTX570's in your systems? (only affecting AMD Hardware?)

Dogs are great judges of character, and if your dog doesn't like somebody being around, you shouldn't trust them.

  • | Post Points: 5
Top 100 Contributor
Posts 1,076
Points 11,645
Joined: Jul 2009
Joel H replied on Thu, Aug 18 2011 2:30 PM

Realneil,

it all hinges on your definition of "problem." Nvidia has generally turned DX11 into a referendum on tessellation performance, which makes sense given that Fermi's tessellation throughput smacked ATI's 5000-series around quite thoroughly. AMD's Cayman-based GPUs closed this gap significantly, but NV still has an edge in tessellation.

If you're asking "Do both cards waste processing power in Crysis 2?" the answer is yes. The ATI card isn't being handed a different scene. The trick, in this case, is that the NV cards take a much smaller performance hit when being asked to render all the useless geometry.

There's a nice level of plausible deniability baked in as well. Since Crysis 2 is both using tessellation sub-optimally *and* tessellating invisible water, NV can justifiably say that Crytek's flawed DX11 implementation isn't their fault. If this was the first time anyone had seen the company's hand in the tessellation cookie jar, it'd get written off as suspicious, but not necessarily suspicious enough to call anyone out.

This is the third time, the second with a shipping title, and the second time we've seen issues with a title NV took a hand in helping to develop.

  • | Post Points: 5
Page 1 of 1 (8 items) | RSS