help!!! - opengl performance

Started by
16 comments, last by gahre 22 years, 6 months ago
Help!!! I have < 15 FPS at 2000-3000 triangles drawn! On a Athlon Thunderbird 800 with nVidia geForce 2 GTS with the newest detonator-driver!!! What''s going on? No texturing, only smooth shaded coloured triangles in COMPILED DISPLAY LISTS. There is one display list for each node of my octree. howdy, gahre
Advertisement
Perhaps something else in your code?

With my engine, Im doing 5700+ triangles at 120fps, using a quad-tree for culling, using textured tri-strips in display lists for drawing. Also taking care of collision detection and direct input for both keyboard and mouse, running without optimizations, etc.

Im running a GeForce, p3-600, latest DetonatorXP drivers.
-----------------------"When I have a problem on an Nvidia, I assume that it is my fault. With anyone else's drivers, I assume it is their fault" - John Carmack
Whoah! What the hell? I''ve already searched for some expensive stuff in my code, but didn''t really find anything. there must be a mistake in my code that slows the whole thing down. The funny thing is:

If I reduce the number of triangles I get ~75 FPS at 40 tris drawn and ~75 FPS at 600 tris drawn. Maybe it is because I use allegro+win32api??? Or my timer measures wrong (but it has always worked before) maybe the win32api doesn''t like my timer??? I found out that if I give hDC to my octree-building finc to put out some text stuff it is f**king slow if timing is enabled - why that?
Are you sure you aren''t regenerating the displaylists every frame? If so, change that :o). Also, what about fillrate? what''s the size of the triangles? It might be that you have too much overdraw.. use some kind of occlusion culling for that.. (Occluders might be an idea..)

cya,
Phil


Visit Rarebyte!
and no!, there are NO kangaroos in Austria (I got this questions a few times over in the states
Visit Rarebyte! and no!, there are NO kangaroos in Austria (I got this question a few times over in the states ;) )
quote:Original post by gahre
Whoah! What the hell? I''ve already searched for some expensive stuff in my code, but didn''t really find anything. there must be a mistake in my code that slows the whole thing down. The funny thing is:

If I reduce the number of triangles I get ~75 FPS at 40 tris drawn and ~75 FPS at 600 tris drawn. Maybe it is because I use allegro+win32api??? Or my timer measures wrong (but it has always worked before) maybe the win32api doesn''t like my timer??? I found out that if I give hDC to my octree-building finc to put out some text stuff it is f**king slow if timing is enabled - why that?

The FPS locking at 75 is probably because you have your monitor refresh set at 75Hz and OpenGL waits for the vertical retrace. Nothing is wrong with that. If you want to see the true FPS you should change the "Vertical sync" option in the OpenGL settings for your driver to "Off by default" or "Always off" (the exact names may differ for you).
Well, that 75 FPS problem is solluted now, but the overdraw stuff not yet. The size of my tirangles is indeed one of my problems, because if I want to prevent triangles from being drawn twice of several times, There is zig-zag where the frustum is culled, I have to include some triangle splitting stuff for my octree nodes. Now I get about 140 FPS at 90 triangles drawn - not very fast! I can''t find any expensive stuff in my code (it''s pretty messy) - but I''m not THE programmer, it''s just a little hobby, so the code is not optimized.
mybe I should use triangle strips in my display lists? Will this be much faster?
Yes, use triangle strips.. they will not speed up rendering _alot_ but they''ll save quite some memory from the display list... I didn''t exactly mean splitting up your triangles is that important.. I wonder how much each triangle covers the screen (-> how much overdraw you''ve got)..

cya,
Phil


Visit Rarebyte!
and no!, there are NO kangaroos in Austria (I got this questions a few times over in the states
Visit Rarebyte! and no!, there are NO kangaroos in Austria (I got this question a few times over in the states ;) )
Another thing: Is there a lot of Alpha blending and stuff like that going on? Disable Alpha test if not needed :o))

cya,
Phil


Visit Rarebyte!
and no!, there are NO kangaroos in Austria (I got this questions a few times over in the states
Visit Rarebyte! and no!, there are NO kangaroos in Austria (I got this question a few times over in the states ;) )
No, no alpha blending going on (so far) and no alpha testing enabled (of course).

I reached ~160 FPS at 90 tris now. I altered the far value in gluPerpective. (to 35.0 :-((((( )

This topic is closed to new replies.

Advertisement