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
POST A COMMENT

62 Comments

View All Comments

  • ukDave - Friday, November 19, 2004 - link

    Not that i'm saying that is the reason it performs so badly, it is due to its poor implementation of DX9.0. I think the whole nV 5xxx line needs to be swept under the carpet because i simply can't say anything nice about it :) Reply
  • ukDave - Friday, November 19, 2004 - link

    Doom3 was optimized for nVidia, much like HL2 is for ATi. Reply
  • mattsaccount - Friday, November 19, 2004 - link

    How can a 5900 be so poor at dx9 style effects in HL2, and excel at an (arguably) more graphically intense game like Doom 3? The difference can't be due only to the AP (Dx vs OGL), can it? Reply
  • ZobarStyl - Friday, November 19, 2004 - link

    Doh login post: FYI the bar graphs on page six are both the DX8 pathway. Reply
  • ZobarStyl - Friday, November 19, 2004 - link

    Reply
  • Cybercat - Friday, November 19, 2004 - link

    Good article. I'm a little disappointed in the 6200's performance though. Reply
  • thebluesgnr - Friday, November 19, 2004 - link

    Hi!

    Have not read the article yet but I'd like to ask one thing:

    The Radeon 9550 tested has 64-bit or 128-bit memory interface? From your numbers I'm sure it's 128-bit, but I think some people might order the cheapest (=64-bit) after reading the article, so it would be nice to see it mentioned.

    On the same line, I would like to see AnandTech mention the GPU and memory clocks for all the video cards benchmarks.

    btw, the X300SE was tested on a platform with the same processor as the other AGP cards, right?

    Thank you.
    Reply
  • shabby - Friday, November 19, 2004 - link

    Holy crap my ti4600 can muster 60fps in hl2 ahahaha. Reply
  • skunkbuster - Friday, November 19, 2004 - link

    yikes! i feel sorry for those people using video cards that only support DX7.
    Reply
  • Pannenkoek - Friday, November 19, 2004 - link

    I wonder if "playability" is merely based on the average framerates of demos, or that somebody actually tried to play the game with an old card. Counter Strike became barely playable with less than 40 fps later in its life, while average framerates could be "good enough" and while it used to run smoothly at the same framerate in older versions. Reply

Log in

Don't have an account? Sign up now