aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/OptionalModules/World
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2014-07-29 18:09:11 +0100
committerJustin Clark-Casey (justincc)2014-07-29 18:09:11 +0100
commit0f87a99e54d0665824d055ce1dcf5f4240dec0bc (patch)
treee6675f9a29b63ecdaf7e9574f9f5cfd6fc8c322b /OpenSim/Region/OptionalModules/World
parentAdd "debug scene set appear-refresh true|false" to control whether periodic a... (diff)
downloadopensim-SC-0f87a99e54d0665824d055ce1dcf5f4240dec0bc.zip
opensim-SC-0f87a99e54d0665824d055ce1dcf5f4240dec0bc.tar.gz
opensim-SC-0f87a99e54d0665824d055ce1dcf5f4240dec0bc.tar.bz2
opensim-SC-0f87a99e54d0665824d055ce1dcf5f4240dec0bc.tar.xz
Add debug mechanism for only sending 1 in N AgentUpdate packets to child agents.
Allows experiments in manually reducing updates under heavy load. Activated by "debug scene set client-upd-per" console command. In a simple test, can send as few as every 4th update before observed movement starts becoming disturbingly rubber-banded.
Diffstat (limited to 'OpenSim/Region/OptionalModules/World')
-rw-r--r--OpenSim/Region/OptionalModules/World/SceneCommands/SceneCommandsModule.cs12
1 files changed, 12 insertions, 0 deletions
diff --git a/OpenSim/Region/OptionalModules/World/SceneCommands/SceneCommandsModule.cs b/OpenSim/Region/OptionalModules/World/SceneCommands/SceneCommandsModule.cs
index e49c95c..9e4f344 100644
--- a/OpenSim/Region/OptionalModules/World/SceneCommands/SceneCommandsModule.cs
+++ b/OpenSim/Region/OptionalModules/World/SceneCommands/SceneCommandsModule.cs
@@ -100,6 +100,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Attachments
100 + "client-pos-upd - the tolerance before clients are updated with new rotation information for an avatar.\n" 100 + "client-pos-upd - the tolerance before clients are updated with new rotation information for an avatar.\n"
101 + "client-rot-upd - the tolerance before clients are updated with new rotation information for an avatar.\n" 101 + "client-rot-upd - the tolerance before clients are updated with new rotation information for an avatar.\n"
102 + "client-vel-upd - the tolerance before clients are updated with new velocity information for an avatar.\n" 102 + "client-vel-upd - the tolerance before clients are updated with new velocity information for an avatar.\n"
103 + "client-upd-per - if greater than 1, terse updates are only sent to child agents on every n updates.\n"
103 + "collisions - if false then collisions with other objects are turned off.\n" 104 + "collisions - if false then collisions with other objects are turned off.\n"
104 + "pbackup - if false then periodic scene backup is turned off.\n" 105 + "pbackup - if false then periodic scene backup is turned off.\n"
105 + "physics - if false then all physics objects are non-physical.\n" 106 + "physics - if false then all physics objects are non-physical.\n"
@@ -119,6 +120,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Attachments
119 + "client-pos-upd - the tolerance before clients are updated with new rotation information for an avatar.\n" 120 + "client-pos-upd - the tolerance before clients are updated with new rotation information for an avatar.\n"
120 + "client-rot-upd - the tolerance before clients are updated with new rotation information for an avatar.\n" 121 + "client-rot-upd - the tolerance before clients are updated with new rotation information for an avatar.\n"
121 + "client-vel-upd - the tolerance before clients are updated with new velocity information for an avatar.\n" 122 + "client-vel-upd - the tolerance before clients are updated with new velocity information for an avatar.\n"
123 + "client-upd-per - if greater than 1, terse updates are only sent to child agents on every n updates.\n"
122 + "collisions - if false then collisions with other objects are turned off.\n" 124 + "collisions - if false then collisions with other objects are turned off.\n"
123 + "pbackup - if false then periodic scene backup is turned off.\n" 125 + "pbackup - if false then periodic scene backup is turned off.\n"
124 + "physics - if false then all physics objects are non-physical.\n" 126 + "physics - if false then all physics objects are non-physical.\n"
@@ -153,6 +155,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Attachments
153 cdl.AddRow("client-pos-upd", m_scene.ClientPositionUpdateTolerance); 155 cdl.AddRow("client-pos-upd", m_scene.ClientPositionUpdateTolerance);
154 cdl.AddRow("client-rot-upd", m_scene.ClientRotationUpdateTolerance); 156 cdl.AddRow("client-rot-upd", m_scene.ClientRotationUpdateTolerance);
155 cdl.AddRow("client-vel-upd", m_scene.ClientVelocityUpdateTolerance); 157 cdl.AddRow("client-vel-upd", m_scene.ClientVelocityUpdateTolerance);
158 cdl.AddRow("client-upd-per", m_scene.ChildTerseUpdatePeriod);
156 cdl.AddRow("pbackup", m_scene.PeriodicBackup); 159 cdl.AddRow("pbackup", m_scene.PeriodicBackup);
157 cdl.AddRow("physics", m_scene.PhysicsEnabled); 160 cdl.AddRow("physics", m_scene.PhysicsEnabled);
158 cdl.AddRow("scripting", m_scene.ScriptsEnabled); 161 cdl.AddRow("scripting", m_scene.ScriptsEnabled);
@@ -245,6 +248,15 @@ namespace OpenSim.Region.OptionalModules.Avatar.Attachments
245 m_scene.ClientVelocityUpdateTolerance = newValue; 248 m_scene.ClientVelocityUpdateTolerance = newValue;
246 } 249 }
247 250
251 if (options.ContainsKey("client-upd-per"))
252 {
253 int newValue;
254
255 // FIXME: This can only come from the console at the moment but might not always be true.
256 if (ConsoleUtil.TryParseConsoleNaturalInt(MainConsole.Instance, options["client-upd-per"], out newValue))
257 m_scene.ChildTerseUpdatePeriod = newValue;
258 }
259
248 if (options.ContainsKey("pbackup")) 260 if (options.ContainsKey("pbackup"))
249 { 261 {
250 bool active; 262 bool active;