diff options
Merge branch 'master' into careminster-presence-refactor
Diffstat (limited to 'OpenSim/Region/Framework/Scenes')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.cs | 33 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/ScenePresence.cs | 6 |
2 files changed, 23 insertions, 16 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index f81030c..45625d6 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -152,7 +152,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
152 | private int m_update_backup = 200; | 152 | private int m_update_backup = 200; |
153 | private int m_update_terrain = 50; | 153 | private int m_update_terrain = 50; |
154 | private int m_update_land = 1; | 154 | private int m_update_land = 1; |
155 | private int m_update_coarse_locations = 50; | 155 | private int m_update_coarse_locations = 80; |
156 | 156 | ||
157 | private int frameMS; | 157 | private int frameMS; |
158 | private int physicsMS2; | 158 | private int physicsMS2; |
@@ -181,6 +181,8 @@ namespace OpenSim.Region.Framework.Scenes | |||
181 | private object m_deleting_scene_object = new object(); | 181 | private object m_deleting_scene_object = new object(); |
182 | private object m_cleaningAttachments = new object(); | 182 | private object m_cleaningAttachments = new object(); |
183 | 183 | ||
184 | private bool m_cleaningTemps = false; | ||
185 | |||
184 | private UpdatePrioritizationSchemes m_priorityScheme = UpdatePrioritizationSchemes.Time; | 186 | private UpdatePrioritizationSchemes m_priorityScheme = UpdatePrioritizationSchemes.Time; |
185 | private bool m_reprioritizationEnabled = true; | 187 | private bool m_reprioritizationEnabled = true; |
186 | private double m_reprioritizationInterval = 5000.0; | 188 | private double m_reprioritizationInterval = 5000.0; |
@@ -1296,10 +1298,11 @@ namespace OpenSim.Region.Framework.Scenes | |||
1296 | physicsMS = Util.EnvironmentTickCountSubtract(tmpPhysicsMS); | 1298 | physicsMS = Util.EnvironmentTickCountSubtract(tmpPhysicsMS); |
1297 | 1299 | ||
1298 | // Delete temp-on-rez stuff | 1300 | // Delete temp-on-rez stuff |
1299 | if (m_frame % m_update_backup == 0) | 1301 | if (m_frame % 1000 == 0 && !m_cleaningTemps) |
1300 | { | 1302 | { |
1301 | int tmpTempOnRezMS = Util.EnvironmentTickCount(); | 1303 | int tmpTempOnRezMS = Util.EnvironmentTickCount(); |
1302 | CleanTempObjects(); | 1304 | m_cleaningTemps = true; |
1305 | Util.FireAndForget(delegate { CleanTempObjects(); m_cleaningTemps = false; }); | ||
1303 | tempOnRezMS = Util.EnvironmentTickCountSubtract(tmpTempOnRezMS); | 1306 | tempOnRezMS = Util.EnvironmentTickCountSubtract(tmpTempOnRezMS); |
1304 | } | 1307 | } |
1305 | 1308 | ||
@@ -1326,12 +1329,12 @@ namespace OpenSim.Region.Framework.Scenes | |||
1326 | terrainMS = Util.EnvironmentTickCountSubtract(terMS); | 1329 | terrainMS = Util.EnvironmentTickCountSubtract(terMS); |
1327 | } | 1330 | } |
1328 | 1331 | ||
1329 | if (m_frame % m_update_land == 0) | 1332 | //if (m_frame % m_update_land == 0) |
1330 | { | 1333 | //{ |
1331 | int ldMS = Util.EnvironmentTickCount(); | 1334 | // int ldMS = Util.EnvironmentTickCount(); |
1332 | UpdateLand(); | 1335 | // UpdateLand(); |
1333 | landMS = Util.EnvironmentTickCountSubtract(ldMS); | 1336 | // landMS = Util.EnvironmentTickCountSubtract(ldMS); |
1334 | } | 1337 | //} |
1335 | 1338 | ||
1336 | frameMS = Util.EnvironmentTickCountSubtract(tmpFrameMS); | 1339 | frameMS = Util.EnvironmentTickCountSubtract(tmpFrameMS); |
1337 | otherMS = tempOnRezMS + eventMS + backupMS + terrainMS + landMS; | 1340 | otherMS = tempOnRezMS + eventMS + backupMS + terrainMS + landMS; |
@@ -1424,13 +1427,12 @@ namespace OpenSim.Region.Framework.Scenes | |||
1424 | 1427 | ||
1425 | private void CheckAtTargets() | 1428 | private void CheckAtTargets() |
1426 | { | 1429 | { |
1430 | Dictionary<UUID, SceneObjectGroup>.ValueCollection objs; | ||
1427 | lock (m_groupsWithTargets) | 1431 | lock (m_groupsWithTargets) |
1428 | { | 1432 | objs = m_groupsWithTargets.Values; |
1429 | foreach (SceneObjectGroup entry in m_groupsWithTargets.Values) | 1433 | |
1430 | { | 1434 | foreach (SceneObjectGroup entry in objs) |
1431 | entry.checkAtTargets(); | 1435 | entry.checkAtTargets(); |
1432 | } | ||
1433 | } | ||
1434 | } | 1436 | } |
1435 | 1437 | ||
1436 | 1438 | ||
@@ -4539,6 +4541,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
4539 | } | 4541 | } |
4540 | } | 4542 | } |
4541 | } | 4543 | } |
4544 | |||
4542 | } | 4545 | } |
4543 | 4546 | ||
4544 | public void DeleteFromStorage(UUID uuid) | 4547 | public void DeleteFromStorage(UUID uuid) |
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index d83ff51..254fe37 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs | |||
@@ -2635,6 +2635,8 @@ namespace OpenSim.Region.Framework.Scenes | |||
2635 | 2635 | ||
2636 | #region Overridden Methods | 2636 | #region Overridden Methods |
2637 | 2637 | ||
2638 | private bool sendingPrims = false; | ||
2639 | |||
2638 | public override void Update() | 2640 | public override void Update() |
2639 | { | 2641 | { |
2640 | const float ROTATION_TOLERANCE = 0.01f; | 2642 | const float ROTATION_TOLERANCE = 0.01f; |
@@ -2642,7 +2644,8 @@ namespace OpenSim.Region.Framework.Scenes | |||
2642 | const float POSITION_TOLERANCE = 0.05f; | 2644 | const float POSITION_TOLERANCE = 0.05f; |
2643 | //const int TIME_MS_TOLERANCE = 3000; | 2645 | //const int TIME_MS_TOLERANCE = 3000; |
2644 | 2646 | ||
2645 | 2647 | if (!sendingPrims) | |
2648 | Util.FireAndForget(delegate { sendingPrims = true; SendPrimUpdates(); sendingPrims = false; }); | ||
2646 | 2649 | ||
2647 | if (m_isChildAgent == false) | 2650 | if (m_isChildAgent == false) |
2648 | { | 2651 | { |
@@ -2670,6 +2673,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
2670 | // followed suggestion from mic bowman. reversed the two lines below. | 2673 | // followed suggestion from mic bowman. reversed the two lines below. |
2671 | if (m_parentID == 0 && m_physicsActor != null || m_parentID != 0) // Check that we have a physics actor or we're sitting on something | 2674 | if (m_parentID == 0 && m_physicsActor != null || m_parentID != 0) // Check that we have a physics actor or we're sitting on something |
2672 | CheckForBorderCrossing(); | 2675 | CheckForBorderCrossing(); |
2676 | |||
2673 | CheckForSignificantMovement(); // sends update to the modules. | 2677 | CheckForSignificantMovement(); // sends update to the modules. |
2674 | } | 2678 | } |
2675 | 2679 | ||