PDA

View Full Version : Need help tweaking HL2 with an fx card, how do I force/enable fp16?


vX
04-02-05, 07:49 PM
Hi guys, long time viewer of the site, decided to finally register, I have a 5900 non ultra and finally got around to buying half life 2. I searched through the pages and couldn't find the thread I remember reading on here, but I remember reading there was a way, using a program, to use/force only fp16 on the fx series in dx9 while playing hl2, to vastly improve frames. From what I understand valve coded it to run fp32 in dx9 mode to give it a great slow down and hand the edge over to ati cards, I remember reading fp16 had no iq difference, only improved frames. Can someone please tell me the name of this program and the steps I need to take to enable this? Also, how do I force the dx9 path with this fx card? Thank you for your time and patients.

jolle
04-03-05, 08:06 AM
Think you used 3d Analyze for that..
http://www.tommti-systems.de/start.html

I dont know what the final verdict on that was, but it seems like Valve calls Full Precision all the time, which is FP32 on NV and FP24 on ATI, Partial Precision is FP16 on NV and FP24 again on ATi.

Gentle
04-03-05, 09:49 PM
You don't want to use 3D Analyize. It is a "hack" and a poor one at that.

Also, if Nvidia had done their FX series hardware better, you wouldn't *NEED* to run in DirectX 8.1 mode in Half-Life 2.

Gentle

GamerGuyX
04-03-05, 11:41 PM
Also, if Nvidia had done their FX series hardware better, you wouldn't *NEED* to run in DirectX 8.1 mode in Half-Life 2.

And how is this helping him? :rolleyes:

WimpMiester
04-04-05, 02:17 AM
Just run the game in DX8.1 mode and install the reflective water mod for DX8. I think I downloaded it from file planet but I'm not sure. It's the only thing that's different from DX9.

Edge
04-04-05, 06:18 AM
Just run the game in DX8.1 mode and install the reflective water mod for DX8. I think I downloaded it from file planet but I'm not sure. It's the only thing that's different from DX9.
Uhh, far from it.

vX
04-05-05, 09:21 AM
You don't want to use 3D Analyize. It is a "hack" and a poor one at that.

Also, if Nvidia had done their FX series hardware better, you wouldn't *NEED* to run in DirectX 8.1 mode in Half-Life 2.

Gentle

:thumbdwn: that isnt help, that's you making yourself feel better about your own hardware =P

Thanks to everyone for the advice, i'll look for that water patch. I have to admit, playing in 8.1 isnt so bad ...looks really nice for what it uses.

jolle
04-05-05, 10:15 AM
Think there might be a setting to force FP16 in Rivatuner aswell..
Cant check atm since the 64bit version of Rivatuner isnt out yet, not 100% sure but I think I saw a setting like that in there somewhere.. DX settings or somewhere..

Gentle
04-05-05, 11:45 AM
:thumbdwn: that isnt help, that's you making yourself feel better about your own hardware =P

Thanks to everyone for the advice, i'll look for that water patch. I have to admit, playing in 8.1 isnt so bad ...looks really nice for what it uses.
---
No, that's not me feeling better about my own hardware.

That's me knowing the limitations of the FX series and choosing to skip it.

I used a Geforce4 Ti 4200 until December 2004.

Why?

I knew the FX series had serious limitations.

Don't go thinking you know what I was meaning when I said what I said.
---

Also, it wasn't Valve doing the coding that made the FX series run poorly, it was Nvidia choosing to support fp16 and fp32 and not the fp24 that Valve coded to. This was the standard at the time and not supporting fp24 was Nvidia's fault.

The reason I'm all over this guy is he's spreading misinformation about what happened. All he knows is the FX series card he has doesn't run DirectX 9 by default it should be on his FX series card... And he "heard" Valve conspired with Ati to make his FX series card run Half-Life 2 poorly... So it must be Valve's fault. It wasn't.
----
GamingLordX,

That helped him by telling him the truth and not candy-coating a fake workaround that just degrades image quality.

Gentle

jolle
04-05-05, 12:45 PM
You dont code for FP24 as I understand it..
You call for either Full precision or Partial precision.

When Partial is called NV uses FP16 and ATi FP24
When Full is called NV uses FP32 and ATi FP24.

The FX line is flawed in DX9 at any rate, but its supposed to be atleast playable in DX9 with FP16 forced on all shaders..
Or atleast thats what Ive read, went with ATi (9700pro) that generation since the FX line wasnt a good choice, so I wouldnt know from own experience.

