🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

Rendering speed

Started by
9 comments, last by ankan666 24 years ago
I''m loading a model with about 2500 triangles and render them with OpenGL. With hardware acceleration, on a celeron 550 Mhz and a Matrox G400 card I get around 5 fps... How is this possible? Why is it so slow? In your experience, how many polys (on a system like mine) can OpenGL handle before things start to get slow (below 20 fps)? // Ankan
Advertisement
Are you sure you are using the opengl driver for your g400 and not the ms software opengl driver ??

my voodoo2(k2-350) renders about 50k - 120k decal textured triangels pr sec, bilinear filtered.

try printing out the vendor string
                    char string[2048], *readout, temp[256];con_add( "OpenGl Driver:" );	sprintf( string, " - %s", glGetString( GL_VENDOR ) );con_add( string );sprintf( string, "   %s", glGetString( GL_RENDERER  ) );con_add( string );	sprintf( string, "   v%s", glGetString( GL_VERSION  ) );con_add( string );	readout = (char*)glGetString( GL_EXTENSIONS );	while( INFINITE ){int result = sscanf( readout, "%s ", string );if( (result == EOF) // (result == 0)) break;readout += strlen( string )+1;sprintf( temp, "   EXT( %s )", string );con_add( temp );}        


seems like the "code parser" dont like logic ORs. Thats a logic OR in the if line.

Edited by - Claus Hansen Ries on June 20, 2000 3:11:54 PM

Edited by - Claus Hansen Ries on June 20, 2000 3:13:21 PM
Ries
i''m using the G400 drivers with HW acceleration.
correct me if i''m wrong, but i''ve heard that NVIDIA''s geforce could display about 15 million triangles per sec. so let''s say that my Matrox G400 can display 1 million/sec, that would give at least
1000000/2500 = 400 fps. (my program does nothing besides drawing untextured polys) Isn''t that true? Why do I only get 5-10 fps? I know that ´my program isn''t falling back to software mode, So that''s obviously NOT the problem.
I think those 15m tri's are a teoretical or ideal situation value.

Fillrate also plays in.

if you render those 1.000.000 tri/s at 800*600, and each tri covers half the screen, and no pixel is rejected by the z-buffer, your card would need to process:

((800*600)/2)*1.000.000 = 240 giga pixels pr sec.

i dont think a g400 is able to do that =), or is it ??

i think either the opengl driver sucks, or you code is very slow.

my voodoo2 / k2-350 gives about 100 fps with 2 textured objects, each 500 faces.

and under 1 fps with the software driver =)


Edited by - Claus Hansen Ries on June 20, 2000 5:00:37 PM
Ries
You''re correct, but there''s really no difference if I render the polys in wireframe, so the fillrate isn''t the bottleneck here.,
you can send me your app, and i''ll see what i get ??
( i perfer the code, since those seldom contain viruses )
Ries
Try drawing the model twice per frame, and see what happens to the frame-rate. It may be that something in your main-loop is causing the slowdown, or it could be the drawing.
PS. Just do the drawing twice, not the setup calculations.

Are the triangles textured?? Remember; what manufacturers say is the triangle/sec is the biggest possible number they can put there... which means no textures...
Also; the G400 doesn''t have good OpenGL drivers, shouldn''t make it this slow however.
Is the code loading in the model each frame??
Also if you are using textures, how big are they?

Protozone

I''m using no textures, no light, i''m not loading the model each frame. I''m loading it at initilization, render it to a display-list, then each frame I use glCallList.
I''ve tried without using a display-list, there''s no difference.

This topic is closed to new replies.

Advertisement