Disable friction warmstarting by default, removing second friction direction. This gives a large performance increase.

friction warmstarting can be turned on using:
dynamicsWorld ->getSolverInfo().m_solverMode |= SOLVER_USE_FRICTION_WARMSTARTING;
This commit is contained in:
erwin.coumans
2008-11-15 22:20:55 +00:00
parent a5c18db854
commit 29bfd06af7
3 changed files with 40 additions and 32 deletions

View File

@@ -21,7 +21,8 @@ enum btSolverMode
SOLVER_RANDMIZE_ORDER = 1,
SOLVER_FRICTION_SEPARATE = 2,
SOLVER_USE_WARMSTARTING = 4,
SOLVER_CACHE_FRIENDLY = 8
SOLVER_USE_FRICTION_WARMSTARTING = 8,
SOLVER_CACHE_FRIENDLY = 16
};
struct btContactSolverInfoData
@@ -69,7 +70,7 @@ struct btContactSolverInfo : public btContactSolverInfoData
m_splitImpulsePenetrationThreshold = -0.02f;
m_linearSlop = btScalar(0.0);
m_warmstartingFactor=btScalar(0.85);
m_solverMode = SOLVER_RANDMIZE_ORDER | SOLVER_CACHE_FRIENDLY | SOLVER_USE_WARMSTARTING;
m_solverMode = SOLVER_CACHE_FRIENDLY | SOLVER_RANDMIZE_ORDER | SOLVER_USE_WARMSTARTING;
m_restingContactRestitutionThreshold = 2;//resting contact lifetime threshold to disable restitution
}
};