Thursday, July 17, 2008

Assassin's Creed DirectX 9 vs. DirectX 10

Assassin's Creed is yet another title in recent times to offer the ability to run in DirectX 10 mode. Basically DirectX 10 mode can only be run under Windows Vista, so if you're running Windows XP Assassin's Creed will automatically run only in DirectX 9 mode, while in Vista you get the option of both DX9 or DX10, though by default it automatically runs in DirectX 10 mode.

To manually choose which mode to run the game in under Windows Vista, unfortunately you cannot use the normal trick of right-clicking on the game icon in Games Explorer and choosing the mode, as the option doesn't exist. Instead, you should create separate desktop icons for launching Assassin's Creed in DX9 and DX10. Go to your \Program Files\Ubisoft\Assassin's Creed directory and right-click on the AssassinsCreed_Dx9.exe file, and select Send To>Desktop; do the same thing for the AssassinsCreed_Dx10.exe file. You can now use these desktop icons to launch the game in the relevant mode as desired. If you're running the Steam version of the game, you need to backup the DX10 .exe to another location and then delete it from the main game directory, then rename the DX9 .exe file to the same name as the DX10 .exe - the game will now run in DX9 mode when launched.

Below we look at the performance and graphics quality of the game in all three: DX9 XP vs. DX9 Vista vs. DX10 Vista. I ran the game on my XP/Vista dual boot on this system. For all three modes the exact same in-game settings were used (everything at maximum), along with identical settings in the graphics card control panel (everything at the highest possible quality, no additional AA/AF). I've used both a static scene with no moving objects, as well as a typical city scene with some NPCs. Because the game does not allow restoring specific save points, the scenes may vary slightly in composition and/or angle. FPS is shown at the top right of each shot, but is also reproduced for easy reference:

AC_10as

AC_10bs 

                   AC_10cs

FPS Results - DX9 XP: 46, DX9 Vista: 33, DX10 Vista: 34

XP DX9 vs. Vista DX9: In the first set of comparisons, all three modes look pretty much identical in terms of image quality. However performance is clearly superior in XP DX9 mode. In the second set of shots, XP DX9 and Vista DX9 modes look identical, save perhaps for slightly better antialiasing in Vista DX9 - examine the flat wooden roof at the middle right of the screen, it appears slightly less jagged in Vista DX9 mode. However Vista DX9 is also noticeably lower in FPS than XP DX9, so any tiny image quality benefits come at the cost of framerate.

DX9 vs. DX10: In the second set of shots we start to see some noticeable differences between DX9 and DX10 mode. The significant difference is in the shadows - the DX10 shot is slightly darker and richer than both the DX9 shots, despite the same Brightness level in all three (5/10 on the slider), mainly because the shadows are darker. DX10 mode also seems to have different shadow quality to DX9 mode - compare the shadows on the palm fronds, they're much more detailed in DX10 mode. Furthermore, look at the shadows on the building to the far left, especially under the dome and around the windows - there are less glitches visible. Indeed in a range of other places in the scene, there are less shadow glitches in DX10 mode, though there are different glitches visible in DX10 mode, such as the horizontal shadow lines on the two palm fronds on the left of screen for example. It should be noted that both DX9 and DX10 mode in Assassin's Creed have an identical maximum shadow map resolution of 1024x, which is what all shots above are using, so any difference is in the way they're rendered in each mode.

What the screenshots don't show too well is that in DX10 mode, the implementation of Bloom and Multisampling also results in slightly better image quality. It's very subtle, but it does seem that DX10 mode provides that extra edge in the visuals. However it is by no means highly noticeable - the only real difference is in the shadow quality as demonstrated above.

Importantly, note that the performance differences shown above are indicative only. Generally speaking, XP DX9 mode should be faster than Vista DX9 or DX10 mode on most systems, however the actual level of difference between all three modes will vary based on the system being used. The developers of Assassin's Creed have stated that DX10 mode is supposed to be faster than DX9 mode in Windows Vista, and also provide greater potential for improvement via driver optimizations. Again, whether this is what you experience or not will depend on your system, as Assassin's Creed is both CPU and GPU-intensive, and if one or the other is slower on your system, it can bottleneck your results, depending on your resolution and settings.

2 comments:

Foxhound said...

Dude if you wanted us to compare, you might want to post large size pics.

Anyway I don't believe all that stuff Ubi fed us about DX10 on Vista being faster. The visuals from what I have seen are only marginally better, making it somewhat pointless especially with the supposed performance drops.

In4Net Team said...

Yeah i agree with you.There is no difference of graphic quality b/w Dx9 and Dx10 in Assassin's Creed. But there is a much more difference in frame rates per second. I have tested this...