3D file manager

Hi all!
We’ve written a TC 3d file manager - http://www.geocities.com/udodenko/tc.zip
It’s Delphi5 based, sources are open. Based on GLCL OpenGL Delphian class library.
It appears to be too slow (50 fps on Riva 128 , ~14 fps on Software) for graphics of this kind(without textures).
I have some questions about optimization(for software mode):
a)Is such framerate Ok for 56 bars and lots of lines or it can be faster?
b)I render file bars as 56 separate DLs. Outside of DLs are Push/Pop/Translatef/Rotatef and glMaterialfv.
Will it be faster if I put them inside the DL?
c) Will it be faster if I put this bars into 4 DLs? I’ll have to recompile them pretty often because of hottrack highlight.
d)I draw letters using lines. Are letters using textures faster in software?
e)Are such things as VertexArray(or smth like that) faster than DLs in software?
f)Are glMaterialfv’s eating perfomance if I call them few times for each bar?
Any optimization hints will be appreciated.
Also it’ll be good if someone will benchmark TC on GeForce.

We made TC able to read visualizations from DLLs(visualization is an interface). We already have working C++ visualization(that writes on DC). If somebody wants to write own file manager visualization tell me - I’ll write normal documentation and upload it. Our filemanager core does all OpenGL initialization, sends mouse/keyboard messages, loads dir contents, sorts and filters files, does file operations, dragdrop,updates folder contents and something else. So everything needed to implement visualization is displaying folder contents and buttons and handle mouseclicks.


Riva 128? People are still using those?

Is 50 fps too slow? You can’t really expect to get very good performance with a SW renderer.

The only obvious thing I’d watch out for is whether your Materialfv calls are inside Begin/End – you weren’t totally clear about that. It is legal OpenGL to change material parameters inside Begin/End, but in practice it is a very bad thing to do.

I never worked on the Riva 128 drivers, so I don’t know exactly what worked well and poorly on them. I can only help with TNT and up…

  • Matt