[ODE] Making simulation speed independant from computer speed

Jon Watte hplus-ode at mindcontrol.org
Thu Nov 11 15:37:20 MST 2004


> Would it work if you varied the time step size every say 10 or 30 
> frames instead of every frame?  What causes the instability, is it the 
> frequency that the step size is changed or the simple act of changing 
> it?

The problem with varying the step size is that penalties that would 
come to an equilibrium with a fixed time step, won't when you vary the 
step size. For example; each time you dWorldStep() with a number 
different from what it was last time, you will introduce an impulse 
"spike" in anything that's "mostly resting" because of the way that 
gravity pushes objects into support objects.

> It would be nice if the system ran at the fastest (i.e. smoothest) pace 
> possible depending on what is happening in the simulation.  So if you 
> have a mix of more intensive and less intensive scenes, the less 
> intensive ones can benefit from the extra CPU cycles.

I find that varying the fidelity of simulation (or rendering, or 
whatever) just serves to confuse and/or aggravate the user. It's better 
to make sure the system runs as well as you need it to run under the 
maximum stress that you intend to put on it. And, because you won't put 
more stress on it than that, and it runs as good as it needs to, you 
don't need to worry about optimizing the other cases -- that'd be like 
optimizing the speed of your idle loop :-)

Cheers,

			/ h+





More information about the ODE mailing list