Civilization 5 Tech Interview - What DirectX 11 is good for
Developer Dan Baker explained us how DirectX 11 enhances not only the visual appeal of the new strategy game Sid Meier's Civilization 5 but how its direct compute abilities contribute to the game's performance. Also he explains, how Civ 5 is a little further developed than PCs are.
DirectX 11 offers great performance increases, if developers know how to use the new APIs right. Firaxis, the developing team behind Sid Meier's Civilization 5 spent plenty of time finding out how to really improve gaming experience with tesselation and direct compute 5 in store. In an interview, Dan Baker - Firaxis Games' Graphis Lead - told us in detail, what they did with DirectX 11.
1. One of the main features of DirectX 11 API is hardware tessellation. If you're utilizing this feature, which visual improvements can we expect (e.g. water, NPCs, environment)? Some implementations distort the textures cause of the additional mesh, have you noticed and did you consider this problem?
This feature will be enabled automatically if your hardware has DX11 capabilities. We use tessellation for the Civilization V terrain, which adjusts the mesh's subdivision of the terrain as the user zooms in and out. Not only does it add detail, but terrain tessellation makes the game measurably faster on both Nvidia and AMD hardware (as much as 30% in some cases).
2) DirectX 11 offers Direct Compute 5 for GGPU calculations. In what way does it allow you to optimize, simplify or speed up the rendering process in your game (e.g. post effects)?
Civilization V uses the Direct Compute Features for a new proprietary variable bit-rate texture compression. Users will notice that on high end DX11 native hardware, the leaders will appear almost instantly, regardless of how many civilizations are present. There will also be no paging-in on the textures in the background as they are loaded since the 2gigabytes of leader textures compress to less then 150mbs altogether. This type of compression was, until recently, considered impossible or impractical, but we believe this is just the tip of the iceberg for what can be done with Direct Compute.
3) Do you use DX11 multithreading to reduce the CPU workload or another DirectX 11 feature? If there are special DirectX 11 visuals (except hardware tessellation), what are the graphical features that can only be rendered with shader model 5 hardware? What are the visual differences between the DX9 and DX11 version of Civilization 5?
Civilization V, as far as we know, is the first fully threaded DX11 game.
Unfortunately, because no other games have used this feature yet, neither Nvidia nor AMD have publically released threaded drivers, so users may not experience all the benefits just yet. We decided to keep threading enabled for Civilization V, however, because we are continuing to work closely with Nvidia and AMD on their support for multi-threading. We expect publically available threaded drivers shortly.
The internal architecture of the Civilization V graphics engine, however, is heavily multi-threaded and users will see multi-processor benefits even with drivers that are not threaded (including DX9). We have developed a series of configurable benchmark modes that we use internally for measuring our threading ability. These are fully described in the readme file. After some discussion, we decided to expose these internal tests on the released version so, if the users view the readme file, they will see that there are detailed instructions of these benchmark modes.
There are many notable improvements with the DX11 version of the game over the DX9 version of the game. Also, don't forget that the DX11 version includes all the DX10 features, so it has 2 generations of hardware features.
One big difference in the DX11 version is the terrain. On DX11, we are able to have a much more detailed terrain, since we are able to get a 4x compression on the textures. This allows us to keep most of the terrain cached. The DX9 players will notice some paging while they go to new parts of the map however; this is generally a non-issue on the DX11 version. We were also able to have specularity on the terrain, so players will notice marshes and snow that reflect the sun. The DX11 version also has a more detailed fog of war (on the higher settings), which uses weather simulation dynamics for a more realistic cloud movement.
Another huge visual improvement is our leader scenes. We have used a number of advanced features for lighting that are only available on DX10.1 and higher, and a number of these advanced features to give more realistic detail and correct shadowing.
4) From what DirectX 11 feature do you think your game profits most? What do you think about DirectX 11 in times of Cross-Platform-Development, can we expect more and more DX11 titles?
We benefit most from the DX11 Compute features. However, once Nvidia and AMD release threading enabled drivers, we expect the threading to be the biggest single benefit. We understand that many of our customers are hardware enthusiasts and want their games to use the latest technology. Since DirectX11 is leaps and bounds above the capabilities of current consoles it can be difficult to be cross platform and take advantage of the new capabilities. Fortunately, because we are a PC only game, this wasn't a concern for us. We can't speak for everyone, but we expect to see DX11 rapidly become the standard for gaming.