[ODE] Huge performance drop

Chris Ledwith cledwith at d-a-s.com
Mon Jul 31 08:17:56 MST 2006

Syed Setia Pernama wrote:
> Hi,
> OS: Windows XP
> Compiler: Visual C++ 2005
> I am using Ode to generate collision using 4 large
> trimeshes. I know that this could be a taxing in
> performance, but it is still under control in my
> development machine (running about 35-40FPS). But
> there are several weird problems:
> 1) In my development machine which runs at 40FPS,
> there is a rare moment where performance suddenly
> drops to less than 1FPS. The FPS was very low until
> after a few seconds, for which the app resume to the
> working FPS.
> 2) In the other computer (non-development), the
> applications runs unreasonably slow even at a good
> spec computer. Please take a look at below spec, and
> the FPS it generates:
>   a) Development machine:
>      Notebook Core Duo 1.83, NVIDIA 7400 256MB
>      FPS: 35-40
>   b) Pentium IV 3Ghz, RAM 2GB, NVIDIA 7800GT 256MB
>      FPS: 15
>      Comment: Not too slow, but it should exceed (a)
>   c) Pentium IV 2.x Ghz, RAM 2GB, ATI GECUBE 9600.
>      FPS: < 1
> I searched thru this forum, and found that the small
> stack size in Windows could the culprit. Is it true? I
> have increased the stack size to 100MB , but no
> difference.
> I have isolated the problem to physics (ODE) as
> disabling all ODE trimeshes result in
>    a) 70 FPS
>    b) 120 FPS
>    c) 40-50 FPS
See if you have any bodies at infinity. That's usually the culprit, and 
it results from the physics simulation exploding due to... well, any 
number of reasons. If you have a body at infinity, try to determine what 
makes it so different from your other bodies, that could have resulted 
in the explosion (is it long and skinny? Does it have a really low mass? 
etc). Physics simulations have a range of parameters within which they 
work properly, but to a certain extent it is up to you to determine 
those ranges. If masses turn out to be the culprit, try using a 
different mass for those bodies. For example, a sphere mass on a body 
with a small, elongated, box-shaped geom will be much more stable than 
the default box mass it would get, and no one will be able to tell the 
difference -- although it's definitely a hack.


More information about the ODE mailing list