aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/ScenePresence.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/ScenePresence.cs')
-rw-r--r--OpenSim/Region/Framework/Scenes/ScenePresence.cs33
1 files changed, 15 insertions, 18 deletions
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
index 3a5b05d..a6bdc59 100644
--- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
@@ -3049,18 +3049,17 @@ namespace OpenSim.Region.Framework.Scenes
3049 cadu.GroupAccess = 0; 3049 cadu.GroupAccess = 0;
3050 cadu.Position = AbsolutePosition; 3050 cadu.Position = AbsolutePosition;
3051 cadu.regionHandle = m_rootRegionHandle; 3051 cadu.regionHandle = m_rootRegionHandle;
3052
3053 // Throttles
3052 float multiplier = 1; 3054 float multiplier = 1;
3053 int innacurateNeighbors = m_scene.GetInaccurateNeighborCount(); 3055 int childRegions = m_knownChildRegions.Count;
3054 if (innacurateNeighbors != 0) 3056 if (childRegions != 0)
3055 { 3057 multiplier = 1f / childRegions;
3056 multiplier = 1f / (float)innacurateNeighbors; 3058
3057 } 3059 // Minimum throttle for a child region is 1/4 of the root region throttle
3058 if (multiplier <= 0f) 3060 if (multiplier <= 0.25f)
3059 {
3060 multiplier = 0.25f; 3061 multiplier = 0.25f;
3061 }
3062 3062
3063 //m_log.Info("[NeighborThrottle]: " + m_scene.GetInaccurateNeighborCount().ToString() + " - m: " + multiplier.ToString());
3064 cadu.throttles = ControllingClient.GetThrottlesPacked(multiplier); 3063 cadu.throttles = ControllingClient.GetThrottlesPacked(multiplier);
3065 cadu.Velocity = Velocity; 3064 cadu.Velocity = Velocity;
3066 3065
@@ -3456,16 +3455,14 @@ namespace OpenSim.Region.Framework.Scenes
3456 3455
3457 // Throttles 3456 // Throttles
3458 float multiplier = 1; 3457 float multiplier = 1;
3459 int innacurateNeighbors = m_scene.GetInaccurateNeighborCount(); 3458 int childRegions = m_knownChildRegions.Count;
3460 if (innacurateNeighbors != 0) 3459 if (childRegions != 0)
3461 { 3460 multiplier = 1f / childRegions;
3462 multiplier = 1f / innacurateNeighbors; 3461
3463 } 3462 // Minimum throttle for a child region is 1/4 of the root region throttle
3464 if (multiplier <= 0f) 3463 if (multiplier <= 0.25f)
3465 {
3466 multiplier = 0.25f; 3464 multiplier = 0.25f;
3467 } 3465
3468 //m_log.Info("[NeighborThrottle]: " + m_scene.GetInaccurateNeighborCount().ToString() + " - m: " + multiplier.ToString());
3469 cAgent.Throttles = ControllingClient.GetThrottlesPacked(multiplier); 3466 cAgent.Throttles = ControllingClient.GetThrottlesPacked(multiplier);
3470 3467
3471 cAgent.HeadRotation = m_headrotation; 3468 cAgent.HeadRotation = m_headrotation;