Whenever a new API like DirectX 10 comes out promising better graphics and faster performance we’re always eager to see if it delivers.
For months now we’ve been patiently waiting for any type of game or application that could be used to give us a clue how today’s DirectX 10 hardware looks and performs with the games of tomorrow. That’s why on Monday when we heard that Capcom was releasing a DirectX 10 demo for Lost Planet, we immediately downloaded and booted it up. We’ve been testing it ever since.
If you recall our DirectX 10 preview article
from last year, there are two schools of thought on how game developers are going to integrate DirectX 10 into games. On one hand, due to its greater efficiency, DirectX 10 can be used to deliver performance improvements. Before Windows Vista and DirectX 10 were released, Microsoft frequently referred to performance improvements of up to 6X (!) that of DirectX 9 hardware running on Windows XP thanks to new state objects which help to reduce overhead.
Towards the end of our DX10 article with spoke with Epic’s Tim Sweeney; Tim confirmed to us that this was the direction they were leaning towards for Unreal Engine 3: “ Unreal Engine 3 will make full use of DirectX 10, and many of our and our partners' games will ship in 2007 with full support for DirectX 10 and Windows Vista. But, despite the marketing hype, DirectX 10 isn't all that different from DirectX 9, so you'll mainly see performance benefits on DirectX 10 rather than striking visual differences.”
If developers want to go in a different direction however, these performance enhancements gleaned from DirectX 10 could then be used to deliver better graphics. For instance, in an outdoor environment like a forest the developer could add dozens of extra objects – additional layers of clouds, vegetation, birds, etc. Referring back to our interview
with Crytek’s Cevat Yerli earlier this year, this is exactly what Crytek plans to do with their upcoming shooter Crysis: “DX10 simply allows us to increase the visual quality of the shaders and particle effects, to the degree that some features are DX10 only. The hardware performance is a generation above DX9 so that there is a major gain in frames per second. Both versions of the game play are exactly the same though, while in Multiplayer we are evaluating technologies that may benefit gameplay in DX10 to finally enrich that PvP experience to a new level. Given the host of improvements Windows Vista offers for gamers though, we would recommend upgrading as soon as possible.”
So which direction has Capcom chosen to go with for Lost Planet? We received the following answer from Capcom when we asked them directly:
In general, the PC version has a higher resolution the gamer renders at. It also supports ambient occlusion and parallax mapping, which means all the footsteps and other individual effects are cleaner. We are also not using a reduction buffer, meaning that the graphical special effects are also cleaner on the PC. Because of the multithreaded nature of the engine from the very start, it is quite fast.
The upside of DX10 for Lost Planet is the stream-out function and geometry shaders which allow us to make the engine run faster. The major difference between DirectX 9 and 10 is primarily related to this speed. Compared to DX9, our use of geometry shader, depth resolve and stream output should provide a 10% to 20% boost in frame rate as driver optimization progresses. One of the immediate differences you can see in the DX10 version is the clean edges on shadows; however the main difference is obviously the speed at which the engine renders as mentioned before.
Based on this, it sounds like DX10 is being used primarily for performance gains, although they also mention cleaner edges on shadows under the DX10 code path as well. If you boot up the DX10 version of the game you’ll notice the “high quality” shadows option in the game’s menu. Under the DX9 version you’re limited to a max of medium quality shadows.
How we tested
Lost Planet is a game that probably needs no introduction, but we’ll provide a quick recap for those of you who may not have heard of it anyway. Lost Planet: Extreme Condition is set in the frozen wasteland of E.D.N. III. The planet has limited resources and very nasty native inhabitants known as the Akrid, an insect-like race of aliens that don’t like the new two-legged visitors on their planet. Eventually the humans figured out that the Akrid contained a thermal energy source inside their body that could be used to provide both heat and energy. This energy is vital to your health in the game: instead of relying on a traditional health meter Lost Planet has a thermal energy indicator.
The thermal energy indicator is constantly draining, take a hit and your thermal energy drains even faster. Each time you kill an Akrid however they leave behind thermal energy which you can collect. This keeps the pace of the game flowing, take too much time going nowhere and you’ll eventually run out of thermal energy.
In the game you’ll play as the character Wayne. You wake up with amnesia, all you remember is that your father was killed by an Akrid known as the Green Eye. You set out to find Green Eye and kill him.
Capcom’s demo includes a built-in performance test. We used this test to evaluate the performance of the DX10 codepath versus the performance of the DX9 codepath. We conducted our DX9 tests under both Windows XP and Windows Vista to see if the added overhead introduced by the Vista OS affected performance. All of these DX9 versus DX10 tests were run with a GeForce 8800 Ultra, the fastest card on the market right now.
Let’s take a look at those results shall we?