GamerGuyX
04-05-05, 02:09 PM
GamingLordX,

That helped him by telling him the truth and not candy-coating a fake workaround that just degrades image quality.

No thats called trolling. He did not ask for your stupid comments. He was asking for help. He is going to get help whether you like it or not.

Gentle
04-05-05, 04:13 PM
Running the game using 3dAnalyze is not getting help.

It's hacking around a hardware limitation, using an emulator and perpetuating the myth that Valve coded to make Nvidia hardware run Half-Life 2 slower when it was Nvidia that had the issue to begin with.

I admit, I normally would have referred them to the Half-Life 2 DirectX 8.1 "water patch" and did not, but still, running it with 3dAnalyze isn't the way to do it either.

Gentle

Edge
04-05-05, 04:26 PM
Also, it wasn't Valve doing the coding that made the FX series run poorly, it was Nvidia choosing to support fp16 and fp32 and not the fp24 that Valve coded to. This was the standard at the time and not supporting fp24 was Nvidia's fault.

The reason I'm all over this guy is he's spreading misinformation about what happened. All he knows is the FX series card he has doesn't run DirectX 9 by default it should be on his FX series card... And he "heard" Valve conspired with Ati to make his FX series card run Half-Life 2 poorly... So it must be Valve's fault. It wasn't.
No, HL2 running poorly on FX cards IS Valve's fault. They could've allowed for partial-precision shaders on effects that didn't need higher precision (you know, like how they ANNOUNCED that they were going to). But because of their lazyness, FX user have to force ALL shaders to fp16 using a 3rd party program to run the game decently in DX9 mode, which causes annomalies on certain effects (mainly just water and glass) but looks fine everywhere else. 3danalyze isn't hacking a hardware limitation, it's hacking a software one in the form of Valve's lazy coding. Notice no FX users need to use it for games like Far Cry, because that game already has partial precision hints put in. It's also Valve's fault that the water looks like garbage on Geforce 3 cards even though it has pixel shader support (but since they were designing the game for ATI cards, they only used version 1.3 shader effects since that's the lowest version ATI cards support, and didn't bother taking 5 minutes to add in a fallback mode for 1.1 cards).

And BTW, partial precision shaders is a standard feature of the DX9 specification. Your first paragraph should read "not supporting the high-precision/low-precision standards and instead designing their game around what ATI cards support is Valve's fault".

AngelGraves13
04-05-05, 05:03 PM
I edited my dxsupport file and made it like the DirectX 9 one and it runs the same AND looks better. Of course I run it at 1024 with no AA and AF of 4.

Gentle
04-05-05, 08:32 PM
I believe coding for Half-Life 2 was started before the final DirectX 9 spec that called for partial precision was made. If that is correct, I am correct.

Gentle

Edge
04-05-05, 10:32 PM
I believe coding for Half-Life 2 was started before the final DirectX 9 spec that called for partial precision was made. If that is correct, I am correct.

Gentle
It doesn't matter if the coding was started before or after, Valve HAD a version of the game that DID support partial precision hints in the game, they even showed benchmarks for it! That was back in mid-2003, so obviously the engine itself supports partial precision, and partial precision hints have been a part of DX9 specs since before the FX series was even released (long, long before HL2 was first shown). I don't see why they REMOVED the partial precision hints that they did have in the game and didn't develop on it further, since they started work on it anyway (at least, enough work to get a benchmark out of it). In fact, they were planning on making a special FX code path for the game which also converted certain DX9 effects to DX8 along with adding partial precision for certain DX9 calls, but obviously they didn't pull through with that, either.

And AFAIK, Far Cry was in development long before even DX9 was first shown, and in the end they still had partial precision hints in the game along with some nice DX9 support.

fivefeet8
04-05-05, 10:54 PM
Running the game using 3dAnalyze is not getting help.

It's hacking around a hardware limitation, using an emulator and perpetuating the myth that Valve coded to make Nvidia hardware run Half-Life 2 slower when it was Nvidia that had the issue to begin with.

3danalyze actually works around a software limitation of no PP. Most if not all other Dx9 games have partial precision. I don't believe valve coded against nvidia hardware(there are other factors), but the fact remains that having partial precision does help the Nv3x cards run the game in Dx9. So it's fine to run the game using 3danalyze to force Partial Precision for better performance and it does help.

