Single page Print

Crysis 2 tessellation: too much of a good thing?


A major DirectX 11 upgrade raises some vexing questions
— 2:07 PM on August 16, 2011

By now, if you follow these things, you probably know the sordid story of DirectX 11 support in Crysis 2. Developer Crytek, a PC favorite, decided to expand into consoles with this latest release, which caused PC gamers to fear that the system-punishing glory of Crytek's prior, PC-only games might be watered down to fit the inferior hardware in the console market. Crytek assured its fans that no such thing would happen and, in a tale told countless times in recent years, proceeded to drop the ball dramatically. Upon release, Crysis 2 supported only DirectX 9, with very limited user adjustments, like so many other games cross-developed for the consoles. The promised DX11 support was nowhere to be found. Although the game's visuals weren't bad looking as released, they fell far short of fulfilling hopes that Crytek's latest would be one of those rare games capable of taking full advantage of the processing power packed into a state-of-the-art PC. Instead, the game became known as another sad example of a dumbed-down console port.

Months passed, and rumors about a possible DirectX 11 update for the game rose and fell like the tide, with little official word from Crytek. Then, in late June, Crytek and publisher EA unloaded a massive, PC-specific update to Crysis 2 in three parts: a patch to version 1.9 of the game weighing in at 136MB, a 545MB patch adding DirectX 11 support, and a hulking 1.65GB archive containing high-res textures for the game. An awful lot of time had passed since the game's release back in March, but the size and scope of the update sure felt like a good-faith effort at making things up to PC gamers.

With the DX11 update installed, Crysis 2 becomes one of the most visually striking and technically advanced video games in the world. The features list includes a host of techniques that represent the cutting edge in real-time graphics, including objects tessellated via displacement mapping, dynamically simulated and tessellated water, parallax occlusion mapping (where tessellation isn't the best fit), shadows edges with variable softness, a variant of screen-space ambient occlusion that takes the direction of light into account, and real-time reflections.

The highest profile of those features is probably tessellation, which seems to be the signature new capability of DX11 in the minds of many. Tessellation allows the GPU to employ its vast computing power to transform the low-polygon models used in most games into much higher-detail representations, with a relatively minimal performance cost. Used well, tessellation promises to improve the look of real-time graphics in some pleasant and impactful ways, eliminating—at long last—the pointy heads on so many in-game characters and giving difficult-to-render objects like trees much more organic external structures.


Lost Planet 2 without tessellation


Lost Planet 2 with tessellation

One of the major benefits of DX11's tessellation capability is its dynamic and programmable nature: the game developer can ramp up the polygon detail only where needed, and he can scale back the number of polygons in places where they wouldn't be perceived—say, in the interior of objects compromised of flat surfaces or in objects situated further from the camera. Such dynamic algorithms can maintain the illusion of complexity without overburdening the GPU's geometry processing capacity.

Unfortunately, we have so far seen few examples of tessellation used well in a video game. That's true in part because of the aforementioned scourge of console-itis (though the Xbox 360 does have limited tessellation hardware) and in part because game developers must create higher-detail versions of their underlying 3D models in order to insert them into games—not exactly a cost-free proposition.

With its DX11 update, Crysis 2 had the potential to be one of the first games to offer truly appreciable increases in image quality via tessellation. A busy summer has kept us from spending as much time with the DX11 update as we'd like, but we saw some intriuging things in Damien Triolet's coverage (in French) over at Hardware.fr. (English translation here.) We won't duplicate all of his hard work, but we do want to take a look at one aspect of it: a breakdown of Crysis 2's use of tessellation using a developer tool from AMD called GPU PerfStudio.


GPU PerfStudio is a freely available tool for Radeon graphics cards, and its integrated debugger can analyze individual frames in a game to see where GPU time is going. The work needed to construct each frame can be broken down by individual draw calls to the DirectX 11 3D API, and a visual timeline across the bottom of the screen shows which of those draw calls are taking longest to complete. PerfStudio will even let you take a look at the DX11 shaders being used in each draw call, to see exactly how the developer has structured his code.

When we fired up Crysis 2 in its DirectX 11 "ultra" quality mode, we saw that some obvious peaks were related to the creation of tessellated objects. Not only could we see the hull shaders used in the first stage of tessellation—proof that tessellation was in use—but we were also able to see the polygon meshes output by the tessellation process. We noticed some of the same things Damien pointed out, along with a few new ones, including one of the true wonders of this game's virtual world.