Summary: Thanks to Valve Software we now have a new method for forcing the Source engine's DirectX 9 path on GeForce FX hardware. Today we present to you our first-ever GeForce FX DX9 Source engine benchmarks as well as the complete feature lists for every version of DirectX as well as instructions on how to enable DX9 on the GF FX in your CS: Source beta. What are some of the feature differences? For instance, Valve adds supersampling to provide soft shadows for DirectX 8.1, while DX8.0 shadows are sharp. In this article we go over all the eye candy features in Half-Life 2, including which cards support them. See how your card stacks up, and how GeForce FX performs and looks in DX9 in this article!
In our “GeForce FX and Half-Life 2: DirectX 8 Only?” article, we discovered that not only does GeForce FX hardware default to DirectX 8, FX cards wouldn’t run Valve’s DirectX 9 path even when DX9 was specified in the console. It turns out that the console command we used “mat_dxlevel 90” doesn’t work properly with GeForce FX cards. Instead, Valve recommended we use the switch “-dxlevel 90” at the command line to force GeForce FX cards to run the DirectX 9 path. Armed with this knowledge, we set out to re-run our benchmarks and take new screenshots with GeForce FX running the video stress test in DirectX 9. Valve was also kind enough to provide a listing of the differences between the various APIs. We’ll get started with the feature descriptions of each path first: DirectX 7 path
Half-Life 2’s DirectX 7 path includes NVIDIA’s GeForce 256, GeForce 2 series, GeForce2/4 MX, and nForce, and the RADEON 7xxx series (with RADEON 9100 IGP and MOBILITY RADEON 9000/9100 defaulting to the DirectX 7 path as well). DirectX 8 path
Among the cards included in the DirectX 8 path are GeForce4 Titanium series (including GeForce4 Go), GeForce FX 5200/5600/5700, and GeForce FX Go 5600/5700 series. look softer. DirectX 8.1 path
Cards that use the DirectX 8.1 path include RADEON 8500/9100, RADEON 9000/9200, GeForce FX 5800/5900. softer. DirectX 9 path
Graphics cards that use the DX9 path include GeForce 6800 series, GeForce 6600 series, RADEON 9500/9600, RADEON X300/X600 series, RADEON X800 series, RADEON 9700/9800, MOBILITY RADEON 9600/9700, and MOBILITY RADEON 9800 softer. Notes
The main highlights we take from this is that DirectX 7 lacks bump mapping. DX7 users will also miss out on refractive water and detail props like strands of grass and rocks. Valve also mentions the use of 256x256 textures and reduced level of detail on models (with no decals).
GeForce FX DirectX 8.1 vs. DX9
Before we show you the GeForce FX DX9 shots, lets first go over the DirectX 8.1 screenshots we took in the previous article. All screenshots are taken with 4xAA/8xAF:
And now, GeForce FX with DirectX 9: [image]
Based on our screenshots, the enhanced DX9 water we just mentioned on the first page has apparently taken a complete disappearing act when run on GeForce FX, it’s completely transparent! This is likely a bug in the DX9 path that pops up with GeForce FX. We can however, see the full resolution displacement mapping in use along the cave walls: ![]() GeForce FX 5950 Ultra DX8.1 ![]() GeForce FX 5950 Ultra DX9.0 Here’s the original DX9 shot we took of the same wall with GeForce FX 5950 using the “mat_dxlevel 90” console command: ![]() Incorrect GeForce FX 5950 Ultra DX9.0 As you can see, there’s a significant difference between the displacement maps used in DirectX 9 versus DirectX 8.1. The full resolution displacement maps used in the DX9 path don’t have the exaggerated look of 8.1 (although some of you in the comments preferred 8.1). When we compare the new GeForce FX DX9 scene above with RADEON 9800 XT, we can confirm that we’re now running with the DX9 path properly enabled: ![]() RADEON 9800 XT DX8.1 ![]() RADEON 9800 XT DX9.0 Next let’s see how the different paths and cards look in de-dust with Counter-Strike: Source.
Shadows
The first aspect we wanted to explore in Counter-Strike: Source are the soft shadows supported in the DirectX 8.1 and DirectX 9 paths. If you recall the chart on page 1, shadows in the DX8.1 and DX9 paths are supersampled to give them softer edges than DX8.0 shadows. Dust isn’t the best map for this, but we were still able to find a good test sample:
Although this is a pretty simple test case, it isn’t hard to see the softer shadow cast on the terrorist in this batch of screenshots with the DX8.1 and DX9 paths on both ATI and NVIDIA hardware: ![]() GeForce FX 5950 Ultra DX8.0 ![]() GeForce FX 5950 Ultra DX8.1 Displacement maps
We provided screenshots of the full resolution displacement maps in the video stress test screenshots on the previous page, but we wanted to explore the topic again in Counter-Strike: Source. Our next test area comes from outside the middle area in dust:
The output of the GeForce FX 5950 Ultra and RADEON 9800 XT looks pretty similar in both the DirectX 8.1 and DirectX 9 paths; spotting one card from another would be difficult if we removed the captions from the screenshots: ![]() GeForce FX 5950 Ultra DX8.1 ![]() RADEON 9800 XT DX8.1 ![]() GeForce FX 5950 Ultra DX9 ![]() RADEON 9800 XT DX9 Based on the screenshots we’ve collected, we’re 100% confident that the GeForce FX 5950 Ultra is indeed running Source’s DX9 path. But before we get into the performance comparison, we took a few miscellaneous screenshots in dust: [image]
AMD Athlon 64 3800+ ASUS K8V Deluxe 1GB OCZ PC3200 EL Platinum Rev2 ATI RADEON 9800 XT ATI RADEON 9600 XT CATALYST 4.8 eVGA e-GeForce FX 5950 Ultra eVGA e-GeForce FX 5700 Ultra eVGA e-GeForce FX 5600 Ultra PNY Verto GeForce 6800 GT ForceWare 61.77 DirectX 9.0c Windows XP with Service Pack 1 60GB Western Digital Special Edition with 8MB cache Benchmarks
Half-Life 2 Video stress test
Half-Life 2 VST – Direct3D
Half-Life 2 VST – Direct3D
Counter-Strike: Source – Direct3D
Counter-Strike: Source – Direct3D
Once DirectX 9 is enabled, GeForce FX cards took a significant performance hit in our testing. For GeForce FX 5700 Ultra and 5600 Ultra, we witnessed performance declines of up to 2.5 times running the DirectX 8.1 path in a couple of cases with the video stress test. In comparison, RADEON 9600 XT’s worst-case scenario was a performance decline of 23% at 1600x1200 with 4xAA and 8xAF. On the high-end cards, GeForce FX 5950 Ultra performance dropped by a factor of two once the DirectX 9 path was enabled (versus RADEON 9800 XT’s 10-27%). Essentially, enabling the DX9 path with GeForce FX cards knocks your frame rate in half with Valve’s video stress test, the performance dropoffs are sometimes even worse for GeForce FX in Counter-Strike: Source beta. Just take a look at the trilinear benchmarks on page 7. It isn’t pretty for GeForce FX at 1024x768 and 1280x1024 with the DX9 path enabled. Based on this data, we can’t fault Valve for running GeForce FX cards in DirectX 8.0/8.1 mode by default. If the frame rate isn’t high enough to ensure seamless gameplay, gamers tend to get frustrated. After all, no one enjoys playing a slideshow. NVIDIA, on the other hand, argues that the video stress test isn’t reflective of real world gameplay in Half-Life 2. In order to assess performance of Half-Life 2, there’s no substitute better than the game itself. As the video stress test is largely based on the Techdemo from ATI’s Shader Day event last year and not one of the gameplay demos such as City17 or Bugbait, the video stress test has little to do with Half-Life 2 performance, and nothing to do with other games based on the Half-Life 2 engine. In fact, NVIDIA claims that Source Engine-based games with geometry instancing and shader model 3.0 pixel and vertex shaders will be faster on NVIDIA’s current generation, GeForce 6800 hardware than on ATI X800. We also know that NVIDIA will be releasing its next ForceWare driver early next month, although doubling performance in one driver release is highly unlikely (especially when you’re dealing with hardware as old as GeForce FX). Whatever the case, it’s refreshing to see that DX9 can indeed be enabled on GeForce FX hardware. While all current indications suggest that GeForce FX users won’t want to play Half-Life 2 in this mode, it’s good to have that option available. No one likes being forced to do something, especially when you’re talking about a graphics card you spent your hard-earned money on. By providing the DX9 path via command line or console, Valve keeps the casual gamers who know nothing about their hardware happy, while enthusiasts can tweak settings to their heart’s content. As we said in our original article, it’s a win-win scenario for everyone involved. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| © Copyright 2003 FS Media, Inc. |