Performance problem

Hi all, I’m making a 3D File Manager using SDL on Linux/FreeBSD, and here’s my hardware first of all:

Athlon XP 2500+(@3200)
GeForce FX 5600
512MB DDR RAM Corsair XML Low Latency

And here’s my problem:
The Directories/Files/links/etc are all being displayed as a colored cube with 0.75 alpha, when I have for example 100 cubes, it goes at 150 fps, when I “browse” trough the cubes it goes to 115 fps, but it still looks a little slow(like if it is choking), when I go for more than 1000, the fps goes to 12FPS!!!And is almost impossible to use it.
What could I do to make this works bether?I mean I am drawing the cubes with displayLists(each cube is a separate display list), I’ve made the cubes in one big display list, and all I got was more 2 or 3 FPS…
I thought that if I made a cliping plane which cliped everithing I could not see, it would improve performance, but this was also a no go, so is there any way?
I’m thinking if I were able to store the polys on the video board, I could get a performance, but I don’t know how to do this(except with display lists), any help?

If you want to take a look at the code, check here
Thanks a lot.


I am using the latest nVidia drivers…

You can do some scene graph prog, or you can use some frustum culling or so. You can also use vertex arrays, VBO’s …

By frustum culling, you mean cliping planes and stuff?Cause since I’m not having a big zNear-zDepth distance, the culling with gluPerspective() would not be suficient…

yes: don’t draw what’s outside the vision.

Is there any way of doing it withouth maths?(I’m just a bitsy litle lazy…hehe)

my gluPerspective() is like this


And I have the “camera” looking to the -Y axys, and everything is being draw in the ZX plane.
If anybody would care to spare a little time in explaining me the maths to make the cliping plane, I would apreciate…also if nobody answers, o well, I will search…

Thanks anyway :smiley:

(please do answear…hehe)

This topic was automatically closed 183 days after the last reply. New replies are no longer allowed.