PDA

View Full Version : GeForce FX 5950 and Source DX 9 performance...


Pages : [1] 2

Raqia
09-02-04, 05:43 AM
Firing Squad recently updated their article about GeForce FX performance with the Half Life 2 engine:

http://www.firingsquad.com/hardware/geforce_fx_half-life2/page5.asp

and in almost all cases, the 5950 has lower performance than even the ATI 9600 Pro! I'm quite surprised by this since the FX is superior both in theory and practice...

What could explain this besides perhaps the issue of using a full-precision floating point format?

ChrisRay
09-02-04, 06:41 AM
Ho boy, I'm sensing a flame thread occuring. I'll reply further tommorrow. Guys keep it civil.

svetli_pp
09-02-04, 09:59 AM
The reason why FX cards are so slow in DX9 Source is :) Valve. I am sure they do their dirty "little" tricks to promote ATI which badly needs it after devastating Doom3 benchmark results. But.... considering HL2 will be out around the release of HL3:) and that DX8.1 path is almost indiscernible to DX9 I think everything is similar to last year HLbenchmarking fuss. ATI needs it and it gets it -> after all Valve are very obligated for selling their game with XT series without having game at all. So lets wait and see when HL2 is around and 7800Ultra maybe how everything will settle down:)

WarheadMM
09-02-04, 10:14 AM
Firing Squad recently updated their article about GeForce FX performance with the Half Life 2 engine:

http://www.firingsquad.com/hardware/geforce_fx_half-life2/page5.asp

and in almost all cases, the 5950 has lower performance than even the ATI 9600 Pro! I'm quite surprised by this since the FX is superior both in theory and practice...
What could explain this besides perhaps the issue of using a full-precision floating point format?

and what benchmarks were YOU reading?? All the benchmarks i seen the 9800pro kicked the FX 5950 in the butt in DX9

Subtestube
09-02-04, 10:28 AM
He's comparing it to a 9600 Pro, not a 9800 Pro. No-one's arguing (yet) that the high end Radeon isn't faster than the high end GF FX. As to why the FX 5950 is doing worse than the 9600 Pro, I'd guess that HL2 actually requires the extensions to SM 2.0 basic that ATi implemented in that line. Hence, the GF FX series will be emulating them, and that's sloooooow. Just a guess, but it would explain the problems. Basically, unless someone goes through and write some FX specific shader substitutes, it may be that the FX series video cards will never compare with the Radeon 95xx+ series video cards in the specific case of HL2. I'm not a developer that has any association with anyone important, so this is all guesswork, and I have no evidence to back any of this up!

Heh.

Demirug
09-02-04, 10:37 AM
The real FPS valves for the DX9 Path on an NV3X are even lower than the values you can see at FiringSquad. The Water is not transparent on an NV3X it is simply not there. If I fake my NV35 deviceid in an NV40 deviceid the water is back and the FPS are lower than before. Someone else use an NV3X id with a R3XX Chip and the water disappeared again. Looks like a strange engine bug.

btw: I got a nice speed improvment (up to 50%) after I activate partial precision (FP16) on all shaders. Maybe there are some more % possible if someone make the shaders more NV3X friendly. But with more than 2000 shaders this is not a job for a weekend.

{Sniping}Waste
09-02-04, 01:26 PM
Its not a engin bug. The DX9 path is very heavy in DX9 shaders. The 5XXX FX is much slower in DX9 shaders then the ATI 95XX and up. Most of the DX9 games out now have littil DX 9 shaders so the proformans hit is not to bad on the 5XXX FX cards but Source is heavy use of DX9 shaders so the 5XXX FX speed will be slow and thats why the defalt setting is DX8 path for the 5XXX FX
Now the 6XXX FX is another story and should be fast in the DX9 path.

Demirug
09-02-04, 01:57 PM
{Sniping}Waste, I am not saying that the low speed is an engine bug. I was talk about the missing water.

I am know that the DX9 path makes heavy use of 2.0 shaders. I have a large file with all shader on my harddisk.

The low speed is a result of the general PS 2.0 problem that each GF5XXX have. But the bad optimized shaders make it more badly.

Raqia
09-02-04, 04:13 PM
btw: I got a nice speed improvment (up to 50%) after I activate partial precision (FP16) on all shaders. Maybe there are some more % possible if someone make the shaders more NV3X friendly. But with more than 2000 shaders this is not a job for a weekend.

