[ODE] QuickStep comparison to Tokamak - large-scale stacking
Megan Fox
shalinor at circustent.us
Wed May 19 10:58:53 MST 2004
This isn't quite as scientific as the other tests, but focuses more
on -large- scale stacking:
Test System:
Athlon XP 2500+
Radeon 9500 Pro
1 gig memory
Windows XP
Gravity Force - -9.8 in both
World Step Size - 0.016 in ODE, the default 60hz in Tokamak.
Numer of iterations in ODE's QuickStep - 5
ODE Collision Space Type - Hash
Number of contacts generated per contact - ODE: 2, Tokamak: Not sure
(default)
Test:
A pyramid stack of ~120 blocks, the tallest center stack being 11 blocks
high and each stack tapering off to either side by one block per stack from
there.
Results:
This used to absolutely kill ODE, but with QuickStep it keeps up admirably.
By reducing the step size and iteration count to the numbers listed (I
initially had them at 0.01 and default 20, respectively) I can get two of
these walls in close proximity with "ok" framerates (~13 FPS).
However, QuickStep does not handle these stacks very well, and they collapse
in short order, well before they can auto-disable. Tokamak handles this
case perfectly, with only minor jittering (the bottom center blocks tended
to slide out a bit) before disabling all bodies in the wall. That said,
this is an intentionally stressful test not representitive at all of ANY
case you'd see in a real game - and if you were to disable the wall at load
and only enable it when a reasonably large force hit it, you'd never even
notice the jittered collapse.
Increasing to 3 contacts generated does have some effect on the collapse,
but only to make the collapse originate more from the bottom row of boxes
rather than multiple points in the wall (and it slows the demo enough that
two walls in close proximity causes an FPS dip into single digits).
Decreasing to 0.01 world step size has little effect, aside from making the
demo overall perform much slower. Decreasing gravity force to -5.0f has
some effect, but the stack collapses in much the same way.
As a test of general pile performence, I created 3 walls and allowed them to
collapse into eachother (~360 blocks). After the initial walls had started
to crumble (highest remaining stack was roughly 6 tall, walls still
collapsing), FPS stabalized to around 20 FPS. It likely would have climbed
a great deal more as auto-disabling kicked in, except that QuickStep seems
to result in jello-like block movement that keeps the pile twitching and
defeats my auto-disabling code (I had the same problem with StepFast1). I'm
not sure if this is a matter of tweaking, or just a matter of QuickStep
being new code.
So - Tokamak still seems to handle large-scale stacking better, but
QuickStep has most certainly put ODE back in the same ballpark as Tokamak
and Newton. Thanks a ton, Russ!
-Megan Fox / "Shalinor"
Lead Developer, Elium Project (http://www.elium.tk)
More information about the ODE
mailing list