[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