[ODE] Performance question

STenyaK (Bruno Gonzalez) stenyak at gmx.net
Thu Sep 14 16:50:20 MST 2006

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.


Site:   http://1ksurvivor.homeip.net  <1kSurvivor>
         http://motorsport-sim.org     <Motorsport>
         http://kwh.iespana.es         <KuantikalWareHouse>
         http://emuletutorial.info     <EmuleTutorial>
ICQ:    153709484
Mail:   stenyak AT gmail DOT net

More information about the ODE mailing list