DirectX 9 vs. DirectX 8: Image Quality

Remember ATI’s Shader Day last year where Valve announced that NVIDIA’s DirectX 9 hardware should be treated as DX8 hardware and nothing more?  Well, things haven’t really changed – in our tests, NVIDIA’s GeForce 5900XT was between 50 and 72% slower in DX9 mode than in DX8 mode.  In fact, the 5900XT is so slow in DX9 mode that ATI’s $80 Radeon X300 SE actually posts significantly higher average frame rates.  So if you own a NV3x class GPU, you are pretty much excluded from running Valve’s DirectX 9 codepath.  What, then do you lose by going down to the DirectX 8.1/8.0 codepaths?

The first thing we wanted to check was the flashlight shader – how different did it look from DX9 to DX8?  The default image below is the DX9 image, mouse over the image to see the flashlight shader rendered using Valve’s DX8 path:

Hold mouse over image to see DX8 mode

There are some slight differences between the two images, but interesting enough none of them appear to have anything to do with the flashlight shader itself. 

The first difference is in the shading on the gun, the DX8 gun has a much brighter surface while the DX9 gun looks a bit more realistically lit. The same can be said about the rails on the train tracks, the DX8 rails stand out a lot more while the DX9 rails appear to be more realistically lit. 

There are many minor differences like this, however the biggest difference between DX8 and DX9 is the water:

Hold mouse over image to see DX8 mode

Using the DirectX 9 codepath, the water in Half Life 2 is so much more realistic.  You can download full uncompressed versions of these images here.

Overall, the move from DX9 down to DX8 isn’t horrible; while it does reduce some of the appeal of Half Life 2, the game still looks incredible in DX8 mode.  There are some issues with forcing NV3x GPUs to run in DX9 mode mainly involving the water, but as you will see on the coming pages, if you've got a NV3x you're not going to want to play in DX9 mode.

Index DirectX 9 Performance Impact


View All Comments

  • klah - Saturday, November 20, 2004 - link

    "cant wait for CPU benches"

    Check out these:
  • KevinCQU - Saturday, November 20, 2004 - link

    #17, I'm running the game on a regular GF3, AXP2500+ @2.2 and 512 ram. It runs smoothly at directx8 settings, I turned down the water quality though, havent tried turning it up yet, been busy playing the game ;) I'm impressed though....its definitely playable at 1024 and it looks pretty nice too
  • ksherman - Friday, November 19, 2004 - link

    #17, im probably gonna try and run the game (GF2 TI200, but OCed to Ti400 speeds ;), so ill let you know if itll work... Reply
  • ksherman - Friday, November 19, 2004 - link

    dumbish question--> i i wanna play in DX7 or 8 mode, do i need to install different driers, or do i just use the ingmae settings? I dont actually own the game yet, so thats why i ask... Reply
  • kmmatney - Friday, November 19, 2004 - link

    I can't believe how much better DirectX looks compared to OpenGL. Seems like Id made the wrong choice... Reply
  • GonzoDaGr8 - Friday, November 19, 2004 - link

    Aaargh..Has anyone ran this game yet on a Geforce3(regular/Ti200/Ti500) based card yet? I'm curious as I have a Ti200 and could run this is DX8 mode.. Reply
  • skiboysteve - Friday, November 19, 2004 - link

    #13 is exactly right

    its not all OpenGL vs DX or nvidia optimization to ati optimization.

    look back at anands article about the graphics pipeline on each of these cards. Doom3 was extremly texture intensive, doing allot of lookup to tables instead of doing the math.

    nv30 and nv40 are very good at doing texture look ups, and only the nv40 is good at the math. nv30 had a very non math friendly pipeline.

    the r300-r400 were better at math.

    its all in the articles on this very website.
  • bupkus - Friday, November 19, 2004 - link

    I have a Ti4200 w/ 64MB ram and I changed from 1024x768 to 800x600 to fix some occasional stutter problems; it didn't help.
    Which res should I probably be able to run in. I have a 2500+ Barton OC'd to 2.2GHz with 2x256 OCZ PC3500 EL.
    Just for fun, I went to 1280x1024 for my LCD just to see how it would look (without movement) and it was very nice.
  • skunkbuster - Friday, November 19, 2004 - link

    also, nvidia is known to be better at openGl games and weaker in games that use dx.

    the same as ati is known to be better at dx games, and weaker in openGl games.

    doom3= open gl
  • Falloutboy - Friday, November 19, 2004 - link

    #10 its because Doom 3 was very texture intensive based, which the 5xxx series of nvidia exceled at and HL2 is a very shader intensive engine wit hless emphasis on texutures, and as we all know by now the 5xxx series sucked in DX9 shaders Reply

Log in

Don't have an account? Sign up now