This is a pretty interesting finding, were you using 3D Analyze? Also would someone bench the DX9 path under the 4x.xx detonators? I'd like to see if nVidia really has a better compiler w/ the 5x.xx + Forcewares or if it's all shader replacements...

Demirug
09-02-04, 04:44 PM
This is a pretty interesting finding, were you using 3D Analyze? Also would someone bench the DX9 path under the 4x.xx detonators? I'd like to see if nVidia really has a better compiler w/ the 5x.xx + Forcewares or if it's all shader replacements...

No, I did not use "3DAnalyze".

I am using "DX-Tweaker". It is a D3D debug and diagnostic tool I am currently develop for my company. One of the plugins for the "DX-Tweaker" can add partial precision flags on any shader. There are plugins for other jobs like change cardids or caps. I will stop here because I am allready offtopic.

Lfctony
09-02-04, 04:44 PM
The reason why FX cards are so slow in DX9 Source is :) Valve. I am sure they do their dirty "little" tricks to promote ATI which badly needs it after devastating Doom3 benchmark results. But.... considering HL2 will be out around the release of HL3:) and that DX8.1 path is almost indiscernible to DX9 I think everything is similar to last year HLbenchmarking fuss. ATI needs it and it gets it -> after all Valve are very obligated for selling their game with XT series without having game at all. So lets wait and see when HL2 is around and 7800Ultra maybe how everything will settle down:)

Erm, right. So they are using dirty tricks to make the FX cards slower, because the 6800 cards are faster in Doom3, yet they don't touch the 6800 cards. Yep, makes perfect sense. :lame:

Edge
09-02-04, 06:20 PM
At first I was a bit suprised, but then I remembered that the Source stress test is almost entirely shader limited. Obviously, the FX series has poor DX9 performance, but in most cases this doesn't have that big of an impact in-game since it's only a small part of the rendering procedure. But this benchmark does confirm my early suspictions: that the Source "benchmark" concentrates almost entirely on DX9 shader effects and is a fairly poor way to judge how the actual game will perform. Look at the HUGE gap between DX8 and DX9 modes with the FX cards: what games have anywhere near as big a performance hit on the FX series when going from DX8 to DX9 mode? Even Farcry only has at most a 40% hit when using DX9 mode on FX cards with full precision.

BTW, what ever happened to Valve's "mixed mode" that they used in Half-life 2 for FX cards? Did they totally abandon that idea after last year's E3 or something?

