[ODE] Performance question

Jon Watte (ODE) hplus-ode at mindcontrol.org
Thu Sep 14 17:52:23 MST 2006

Is this in release mode or debug mode?
Are you using floats or doubles?
How big is your step size?
Do you empty your contact joint group every step? (doesn't hurt to ask)
On what kind of client hardware?
If you run a profiler on the program while it's getting 1-4 fps, where 
does it say you're spending your time?


          / h+

STenyaK (Bruno Gonzalez) wrote:
> I have a strange problem that i can't solve. I get low framerates in  
> certain situations.
> My sim is a car sim. It has a car with a couple joints, suspension rods,  
> wheels and chassis. There are some dynamic trackside objects (cones,  
> boxes, ...) too. The tracks are a background plane (preventing from  
> falling to the infinite) and a set of meshes with which all objects and  
> cars collide.
> I get low framerates (1-4 fps) when the car is standing still. If i  
> accelerate and the car begins moving, framerates seem to get better (30-50  
> fps). Also, adding some magic force in order to keep the car floating in  
> the air (that is, not colliding with anything) also seems to help (again,  
> 30-50 fps).
> I've tried the following:
> Using dQuickStep instead of dWorldStep or dWorldStepFast1: i get a 10fps  
> gain when framerates are good.
> Using basic autosleep: i get a 5 fps gain when framerates are good.
> Replacing all the car suspensions with simple hinge2 joints: makes  
> framerates always stay at 30-50 fps, no matter what.
> What could be the cause? I'm not willing to use hinge2 joints as  
> suspensions, since it's a too simple model. It looks like ODE speeds up  
> when the car is moving, so i guess the problem is not the number of joints  
> i use in the suspensions, but something else. Does this behaviour make  
> sense? What could be causing the slowdown, and how can i fix it?
> Thanks for the help.

More information about the ODE mailing list