jolle
04-06-05, 10:20 AM
And AFAIK, Far Cry was in development long before even DX9 was first shown, and in the end they still had partial precision hints in the game along with some nice DX9 support.

yeah the Cryengine was first shown as "dino isle", as a Geforce3 techdemo running OpenGL, so its pretty darn old, even tho they its very different today from what it used to be.

jbirney
04-06-05, 12:12 PM
It doesn't matter if the coding was started before or after, Valve HAD a version of the game that DID support partial precision hints in the game, they even showed benchmarks for it! That was back in mid-2003, so obviously the engine itself supports partial precision, and partial precision hints have been a part of DX9 specs since before the FX series was even released (long, long before HL2 was first shown). I don't see why they REMOVED the partial precision hints that they did have in the game and didn't develop on it further, since they started work on it anyway (at least, enough work to get a benchmark out of it).


I have no idea why Vavle did not finnish it. Hoever there are a lot of things that vavle promissed that have not come to pass yet in HL2. They promissed PS3.0 support. They also promised support for ATis 3Dc texture compression as well as HDR. Now maybe with this HDR version due soon we will see 3Dc as well. But the point is a lot of other things were promissed that never showed up. Maybe, just maybe Partial Prcesision was one of them?

Doom3 also had partial precision in its developement (the NV30 path) for at least 18 months but at the end, JohnC pulled it out. Now not saying D3 was the same, but it shows you that other companies have done "simular" things in the past. Again I am not saying D3 did the same...

Finally it takes more than "5 minutes" that you said. There are over 1100 shaders in HL2. It would take "some" time to go through find the ones that need it, tweak those and ensure there is no quality loss. Some can get by with it, some can not. Maybe the folks at Valve thought it was a bad return on thier investment (meaning they spend time to do this, but what is the end results and how many people will it effect)....

WimpMiester
04-06-05, 09:43 PM
I played the game three times, twice using a TI 4200 in DirectX 8.0 mode. The first time with DX8 water, the second time I used the Reflective water patch. Then the third time on my 6800GT in DX9 mode. And I can tell you there is very little difference between DX8 w/reflective water patch and full DX9. Some things are a little grainier in DX8 but its so insignificant why worry about it and I think 2 rooms where the reflective water wasn't used for some reason.

Sure would be nice for FX users if NVIDIA would add the option to force PS2.0-16 in the drivers. And as for PS2.0-16 not getting proper support you can blame Microsoft. People forget that the FX design was complete and almost ready for mass-production when Microsoft decided to go with ATI's 24bit mode for DX9. They easily could have support both but didn't on first DX9.0 release.

jolle
04-07-05, 06:38 AM
They didnt go for any "24bit mode".
Like I said, in DX9 you either call for Partial or Full precision.
ATi hardware just run FP24 on both calls, which has been a good decision sofar.
When Full precision is called they save some compared to NV, when partial is called they do a little more then NV.

Sofar that has worked out very good for them, and now it seems they are going over to a FP16/FP32 design which seems to be pretty good timing, Sweeney mentioned they started to run into artifacts with FP24 opposed to FP32 with some of the shaders in UE3.0.

But generally you use Partial on lighter shaders as they dont need any higher precision, then when Partial causes artifacts you need to call for Full precision.
By the sound if it the only shaders that seems to need to run in Full precision in HL2 are glass and water shaders.
Neglecting this and going full precision all the time isnt affecting ATI, but it is NV, especially NV3x, but I think NV4x handles FP32 "theoreticly" free, but not really since it takes up more space, still it doesnt seem to make much of a dent in performance.. atleast NV4x users reported no speed gains in forcing FP16 while NV3x got a nice boost..

Gentle
04-07-05, 08:37 PM
DirectX 9 has had 4 versions.

Which version of DirectX 9 did Nvidia use as the baseline for the FX series cards?

Gentle

vX
04-08-05, 04:25 PM
thanks for the advice guys, I found it much easier to go buy a 6800 gt lol. =) Problem solved. :D I'm no longer the fxgamer, now the G6 gamer....wonder if I can get a name change heh

Gentle
04-08-05, 08:23 PM
Sorry to have appeared abrasive.

I sincerely hope you enjoy your new hardware.

(Note, if you have done any "tweaks" to enhance your frame rate, you might want to undo them now.)

Gentle