- Date:
- Friday , November 06, 2009
- Author:
- Brent Justice
- Editor:
- Kyle Bennett
- Google +1

Unigine Heaven Benchmark with DX11 Tessellation
DX 11 Tessellation in real-time 3D. The Unigine Heaven Benchmark supports DX11 with Tessellation and we have taken a look at Tessellation in this unique application. Tessellation has the potential to improve the gameplay experience, and you will see why once you see these screenshots.
Unigine
We don’t typically cover 3D benchmark programs, primarily since they generally have nothing to do with real-world gaming experiences. This new application from Unigine is a bit different than others though. Unigine is a 3D framework middleware engine that has been used in published games, and will also be used in some upcoming games currently under NDA. The Heaven Benchmark is the first 3D application that is available to us that utilizes DX11 and Tessellation, which will give us a glimpse of what Tessellation could do for us in games.
Unigine itself is very flexible, supporting DX9, DX10, DX11 and OpenGL renders. It is also cross-platform supporting MS Windows (XP, Vista, Win7) and Linux. There is also support for 32-bit and 64-bit systems as well as multi-core CPU support built into the engine. Some of the note worthy 3D features supported are Normal and Parallax Occlusion Mapping, 64-bit HDR rendering, Volumetric fog and light, several postprocessing effects, Hardware Tessellation, SSAO, Shader Model 5.0.
The full feature set is listed here - Features. Suffice it to say, this 3D engine is packed with all the latest goodies and is all ready to push these next generation DX11 video cards.
Heaven Benchmark
The Heaven Benchmark features support for DX9, DX10, DX11 and OpenGL. With DX11 support we are able to enable and disable Tessellation on DX11 hardware.
If you want to compare your results to ours just leave the AA and AF setting alone, which are No AA and 4X AF (defaults) and set the resolution to 1680x1050 with shaders at "High."
*Note - If you do not have DX11 hardware, the application still lets you select DX11 API on DX10 video cards, but in fact the benchmark will not be running in DX11 on non-DX11 video cards. We have verified that performance is EXACTLY the same on DX10 hardware between DX10 and DX11 selected in the application, whereas it is not the same on DX11 capable hardware.
*System Specs - Gigabyte EX58-UD5, Intel Core i7 920 @ 3.6GHz, 6GB DDR3, Windows 7 RTM x64, Catalyst 9.10 used on AMD cards and ForceWare 191.07 used on NV cards.
Performance
The test below is run at 1680x1050 NoAA/4X AF between DX10 mode, DX11 with Tessellation DISABLED and DX11 with Tessellation ENABLED. All framerates are average framerates using the Benchmark mode. We tested three times for each run and took the final score, they were consistent each time. The Radeon HD 5750 is sadly not included because I only have one at this time and it is out to Mark right now for gameplay testing games.

Enabling DX11 compared to DX10 was positive for performance. You can clearly see that DX11 is slightly faster than DX10 all things being equal. This is good news and gives us hope that DX11 won’t suffer the huge drain on performance that DX10 did at the beginning of its short lifespan. There was a noticeable drain on performance enabling Tessellation however; the extra polygons do eat up performance. The Benchmark was still above 30 FPS at this setting at least on the Radeon HD 5850 and Radeon HD 5870.
Interestingly the Radeon HD 4890 was faster in DX10 than the Radeon HD 5770 was, despite the fact they have the exact same stream processor count and clock speed. The GeForce GTX 285 was surprisingly fast in DX10, but the Radeon HD 5850 still beat it ultimately.

In this graph we wanted to really ratchet up the settings and push them to the extremes and see how performance faired with Tessellation. At 1920x1200 with 8X AA and 16X AF with Tessellation enabled performance falls dramatically. If this were a game, it wouldn’t be playable even on the HD 5870 at these settings.
It seems as the demand increased the difference between the HD 5770, HD 5850 and HD 5870 lessened, as the margin was much wider between them at lower settings in the graph above this one, which might indicate a bottleneck of some sort.
DX11 Tessellation
Now, let’s take a look at what Tessellation can add for us. All of the screenshots below are taken with the Radeon HD 5870.
Side-by-Side Comparisons
In all of these screenshots we have put images with and without Tessellation vertically, with their wireframe images next to them. All images are in PNG so there is no visual quality loss.
These images are self explanatory; Tessellation has the ability to add a lot of detail. What you see is that in the images without Tessellation there are fewer polygons, they are very simple and flat. When Tessellation is enabled the engine is dynamically generating in real-time more polygons as you move through the environment. This effect cannot be seen in these still screenshots, but if you run this program with the wireframe enabled and watch it in motion you will see the geometry being created on the fly.
Tessellation is quite amazing, and it really does add detail. The dragon alone has so many polygons with Tessellation that it looks like a texture wrapping around it. I was also impressed how much better things like the rope look with Tessellation. The rope actually looks like a rope with Tessellation. This is just an insane amount of geometry, no wonder why there is a large performance drop. Obviously a developer might not want to use this much in-depth Tessellation since it causes a large performance drop.
Full Size Screenshots
These next set of screenshots are taken full-screen at 1680x1050 8X AA/16X AF so you can see what this looks like as a full image. They are JPEG compressed for file size.
The proof is in the screenshots, Tessellation has the potential to greatly improve the gameplay experience.
Summary
Tessellation is the technique of changing the amount of polygons in an object being rendered by your GPU dynamically. Your GPU is creating polygons on the fly. As you see above, it is capable of creating very complex geometries that can greatly add to the immersiveness of a gaming environment. It is quite simple as to why we would want to use it in games. As objects get closer to the camera, the game developer has the ability of increasing the amount of polygons used in an object so it appears more lifelike. Or, you can look at it from a traditional Level of Detail (LOD) standpoint where as an object moves away from the camera, the polygons are lessened so there is less strain on your GPU rendering polygons that are not needed.
While this Heaven Benchmark application isn’t an actual game, it does give us a glimpse of how Tessellation might be used in games. If used in this manner the benefits can be quite noticeable and greatly improve the gaming experience. There is a performance penalty for enabling it, as the creation of geometry on the fly does not come free. Simply, the more processing units you have for shaders (which vertex and pixel shaders are shared now), the faster this kind of thing is going to be.
We know of a couple of upcoming games that will use DX11 Tessellation, DiRT 2 and Alien vs. Predators. We will certainly be looking at performance and image quality in these games to see what Tessellation can do for us in real games. We don’t think DiRT 2 or many other immediate DX11 games will use Tessellation as in-depth as this benchmark showed us, but we have seen some wireframe screenshots of Alien vs. Predators that resemble the same level of detail on the Aliens as seen on the Dragon in this benchmark. Still, that many polygons seems a bit extreme for us now. However, maybe we will see user adjustable controls that could allow us to vary the level of Tessellation depending on the user’s GPU abilities like much of the other eye candy we see in games.
We are really looking forward to real time hardware Tessellation and what it will bring. In fact many of us have been looking forward to it actually working since 2002. Tessellation is nothing new, the idea is quite old in the computer world, but the ability to run it in real-time on consumer hardware is what is new, and right now AMD has the only hardware capable of doing it.
Discuss


















