PDA

View Full Version : Time complexity with respect to the length of fragment shader.



inet
11-16-2003, 08:08 AM
Hi,

Is there such a time complixity curve offically posted either by Nvidia or ATI?

V-man
11-16-2003, 10:19 AM
According to MS docs in D3D's pixel shaders, most instructions take 1 cycle. A few take 2.
It doesn't say much more than that.

There are some issues when it comes to a specific GPU.
Some website (can't find the link) says that for NV FX, you should have 2 tex instructions followed by 1 alu inst. MS says that they will (or already have) patched their HLSL to take this into account.
ATI doesn't have this issue.

According to that same website, a few take 3 cycles, and I remember that their was 1 that takes 7.

I think Korval has the link to the site.

inet
11-17-2003, 03:33 AM
From what you said, can I conclude that the complexity is still linear?

davepermen
11-17-2003, 03:50 AM
yes, linear, if you don't bother about what the fp actually does. because that mathers much more.. and there, completely different rules for ati and nvidia apply.

Jan
11-17-2003, 05:35 AM
Sorry, this is a little off-topic, because itīs not about "real" fragment-programs:

What about nVidias register combiners? I know that it is slower when i enable another combiner stage, but is there a speed-difference if i only multiply stuff or if i do a dot-product (or an addition, which always comes down to 2 multiplications and one addition)?

Thanks,
Jan.

Zengar
11-17-2003, 08:16 AM
About RC: on GeForce3 you can use two general combiners at no cost. With each combiner you add after it the performance drops two times.

davepermen
11-17-2003, 08:32 AM
a combiner is one instructions. no mather what you do in it.. so no, there is no performance gain or loss what you do..

i thought it was like this:

1-2 gc => 100% perf
3-4 gc => 50% perf
5-6 gc => 25% perf..

hm no, that sounds too bad if i enable ALL 8 http://www.opengl.org/discussion_boards/ubb/biggrin.gif

never had a gf3/gf4.. only gf2..

Korval
11-17-2003, 10:43 AM
a combiner is one instructions. no mather what you do in it.. so no, there is no performance gain or loss what you do..

A combiner is one instruction on a < GeForce 3 card. On GeForce 3/4 cards, every 2 combiners is one additional cycle, with the first two (and the final) being free.