aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.cs33
-rw-r--r--OpenSim/Region/Framework/Scenes/ScenePresence.cs6
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