[ODE] Speed is not velocity
Petr Sovis
petr_sovis at hotmail.com
Fri Jun 27 19:28:02 2003
Hi,
I've written a simple physic simulator (similar to ODE), but I have serious
speed problem. I need to use this system to simulate rag-dolls (commercial
tactical game). One doll have 11 capped cylinders & 10 joints - hinges +
universal joints with limits + there are contacts with triangle mesh – up to
5 acting to one capped cylinder. I use lagrange multipliers (Baraff) &&
anitescu discretization && LCP computing scheme - with direct joint
stabilization(ODE). And now my problem. One doll runs at my computer about
50FPS, but two (each directly lying on other) takes a much more time -
simulation runs only 8 FPS (the J matrix rapidly grows) which is horribly
slow a completely unusable. Can someone advise me some techniques to speed
up lagrange mult. LCP algorithm (even how to write faster LCP solver - but I
dont know how to solve 100x100 matrix LCP problem faster - can be ill
conditioned with multiple contacts and joints ? )
I have three shots (maybe blind) which can help
1) sleeping objects – no really great speed up (I don’t want to simulate
heap of boxes)
2) not to propagate contacts from one doll to other – one doll acts like
firm wall to other - remaining 50FPS – but loss of accuracy
3) simulate joints with penalty methods – forces instead of 3-6 lines in J
matrix – final effort
I saw many engine examples (tokamak, Terdiman’s Physic test – pile of boxes)
and it seems to me that all are much much much more faster then my first
try, so please, if you have some ideas, let me know.
Thank in advance
Petr Sovis
_________________________________________________________________
The new MSN 8: advanced junk mail protection and 2 months FREE*
http://join.msn.com/?page=features/junkmail