-=DVS=-
09-02-04, 06:21 PM
Nothing new here , FX never did well in DX9 , thats why we had Flamy thread about FX Failure (http://www.nvnews.net/vbulletin/showthread.php?t=35952) it does good in DX8 , but DX9 even 9600 outperforms 5950 , situation is reverse in Doom 3 :D

Demirug
09-02-04, 06:59 PM
BTW, what ever happened to Valve's "mixed mode" that they used in Half-life 2 for FX cards? Did they totally abandon that idea after last year's E3 or something?

Yes, the mixed mode is gone. Maybe it will come back but I did not believe this. NV40 do not need it and the NV3X are forced to the DX81 mode by default.

grimreefer
09-02-04, 08:43 PM
Nothing new here , FX never did well in DX9 , thats why we had Flamy thread about FX Failure (http://www.nvnews.net/vbulletin/showthread.php?t=35952) it does good in DX8 , but DX9 even 9600 outperforms 5950 , situation is reverse in Doom 3 :D
well, normally, a 5950 is equal to a 9800pro(when running fp16, with all optimizations)
a 5950 slaughters a 9600 in farcry...
yet it doesnt in hl2
both are dx9
plus, i remember seeing different results where the 5950 does really good in hl2
(they mentioned they forced dx9.0, buts still looked like dx8.1, ring any bells?)

-=DVS=-
09-02-04, 08:51 PM
Yes but it does need optimizations to run competatively , probably runs Far Cry in lower precision DX8 mode anyways , remember last years investigations were FX line had lower quality then Radeon line.

Anyways i don't care FX line is dead we have 6800 now , discussing this would be pointless, we should be happy we have two strong companys , who are not gonna die any time soon ;)

Subtestube
09-02-04, 09:10 PM
I've never really had a play with the late models of the FX series, but as I say, if simple FX DX 9.0 performance can't explain this problem, it really could be that it's trying to emulate some SM 2.0b functions. Once again, I stress that I don't know how well an FX5950 should perform when doing full precision shader calculations under the SM 2.0 spec, but if it really should be that much better than the 9600 under such conditions, then something like that could EASILY explain it. Any of you remember running NV30 emulate back in the day? Well it'd be like that, only possible somewhat faster as nowhere near as much would be emulated.

Raqia
09-02-04, 11:01 PM
I've never really had a play with the late models of the FX series, but as I say, if simple FX DX 9.0 performance can't explain this problem, it really could be that it's trying to emulate some SM 2.0b functions. Once again, I stress that I don't know how well an FX5950 should perform when doing full precision shader calculations under the SM 2.0 spec, but if it really should be that much better than the 9600 under such conditions, then something like that could EASILY explain it. Any of you remember running NV30 emulate back in the day? Well it'd be like that, only possible somewhat faster as nowhere near as much would be emulated.

Wasn't Shader Model 2.0 only amended w/ 2.0b functionality w/ ATI's most recent R420 based cards? I'm pretty sure the NV35 has Shader Model 2.0+ which has more hardware capability than the 9600's 2.0 in DX9... I still hope they bring back mixed mode, but I suspect that nVidia will release a shader replacement driver a month after the game is released that'll bring down the performance delta.

Subtestube
09-02-04, 11:11 PM
You could easily be right - I'm very capable of making mistakes ;)

Arraso
09-03-04, 12:20 AM
NV35 supports SM2.0"a"

Subtestube
09-03-04, 12:27 AM
I'm aware that the NV35 supports 2.0a... but I was under the (possibly mis)apprehension that the R3xx supported 2.0b. As I say, I'm happy to admit that I could easily be wrong.

Demirug
09-03-04, 02:48 AM
shaderprofile (pixelshader)

R3XX: 2.0
NV3X: 2.0 + 2.A
R420: 2.0 + 2.B
NV4X: 2.0 + 2.A + 2.B + 3.0

2.A supports more options than 2.B. The only reason why NV3X do not support it is the higer number of available tempregister. But in normal cases on a NV3X you need less tempregister for the same job as on a R420.

shaderprofile (vertexshader)

R3XX: 2.0
NV3X: 2.0 + 2.A
R420: 2.0
NV4X: 2.0 + 2.A + 3.0

profiles are only suporteted from the shadercompiler that is part of the SDK (not the runtime).

There are 3 versions of this shadercompiler

DX9 SDK: 2.0
DX9 SDK 2003: 2.0 + 2.A
DX9 SDK 2004: 2.0 + 2.A + 2.B + 3.0

The shadercompiler get an HLSL shader as input and give you an asm shader as output. Different profiles results in different shaderversions for the runtime.

profile 2.0 -> version 2.0
profile 2.A -> version 2.X
profile 2.B -> version 2.X
profile 3.0 -> version 3.0

For everything that can do more than 2.0 but less than 3.0 the runtime have only one version 2.X. If the chip support this version it have to tell the runtime all the 2.X options that are useable.

Back to topic.

The shaders for the DX9 path of the source engine are written in HLSL and compiled from valve before the give it to us. Valve use the DX9 SDK 2003 compiler and only the 2.0 profil. nVidia suggests that you should use the 2.A profil for NV3X chips.

Arraso
09-03-04, 04:04 AM
"nVidia suggests that you should use the 2.A profil for NV3X chips."

And did Gabe make this? :rolleyes:

I think that we need a "Humus" for the green force :D Maybe you Demirug...

Demirug
09-03-04, 05:24 AM
"nVidia suggests that you should use the 2.A profil for NV3X chips."

And did Gabe make this? :rolleyes:

Yes, Valve did this for the "mixed mode" but this "mixed mode" is not in the current version of CS:S and the VST.

I think that we need a "Humus" for the green force :D Maybe you Demirug...

I am not want to be "green" or "red". As I am not working for one of the two sides in this war I have the right to make what ever I want.

Rollo
09-03-04, 02:49 PM
I could swear the reason for this is that when forced to run DX9 PS2 the nV3Xs have to use 32bit precision because they don't have 24 bit, and the app has to specifically call for 16 bit?

Could someone with a better memory or more knowledge of this verify or shoot me down?