[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.

-C



More information about the ODE mailing list