diff options
author | Diva Canto | 2010-12-14 18:44:26 -0800 |
---|---|---|
committer | Diva Canto | 2010-12-14 18:44:26 -0800 |
commit | 74c68474e01eedc6cc4c9ef26386939c1d693172 (patch) | |
tree | 3203f484128bff67b1e33e7a9536020d4f978c5d /OpenSim | |
parent | Commented out the UpdateLand call from the Update thread loop, because this m... (diff) | |
download | opensim-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
Diffstat (limited to 'OpenSim')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.cs | 8 |
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) |