First (before I explain how this is relevant to the "video card" thread), guess what graphics card this is rendered on? It's not my pic (I'm just hosting at the moment). Do pay attention to the FPS counter in the lower right.
http://xanderf.dyndns.org:8080/images/pc/compare/guess_who.jpg
Oh, it's pretty sad really.
Basically, some guys on Guru3d figured out what Valve did to cripple nVidia cards.
First off, you need 3dAnalyze. I'm assuming everyone knows that you can force HL2 to run in DX9 mode on FX cards, right? Only, you get artifacts in the water and other areas?
Well, that's pretty easy to fix. Just have the 3dAnalyze util report your card as an ATI Radeon instead of a GeForce FX.
*taddah* All the artifacts go away, and you get true DX9 reflections!
Okay, but there IS a performance hit doing that. How to get around that?
Well, the funny thing is that Valve coded Half-Life 2 to use FP24 shaders all the time every time. And it's really not needed. Nope. In fact, FP16 seems to do the trick all the time - as seen in that above pic. FP16 and FP24 are indistinguishable in Half-Life 2.
Again, using 3dAnalyze you can test this. It is capable of forcing a card to use only FP16 shaders no matter what is requested. You'll see no image quality difference doing that - just a HUGE performance boost. Why? Well, because while FP16 is all that Half-Life 2 *needs*, if they let the GeForce FX cards do THAT, they might have been competitive! So, instead, they forced FP24 (unneeded), which caused the GF-FX cards to render the DX9 mode in FP32 all the time. With the obvious associated performance hit.
Try it yourself. The link to the article is here. Download 3dAnalyze, and follow these instructions:
Quote:
Originally Posted by Presi
Open it and follow the numbers:
1. select HL2.exe file in half-life 2 folder
2. select any file inside the folder half-life 2\bin
3. select Steam.exe
than check these options:
- Under the section Pixel and Vertex Shader: FORCE LOW PRECISION PIXEL SHADER
- Under the section Remove stuttering: PERFORMANCE MODE
- on the bottom left: FORCE HOOK.DLL
If you haven't change the file dxsupport.cfg with the method described in the beginnig of this thread, you can obtain the same result typing in the section DIRECTX DEVICE ID'S the ATI Vendor and Device ID, there are just two device though.
....
In the end 3D ANALYZE gives me an error, CREATEPROCESS FAILED, I launch HL2 anyway, the water looked awesome, awesome detail and I noticed a boost in performance too. I think around 20/30% which allowed me to play the WATER HAZARD level with this setting: 1024x768 everything max, water relection to ALL, 2xAA, 4xAnisotropic with a range of fps of 40 and >150.
Amazing, huh?
http://hardforum.com/showthread.php?t=838630