Archived

This topic is now archived and is closed to further replies.

Rasmadrak

Massive slowdowns / Poor performance...

Recommended Posts

I''m developing a RTS game and everybody knows they got lots of units roaming around and destroying stuff... I''ve found the easiest way (best?) would be to have an array of units (class/struct) that gets rendered using glCallList(NameOfUnit)... But: Its freakin slow?!? I got an 1.7 gHz computer with Geforce3, so I figure I SHOULD be able to push more than 1000 polygons without all stuttery motions/graphics? I thought maybe I''m in software mode or something? But doesnt OpenGL automaticly switch to hardware? How do I change this if its not? For the time being the draw() function lies before the UpdateLogic() etc functions, and it should be in either a separate thread or simply base its calculations on the time it takes to draw one frame.... but again; I should be able to push much more than I do... Anyone with a smart solution or perhaps just a little helping advice regarding performance issues and such? help is badly needed... thanx! Btw, I do NOT draw the entire map at once! "Game Maker For Life, probably never professional thou." =)

Share this post


Link to post
Share on other sites
Need more info. How many units are you trying to draw at once? How many polys per unit? Are you sure its the drawing function that''s slowing everything down? You might want to do some experimentation: trying increasing the number of units you are drawing each frame to map the rate of framerate loss.

-Madgap

Share this post


Link to post
Share on other sites
There will be approximatly up to 400 units on screen simulationsly (where a unit could be an explosion, tank, etc.. )
think of em as objects instead. =)
Each object would be of 4-150 polys.

The CPU usage when drawing graphics is ~ 45% and without drawing the graphics < 1%.
When not rendering units/objects it's all smooth, soft and silky, but when the units pick up in numbers it goes very slow.... How do I meassure the fps?

What kind of info do you need? =)

"Game Maker For Life, probably never professional thou." =)

[edited by - Rasmadrak on August 14, 2003 2:06:16 PM]

Share this post


Link to post
Share on other sites
try using vertex arrays... they show nearly the same performance that display lists do, but however they require less cpu-usage than display-listed imidiate calls do...

maybe you should check your graphics driver or check if there is a funtion-/memory-overhead

Share this post


Link to post
Share on other sites
You might also wanna check how much traffic you have on the agp-bus.. I''m just guessing, but you probably have different location matrices for each unit that get''s sent over the bus every frame.. some traffic that

Share this post


Link to post
Share on other sites