DesmoQuattro
Legacy Member
Bron
Iemand dit al geprobeerd?
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 most the time - as seen in that above pic. FP16 and FP24 are indistinguishable in Half-Life 2 for the most part.
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 virtually no image quality difference doing that - just a HUGE performance boost. Why? Well, because while FP16 is all that Half-Life 2 *needs* almost all the time, if they let the GeForce FX cards do THAT, they might have been competitive! So, instead, they forced full precision in every shader op (unneeded), which caused the GF-FX cards to render the DX9 mode in FP32 all the time. With the obvious associated performance hit.
So, in short, Valve handicapped the GeForceFX cards by 'picking and choosing' which part of the DX spec to follow - they chose not to implement the partial precision hints allowed for in the spec, and which are obviously usable in almost every case in the game, and which would have made the GeForce FX cards competitive!
Iemand dit al geprobeerd?
