diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index da99d4fc77..8268235b9f 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs @@ -1035,6 +1035,13 @@ namespace OpenSim.Region.Framework.Scenes m_rootReprioritizationDistance = interestConfig.GetDouble("RootReprioritizationDistance", 10.0); ChildReprioritizationDistance = interestConfig.GetDouble("ChildReprioritizationDistance", ChildReprioritizationDistance); + + RootPositionUpdateTolerance + = interestConfig.GetFloat("RootPositionUpdateTolerance", RootPositionUpdateTolerance); + RootRotationUpdateTolerance + = interestConfig.GetFloat("RootRotationUpdateTolerance", RootRotationUpdateTolerance); + RootVelocityUpdateTolerance + = interestConfig.GetFloat("RootVelocityUpdateTolerance", RootVelocityUpdateTolerance); } m_log.DebugFormat("[SCENE]: Using the {0} prioritization scheme", m_priorityScheme); diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 3f0be2e212..708a094f1c 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -1729,15 +1729,23 @@ [InterestManagement] - ; This section controls how state updates are prioritized for each client - ; Valid values are BestAvatarResponsiveness, Time, Distance, - ; SimpleAngularDistance, and FrontBack - UpdatePrioritizationScheme = BestAvatarResponsiveness - ReprioritizationEnabled = true - ReprioritizationInterval = 2000.0 - RootReprioritizationDistance = 10.0 - ChildReprioritizationDistance = 20.0 + ; This section controls how state updates are prioritized for each client + ; Valid values are BestAvatarResponsiveness, Time, Distance, + ; SimpleAngularDistance, and FrontBack + UpdatePrioritizationScheme = BestAvatarResponsiveness + ReprioritizationEnabled = true + ReprioritizationInterval = 2000.0 + RootReprioritizationDistance = 10.0 + ChildReprioritizationDistance = 20.0 + + ; Send an update to clients if the difference from the last sent avatar position is greater than this tolerance + RootPositionUpdateTolerance = 0.05 + ; Send an update to clients if the euclidian difference from the last sent avatar rotation is greater than this tolerance + RootRotationUpdateTolerance = 0.01 + + ; Send an update to clients if the difference from the last sent avatar velocity is greater than this tolerance + RootVelocityUpdateTolerance = 0.001 [Monitoring] ; Enable region monitoring