aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorDiva Canto2010-12-14 18:44:26 -0800
committerDiva Canto2010-12-14 18:44:26 -0800
commit74c68474e01eedc6cc4c9ef26386939c1d693172 (patch)
tree3203f484128bff67b1e33e7a9536020d4f978c5d
parentCommented out the UpdateLand call from the Update thread loop, because this m... (diff)
downloadopensim-SC_OLD-74c68474e01eedc6cc4c9ef26386939c1d693172.zip
opensim-SC_OLD-74c68474e01eedc6cc4c9ef26386939c1d693172.tar.gz
opensim-SC_OLD-74c68474e01eedc6cc4c9ef26386939c1d693172.tar.bz2
opensim-SC_OLD-74c68474e01eedc6cc4c9ef26386939c1d693172.tar.xz
Another attempt at moving heavy computation away from the Update loop. #LoginLag
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.cs8
1 files changed, 6 insertions, 2 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs
index 73a0803..52e2e5d 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.cs
@@ -176,6 +176,8 @@ namespace OpenSim.Region.Framework.Scenes
176 private object m_deleting_scene_object = new object(); 176 private object m_deleting_scene_object = new object();
177 private object m_cleaningAttachments = new object(); 177 private object m_cleaningAttachments = new object();
178 178
179 private bool m_cleaningTemps = false;
180
179 private UpdatePrioritizationSchemes m_priorityScheme = UpdatePrioritizationSchemes.Time; 181 private UpdatePrioritizationSchemes m_priorityScheme = UpdatePrioritizationSchemes.Time;
180 private bool m_reprioritizationEnabled = true; 182 private bool m_reprioritizationEnabled = true;
181 private double m_reprioritizationInterval = 5000.0; 183 private double m_reprioritizationInterval = 5000.0;
@@ -1272,10 +1274,11 @@ namespace OpenSim.Region.Framework.Scenes
1272 physicsMS = Util.EnvironmentTickCountSubtract(tmpPhysicsMS); 1274 physicsMS = Util.EnvironmentTickCountSubtract(tmpPhysicsMS);
1273 1275
1274 // Delete temp-on-rez stuff 1276 // Delete temp-on-rez stuff
1275 if (m_frame % m_update_backup == 0) 1277 if (m_frame % m_update_backup == 0 && !m_cleaningTemps)
1276 { 1278 {
1277 int tmpTempOnRezMS = Util.EnvironmentTickCount(); 1279 int tmpTempOnRezMS = Util.EnvironmentTickCount();
1278 CleanTempObjects(); 1280 m_cleaningTemps = true;
1281 Util.FireAndForget(delegate { CleanTempObjects(); m_cleaningTemps = false; });
1279 tempOnRezMS = Util.EnvironmentTickCountSubtract(tmpTempOnRezMS); 1282 tempOnRezMS = Util.EnvironmentTickCountSubtract(tmpTempOnRezMS);
1280 } 1283 }
1281 1284
@@ -4391,6 +4394,7 @@ namespace OpenSim.Region.Framework.Scenes
4391 } 4394 }
4392 } 4395 }
4393 } 4396 }
4397
4394 } 4398 }
4395 4399
4396 public void DeleteFromStorage(UUID uuid) 4400 public void DeleteFromStorage(UUID uuid)