HAWX 2
Now we enter into disputed territory, and in doing so, we put some of those architectural differences we've discussed into play. The developers of HAWX 2 have made extensive use of DirectX 11 tessellation for the terrain in this brand-new game, and they've built a GPU benchmark tool based on the game, as well. HAWX 2 is slated for release this coming Friday, and in advance of that, Nvidia provided us with a stand-alone copy of the benchmark tool. We like to test with new games that take advantage of the latest features, but we've been hearing strong objections to the use of this gamefrom none other than AMD. Here's AMD's statement on the matter, first released prior to the introduction of the Radeon HD 6800 series and then sent out to us again yesterday:

It has come to our attention that you may have received an early build of a benchmark based on the upcoming Ubisoft title H.A.W.X. 2. I'm sure you are fully aware that the timing of this benchmark is not coincidental and is an attempt by our competitor to negatively influence your reviews of the AMD Radeon HD 6800 series products. We suggest you do not use this benchmark at present as it has known issues with its implementation of DirectX 11 tessellation and does not serve as a useful indicator of performance for the AMD Radeon HD 6800 series. A quick comparison of the performance data in H.A.W.X. 2, with tessellation on, and that of other games/benchmarks will demonstrate how unrepresentative H.A.W.X. 2 performance is of real world performance.

AMD has demonstrated to Ubisoft tessellation performance improvements that benefit all GPUs, but the developer has chosen not to implement them in the preview benchmark. For that reason, we are working on a driver-based solution in time for the final release of the game that improves performance without sacrificing image quality. In the meantime we recommend you hold off using the benchmark as it will not provide a useful measure of performance relative to other DirectX 11 games using tessellation.

Interesting, no? I don't need to tell you that Nvidia objects. With six days to produce our Radeon HD 6800 series review, we simply didn't have time to look at HAWX 2 back then. I'm not sure we can come up with a definitive answer about who's right, because that would require more knowledge about the way future games will use tessellationand we won't know that until, you know, later. But we can explore some of the issues briefly.

Without tessellation, the mountains' silhouettes are simple and straight

With tessellation, they're much more complex

First, above is a close-up look at the impact of HAWX 2's tessellation on some of the mountains over which the entire benchmark scene takes place. This is just a small portion of a higher-resolution screen capture that hasn't been resized. Clearly, tessellation adds tremendous complexity to the shape of the mountains.

Click the image for a larger version

Above are some images, provided by Nvidia, that reveal the sort of geometric complexity involved in this scene. The lower shot, in wireframe mode, gives us a sense of the polygon sizes. Unfortunately, these images were obviously resized by Nvidia before they came to us, so we can't really estimate the number of pixels per polygon by looking at them. Still, we have a clear sense that many, many polygons are in usemore than most of today's games.

Is this an egregious overuse of polygons, as AMD contends? I'm not sure, but I'd say it's less than optimal, for a few reasons. One oddity is demonstrated, albeit poorly, in the image on the right. Although everything is turned at a nearly 45° angle, what you're seeing at the center of the picture is something important: essentially flat ground. That flat surface is covered with large number of polygons, all finely subdivided into a complex mesh. A really good dynamic tessellation algorithm wouldn't find any reason to subdivide a flat area into so many triangles. We've seen such routines in operation before, or we wouldn't know to point this out. And there's a fair amount of flat ground in the HAWX 2 benchmark map, as shown between the mountains in the image below.

Click the image for the full-sized version

The scene above shows us another potential issue, too, which is especially apparent in the full-resolution screenshot: the silhouettes of the mountains off in the distance appear to be just as jagged and complex as those up close, yet the texture resolution on those distant peaks is greatly reduced. Now, there are reasons to do things this wayincluding, notably, the way light behaves as it's being filtered through the atmospherebut a more conventional choice would be to use dynamic LOD to reduce both the texture resolution and geometric complexity of the far-away peaks.

Finally, although close-up mountains in HAWX 2 look amazing and darn-near photorealistic, very little effort has been spent on the hostile airplanes in the sky. The models have very low poly counts, with obvious polygon edges visible. The lighting is dead simple, and the surfaces look flat and dull. Again, that's an odd choice.

For its part, Nvidia freely acknowledged the validity of some of our criticisms claimed the game's developers had the final say on what went into it. Ubisoft, they said, took some suggestions from both AMD and Nvidia, but refused some suggestions from them both.

On the key issue of whether the polygon counts are excessive, Nvidia contends Ubisoft didn't sabotage its game's performance on Radeon hardware. Instead, the developers set their polygon budget to allow playable frame rates on AMD GPUs. In fact, Nvidia estimates HAWX 2 with tessellation averages about 18 pixels per polygon. Interestingly, that's just above the 16 pixel/polygon limit that AMD Graphics CTO Eric Demers argued, at the Radeon HD 6800 series press day, is the smallest optimal polygon size on any conventional, quad-based GPU architecture.

With all of these considerations in mind, let's have a look at HAWX 2 performance with DX11 terrain tessellation enabled.

Having seen these tests run, I'd say we're getting fluid enough frame rates out of all of the cards to keep the game playable. The GeForces are much faster, though, which you might have guessed.

We don't have any great lessons to draw from all of this controversy, but we hope you understand the issues a little better, at least. We expect to see more skirmishes of this type in the future, especially if AMD's Cayman GPU doesn't move decidedly in the direction of higher polygon throughput. We're also curious to see exactly how AMD addresses this one via its promised "driver-based solution" and whether or not that solution alters the game's image quality.