Vertex program performance in older cards

Started by
8 comments, last by Custard Slice 20 years, 5 months ago
Hi. I''m just starting to learn and experiment with vertex programs and have the following query with regards to vertex program performance for you experts out there: You can use a vertex program to translate the position of the vertex. You can also use the program to calculate the lighting. I see from delphi3d.net''s extension registry that even an old TNT card supports the ARB_vertex_program extension with recent drivers. Now I''ve heard (and this could very well be wrong) that on pre-Geforce 3 cards (including the GF4 MX) that vertex shaders are emulated by the driver. Now the Geforce 1''s big selling point was that it did transformations and lighting in hardware, but surely if I use an emulated vertex program on such "older" cards then the transformations and lighting are no longer done in hardware, and thus be slower than the fixed function pipeline. I''ve checked this out a bit on a simple "sin wave grid" vertex program on a GF2 MX. The frame rate was much better with the vertex program disabled, but I noticed no difference in frame rate when I ran it on a GF FX 5900. This is not exactly a real world situation, but it seems to illustrate my suspicions. Is my line of thinking correct or am I missing something fundimental here? If the fixed function pipeline is faster on these older cards then how do I detect if the program is emulated or not (an extension string lookup will just tell me if the extension is available). I''d far rather use the fixed function pipeline for "emulated" cards and give the newer cards the benefits of hardware vertex programs. Any thoughts? Flames?
Advertisement
From what I learned (very) recently, the newest cards simply run the fixed function pipeline with vertex programs, hence the lack of a difference. D3D gives you whether or not it''s hardware...I know of no way in OGL.
SlimDX | Ventspace Blog | Twitter | Diverse teams make better games. I am currently hiring capable C++ engine developers in Baltimore, MD.
quote:Original post by Promit
From what I learned (very) recently, the newest cards simply run the fixed function pipeline with vertex programs, hence the lack of a difference.

Well, there''s some speculation as to what the GeforceFX does. Early on I heard that it has a dedicated T&L unit, but a couple months ago I read speculation about it being emulated in vertex shaders. I do know for sure that the Radeon 9500 and higher have totally abandoned T&L and are emulating everything. I''ve even heard that ARB_shadow is in fact emulated.
-Ostsol
quote:Original post by Ostsol
quote:Original post by Promit
From what I learned (very) recently, the newest cards simply run the fixed function pipeline with vertex programs, hence the lack of a difference.

I do know for sure that the Radeon 9500 and higher have totally abandoned T&L and are emulating everything.


Bull. Vertex programs on the R300 upwards are most definitely implemented in the hardware in almost every case. My own vertex programs implemented on a radeon 9700 pro give me far better performance than the equivilant code implemented in software. The kind of performance boost I'm getting is only really possible with vector processing and the high level of parallellism offered by modern graphics cards.

[edited by - benjamin bunny on November 5, 2003 6:49:49 PM]

____________________________________________________________www.elf-stone.com | Automated GL Extension Loading: GLee 5.00 for Win32 and Linux

Yeah, Bullshit with a big "B". Can you stop spreading false information please ? If you don''t know something, shut up.
You must have misread my statement and perhaps I worded it poorly. I meant that T&L on Radeons from the 9500 and up are emulated in shaders (which are definitely supported most thoroughly in hardware). Some support to that statement:

From ATI''s OpenGL SDK:

quote:http://www.ati.com/developer/sdk/radeonsdk/Gl_sdk.zip
All geometry processing is performed by the four vertex engines in the 9500+ series. The peak geometry rate is roughly the number of operations per vertices divided by four. All fixed function and user vertex shaders use the same resources , so the approximate penalty of a feature in fixed function is equivalent to the cost if it were hand-coded in a vertex program.

-Ostsol
...

Last time I checked the fixed function pipeline was on the GPU.
____________________________________________________________AAAAA: American Association Against Adobe AcrobatYou know you hate PDFs...
quote:Original post by Ostsol
You must have misread my statement and perhaps I worded it poorly. I meant that T&L on Radeons from the 9500 and up are emulated in shaders (which are definitely supported most thoroughly in hardware). Some support to that statement:

From ATI''s OpenGL SDK:

quote:http://www.ati.com/developer/sdk/radeonsdk/Gl_sdk.zip
All geometry processing is performed by the four vertex engines in the 9500+ series. The peak geometry rate is roughly the number of operations per vertices divided by four. All fixed function and user vertex shaders use the same resources , so the approximate penalty of a feature in fixed function is equivalent to the cost if it were hand-coded in a vertex program.



In that case, I forgive you .

____________________________________________________________www.elf-stone.com | Automated GL Extension Loading: GLee 5.00 for Win32 and Linux

quote:Original post by Raloth
...

Last time I checked the fixed function pipeline was on the GPU.

Indeed it is! What did I post that implied that the fixed function pipeline wasn't on the GPU?

[edited by - Ostsol on November 5, 2003 9:00:24 PM]
-Ostsol
Oops, I misread your post. Somehow I read "shaders" as "software" in "I meant that T&L on Radeons from the 9500 and up are emulated in shaders". I''m having a really bad day for common sense...ugh...
____________________________________________________________AAAAA: American Association Against Adobe AcrobatYou know you hate PDFs...

This topic is closed to new replies.

Advertisement