SOLVER_USE_WARMSTARTING for MLCP solver (and PGS)

Post Reply
stephassoria
Posts: 1
Joined: Mon Aug 04, 2014 8:04 am

SOLVER_USE_WARMSTARTING for MLCP solver (and PGS)

Post by stephassoria »

I was trying to optimise a bit our simulation : lot of bodies with lot of constraints between them. We set the solver iterations to around 200, and I tried to add some kind of "convergence coefficient" to stop iterating if the delta between all previous x and current x is less than this coefficient.

It works pretty well setting the coefficient empirically. I then thought that setting SOLVER_USE_WARMSTARTING would make the convergence faster (less iteration), but it seems that in btSequentialImpulseConstraintSolver::solveGroupCacheFriendlySetup ( btSequentialImpulseConstraintSolver.cpp around line 1374), the saved m_appliedImpulse used to fill again x vector is set to zero ?
So is SOLVER_USE_WARMSTARTING just waste some time caching m_appliedImpulse to reset it in all cases or is there something I don't understand in the code (I'm not so familiar with physics and bullet api).

Thanks

Stéphane Capo
Post Reply