Crysis: DX9 vs. DX10

Crysis, 5 months later. No excuses about immature drivers or API issues. We look at how Crysis DX9 compares to Crysis DX10 and what GPU is best for it. We analyze real gameplay and IQ. Did DX10 deliver on its promises? Should we stick with it?

Introduction

Crysis was finally released to long-waiting gamers on November 13th of 2007. Similar to its predecessor, FarCry, this game was and still is looked upon by gamers as more than just a fun first-person shooter, it is also looked upon as a technological showpiece for the latest in computer gaming graphics. Crysis is one of the first games to be built from the ground up with Microsoft’s DirectX 10 in mind. Knowing that this game fully supports DX10, this game was supposed to drive home the importance of DX10 to gamers. This was the game that was supposed to make us all want to upgrade to Windows Vista, get the latest DX10 video cards, and have at it. Well, it hasn’t quite lived up to everyone’s expectations.

Even with its severe performance penalty on current hardware, Crysis hasn’t quite sparked the need to upgrade to a DX10 capable computer system. Crysis is a very flexible and unique game in the fact that we can run some of the latest and forward looking technologies in a game, such as DX10 support, but also full 64-bit support with a 64-bit CPU and OS. Crysis detects what your system supports and runs in the default configuration using the rendering paths present. If you have a Windows Vista 64-bit OS with a DX10 video card Crysis will automatically run in 64-bit/DX10 mode. This has been our default system configuration for testing video cards for quite a while here at HardOCP. It is in that vein that we have chosen to let Crysis run in the default paths without any external modification.

Lately, we have been receiving some reader feedback asking why we are running Crysis in DX10 when the DX9 path produces better performance, with the same image quality. We want to do our own testing to find out what the real answers are in Crysis comparing DX9 to DX10 now that drivers and game patches have matured. There have been many driver releases since Crysis, with drivers specifically affecting Crysis performance, and there have been a couple of Crysis game patches with patch 1.2 having very positive gameplay results for gamers. With this greater maturity of software we can now do some performance and IQ comparisons to see what the real-world differences are between DX9 and DX10 in Crysis. We will be playing Crysis in DX9 and DX10 mode with the 64-bit executable. We have applied the latest Patch version 1.2 and are using the latest drivers.

Our Focus

The questions are: Should you be playing Crysis in DX9 and therefore should we be testing in DX9 too? Or does DX10 truly offer a better gaming experience as has been touted and pushed since DX10’s introduction? To find the answer to these questions we will be using the fastest single GPU video card available at the time of evaluation, the NVIDIA GeForce 8800 GTX, as well as the newer and almost as fast NVIDIA GeForce 8800 GTS 512MB. On the AMD side we will be using ATI’s multi GPU video card the Radeon HD 3870 X2, and finally ATI’s fastest current generation single GPU card the Radeon HD 3870. These combinations will allow us to look at single and multi-GPU performance in Crysis DX9 and DX10. Unfortunately the GeForce 9800 GX2 did not make it in time for this evaluation.

We are first going to find the highest playable settings for each video card at 1280x1024 and 1600x1200 in DX9 and DX10. This will determine if there are any real-world gameplay advantages between either API. We will also be able to see just how big that performance difference is and if it is really meaningful. If there is a performance difference between the two APIs then we will do an apples-to-apples comparison using the higher in-game setting. Finally we will take a look and see if there are any image quality differences between DX9 and DX10 in Crysis. After this evaluation is complete we will be able to determine if Crysis is best played in DX9 or DX10 and if running in the DX10 API truly adds to the experience.

Switching between DX9 and DX10 APIs in Crysis is quite an easy task. There are actually two ways to do it. One way is to simply add the command line –DX9 to a shortcut to Crysis.EXE in either the Bin32 or Bin64 folder. If you run the game by default on a Windows Vista system with a DX10 video card it will automatically launch in DX10. Therefore by adding –DX9 you are forcing it into the DX9 API. The other way is to navigate to Windows Game Explorer and right click on the Crysis game icon and select either “Play in DX9” or “Play in DX10.” The API that the game is running in can be confirmed by looking at the DEVMODE readouts in-game when using the –DEVMODE command line in the shortcut.