Limit avatar physics to 20-40 simulation steps per second to avoid wonky integration

This commit is contained in:
Siana Gearz
2013-11-20 02:22:16 +01:00
parent 07736106b1
commit cde5b23353

View File

@@ -45,7 +45,8 @@ typedef std::map<std::string, std::string> controller_map_t;
typedef std::map<std::string, F32> default_controller_map_t;
#define MIN_REQUIRED_PIXEL_AREA_AVATAR_PHYSICS_MOTION 0.f
#define TIME_ITERATION_STEP 0.1f
#define TIME_ITERATION_STEP 0.05f
#define MINIMUM_UPDATE_TIMESTEP 0.025f
inline F64 llsgn(const F64 a)
{
@@ -592,7 +593,7 @@ BOOL LLPhysicsMotion::onUpdate(F32 time)
const F32 time_delta = time - mLastTime;
// Don't update too frequently, to avoid precision errors from small time slices.
if (time_delta <= .01)
if (time_delta <= MINIMUM_UPDATE_TIMESTEP)
{
return FALSE;
}
@@ -889,4 +890,4 @@ void LLPhysicsMotion::reset()
mCharacter->setVisualParamWeight((*iter).mParam,(*iter).mParam->getDefaultWeight());
}
}
}
}