diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index b979787e9f..082eea5812 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 180d1f3b53..3ddf91afbe 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -1728,15 +1728,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