From bd1f848bf6194f15301fb9bcdae095dd3a67d594 Mon Sep 17 00:00:00 2001
From: nebadon
Date: Tue, 20 Mar 2012 14:17:15 -0700
Subject: slight increase in jump power to make running jump slightly better.
---
OpenSim/Region/Framework/Scenes/ScenePresence.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
index 82f6486..704d12d 100644
--- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
@@ -2293,7 +2293,7 @@ namespace OpenSim.Region.Framework.Scenes
{
if (direc.Z > 2.0f)
{
- direc.Z *= 2.5f;
+ direc.Z *= 2.6f;
// TODO: PreJump and jump happen too quickly. Many times prejump gets ignored.
Animator.TrySetMovementAnimation("PREJUMP");
--
cgit v1.1
From 30b2a8c778d02926e038bc62977c4a4c9dbec5ee Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Tue, 20 Mar 2012 23:12:21 +0000
Subject: Move frame loop entirely within Scene.Update() for better future
performance analysis and stat accuracy.
Update() now accepts a frames parameter which can control the number of frames updated.
-1 will update until shutdown.
The watchdog updating moves above the maintc recalculation for any required sleep since it should be accounted for within the frame.
---
OpenSim/Framework/Util.cs | 17 +-
.../ClientStack/Linden/UDP/Tests/MockScene.cs | 2 +-
OpenSim/Region/Framework/Scenes/Scene.cs | 337 +++++++++++----------
OpenSim/Region/Framework/Scenes/SceneBase.cs | 8 +-
.../Scenes/Tests/ScenePresenceAutopilotTests.cs | 12 +-
.../Region/Framework/Scenes/Tests/SceneTests.cs | 2 +-
.../World/NPC/Tests/NPCModuleTests.cs | 12 +-
OpenSim/Tests/Torture/ObjectTortureTests.cs | 2 +-
8 files changed, 213 insertions(+), 179 deletions(-)
diff --git a/OpenSim/Framework/Util.cs b/OpenSim/Framework/Util.cs
index 9e0f138..b2e5c7b 100644
--- a/OpenSim/Framework/Util.cs
+++ b/OpenSim/Framework/Util.cs
@@ -1758,13 +1758,26 @@ namespace OpenSim.Framework
/// and negative every 24.9 days. Subtracts the passed value (previously fetched by
/// 'EnvironmentTickCount()') and accounts for any wrapping.
///
+ ///
+ ///
/// subtraction of passed prevValue from current Environment.TickCount
- public static Int32 EnvironmentTickCountSubtract(Int32 prevValue)
+ public static Int32 EnvironmentTickCountSubtract(Int32 newValue, Int32 prevValue)
{
- Int32 diff = EnvironmentTickCount() - prevValue;
+ Int32 diff = newValue - prevValue;
return (diff >= 0) ? diff : (diff + EnvironmentTickCountMask + 1);
}
+ ///
+ /// Environment.TickCount is an int but it counts all 32 bits so it goes positive
+ /// and negative every 24.9 days. Subtracts the passed value (previously fetched by
+ /// 'EnvironmentTickCount()') and accounts for any wrapping.
+ ///
+ /// subtraction of passed prevValue from current Environment.TickCount
+ public static Int32 EnvironmentTickCountSubtract(Int32 prevValue)
+ {
+ return EnvironmentTickCountSubtract(EnvironmentTickCount(), prevValue);
+ }
+
// Returns value of Tick Count A - TickCount B accounting for wrapping of TickCount
// Assumes both tcA and tcB came from previous calls to Util.EnvironmentTickCount().
// A positive return value indicates A occured later than B
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/Tests/MockScene.cs b/OpenSim/Region/ClientStack/Linden/UDP/Tests/MockScene.cs
index fb94355..d76927b 100644
--- a/OpenSim/Region/ClientStack/Linden/UDP/Tests/MockScene.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/Tests/MockScene.cs
@@ -50,7 +50,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP.Tests
m_regStatus = RegionStatus.Up;
}
- public override void Update() {}
+ public override void Update(int frames) {}
public override void LoadWorldMap() {}
public override ISceneAgent AddNewClient(IClientAPI client, PresenceType type)
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs
index 18a7ce8..fe59e4d 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.cs
@@ -1175,11 +1175,11 @@ namespace OpenSim.Region.Framework.Scenes
// The first frame can take a very long time due to physics actors being added on startup. Therefore,
// don't turn on the watchdog alarm for this thread until the second frame, in order to prevent false
// alarms for scenes with many objects.
- Update();
+ Update(1);
Watchdog.GetCurrentThreadInfo().AlarmIfTimeout = true;
while (!shuttingdown)
- Update();
+ Update(-1);
m_lastUpdate = Util.EnvironmentTickCount();
m_firstHeartbeat = false;
@@ -1193,184 +1193,205 @@ namespace OpenSim.Region.Framework.Scenes
Watchdog.RemoveThread();
}
- public override void Update()
+ public override void Update(int frames)
{
- float physicsFPS = 0f;
-
- int maintc = Util.EnvironmentTickCount();
- int tmpFrameMS = maintc;
- agentMS = tempOnRezMS = eventMS = backupMS = terrainMS = landMS = 0;
+ long? endFrame = null;
- ++Frame;
+ if (frames >= 0)
+ endFrame = Frame + frames;
-// m_log.DebugFormat("[SCENE]: Processing frame {0} in {1}", Frame, RegionInfo.RegionName);
+ float physicsFPS = 0f;
+ int tmpFrameMS, tmpPhysicsMS, tmpPhysicsMS2, tmpAgentMS, tmpTempOnRezMS, evMS, backMS, terMS;
+ int maintc;
+ List coarseLocations;
+ List avatarUUIDs;
- try
+ while (!shuttingdown && (endFrame == null || Frame < endFrame))
{
- int tmpPhysicsMS2 = Util.EnvironmentTickCount();
- if ((Frame % m_update_physics == 0) && m_physics_enabled)
- m_sceneGraph.UpdatePreparePhysics();
- physicsMS2 = Util.EnvironmentTickCountSubtract(tmpPhysicsMS2);
-
- // Apply any pending avatar force input to the avatar's velocity
- int tmpAgentMS = Util.EnvironmentTickCount();
- if (Frame % m_update_entitymovement == 0)
- m_sceneGraph.UpdateScenePresenceMovement();
- agentMS = Util.EnvironmentTickCountSubtract(tmpAgentMS);
-
- // Perform the main physics update. This will do the actual work of moving objects and avatars according to their
- // velocity
- int tmpPhysicsMS = Util.EnvironmentTickCount();
- if (Frame % m_update_physics == 0)
- {
- if (m_physics_enabled)
- physicsFPS = m_sceneGraph.UpdatePhysics(MinFrameTime);
+ maintc = Util.EnvironmentTickCount();
+ ++Frame;
- if (SynchronizeScene != null)
- SynchronizeScene(this);
- }
- physicsMS = Util.EnvironmentTickCountSubtract(tmpPhysicsMS);
-
- tmpAgentMS = Util.EnvironmentTickCount();
-
- // Check if any objects have reached their targets
- CheckAtTargets();
-
- // Update SceneObjectGroups that have scheduled themselves for updates
- // Objects queue their updates onto all scene presences
- if (Frame % m_update_objects == 0)
- m_sceneGraph.UpdateObjectGroups();
+// m_log.DebugFormat("[SCENE]: Processing frame {0} in {1}", Frame, RegionInfo.RegionName);
- // Run through all ScenePresences looking for updates
- // Presence updates and queued object updates for each presence are sent to clients
- if (Frame % m_update_presences == 0)
- m_sceneGraph.UpdatePresences();
+ tmpFrameMS = maintc;
+ agentMS = tempOnRezMS = eventMS = backupMS = terrainMS = landMS = 0;
- // Coarse locations relate to positions of green dots on the mini-map (on a SecondLife client)
- if (Frame % m_update_coarse_locations == 0)
+ try
{
- List coarseLocations;
- List avatarUUIDs;
- SceneGraph.GetCoarseLocations(out coarseLocations, out avatarUUIDs, 60);
- // Send coarse locations to clients
- ForEachScenePresence(delegate(ScenePresence presence)
+ tmpPhysicsMS2 = Util.EnvironmentTickCount();
+ if ((Frame % m_update_physics == 0) && m_physics_enabled)
+ m_sceneGraph.UpdatePreparePhysics();
+ physicsMS2 = Util.EnvironmentTickCountSubtract(tmpPhysicsMS2);
+
+ // Apply any pending avatar force input to the avatar's velocity
+ tmpAgentMS = Util.EnvironmentTickCount();
+ if (Frame % m_update_entitymovement == 0)
+ m_sceneGraph.UpdateScenePresenceMovement();
+ agentMS = Util.EnvironmentTickCountSubtract(tmpAgentMS);
+
+ // Perform the main physics update. This will do the actual work of moving objects and avatars according to their
+ // velocity
+ tmpPhysicsMS = Util.EnvironmentTickCount();
+ if (Frame % m_update_physics == 0)
{
- presence.SendCoarseLocations(coarseLocations, avatarUUIDs);
- });
- }
-
- agentMS += Util.EnvironmentTickCountSubtract(tmpAgentMS);
-
- // Delete temp-on-rez stuff
- if (Frame % m_update_temp_cleaning == 0 && !m_cleaningTemps)
- {
- int tmpTempOnRezMS = Util.EnvironmentTickCount();
- m_cleaningTemps = true;
- Util.FireAndForget(delegate { CleanTempObjects(); m_cleaningTemps = false; });
- tempOnRezMS = Util.EnvironmentTickCountSubtract(tmpTempOnRezMS);
- }
-
- if (Frame % m_update_events == 0)
- {
- int evMS = Util.EnvironmentTickCount();
- UpdateEvents();
- eventMS = Util.EnvironmentTickCountSubtract(evMS); ;
- }
-
- if (Frame % m_update_backup == 0)
- {
- int backMS = Util.EnvironmentTickCount();
- UpdateStorageBackup();
- backupMS = Util.EnvironmentTickCountSubtract(backMS);
- }
-
- if (Frame % m_update_terrain == 0)
- {
- int terMS = Util.EnvironmentTickCount();
- UpdateTerrain();
- terrainMS = Util.EnvironmentTickCountSubtract(terMS);
- }
-
- //if (Frame % m_update_land == 0)
- //{
- // int ldMS = Util.EnvironmentTickCount();
- // UpdateLand();
- // landMS = Util.EnvironmentTickCountSubtract(ldMS);
- //}
-
- frameMS = Util.EnvironmentTickCountSubtract(tmpFrameMS);
- otherMS = tempOnRezMS + eventMS + backupMS + terrainMS + landMS;
- lastCompletedFrame = Util.EnvironmentTickCount();
-
- // if (Frame%m_update_avatars == 0)
- // UpdateInWorldTime();
- StatsReporter.AddPhysicsFPS(physicsFPS);
- StatsReporter.AddTimeDilation(TimeDilation);
- StatsReporter.AddFPS(1);
- StatsReporter.SetRootAgents(m_sceneGraph.GetRootAgentCount());
- StatsReporter.SetChildAgents(m_sceneGraph.GetChildAgentCount());
- StatsReporter.SetObjects(m_sceneGraph.GetTotalObjectsCount());
- StatsReporter.SetActiveObjects(m_sceneGraph.GetActiveObjectsCount());
- StatsReporter.addFrameMS(frameMS);
- StatsReporter.addAgentMS(agentMS);
- StatsReporter.addPhysicsMS(physicsMS + physicsMS2);
- StatsReporter.addOtherMS(otherMS);
- StatsReporter.SetActiveScripts(m_sceneGraph.GetActiveScriptsCount());
- StatsReporter.addScriptLines(m_sceneGraph.GetScriptLPS());
-
- if (LoginsDisabled && Frame == 20)
- {
-// m_log.DebugFormat("{0} {1} {2}", LoginsDisabled, m_sceneGraph.GetActiveScriptsCount(), LoginLock);
-
- // In 99.9% of cases it is a bad idea to manually force garbage collection. However,
- // this is a rare case where we know we have just went through a long cycle of heap
- // allocations, and there is no more work to be done until someone logs in
- GC.Collect();
+ if (m_physics_enabled)
+ physicsFPS = m_sceneGraph.UpdatePhysics(MinFrameTime);
+
+ if (SynchronizeScene != null)
+ SynchronizeScene(this);
+ }
+ physicsMS = Util.EnvironmentTickCountSubtract(tmpPhysicsMS);
- IConfig startupConfig = m_config.Configs["Startup"];
- if (startupConfig == null || !startupConfig.GetBoolean("StartDisabled", false))
+ tmpAgentMS = Util.EnvironmentTickCount();
+
+ // Check if any objects have reached their targets
+ CheckAtTargets();
+
+ // Update SceneObjectGroups that have scheduled themselves for updates
+ // Objects queue their updates onto all scene presences
+ if (Frame % m_update_objects == 0)
+ m_sceneGraph.UpdateObjectGroups();
+
+ // Run through all ScenePresences looking for updates
+ // Presence updates and queued object updates for each presence are sent to clients
+ if (Frame % m_update_presences == 0)
+ m_sceneGraph.UpdatePresences();
+
+ // Coarse locations relate to positions of green dots on the mini-map (on a SecondLife client)
+ if (Frame % m_update_coarse_locations == 0)
+ {
+ SceneGraph.GetCoarseLocations(out coarseLocations, out avatarUUIDs, 60);
+ // Send coarse locations to clients
+ ForEachScenePresence(delegate(ScenePresence presence)
+ {
+ presence.SendCoarseLocations(coarseLocations, avatarUUIDs);
+ });
+ }
+
+ agentMS += Util.EnvironmentTickCountSubtract(tmpAgentMS);
+
+ // Delete temp-on-rez stuff
+ if (Frame % m_update_temp_cleaning == 0 && !m_cleaningTemps)
+ {
+ tmpTempOnRezMS = Util.EnvironmentTickCount();
+ m_cleaningTemps = true;
+ Util.FireAndForget(delegate { CleanTempObjects(); m_cleaningTemps = false; });
+ tempOnRezMS = Util.EnvironmentTickCountSubtract(tmpTempOnRezMS);
+ }
+
+ if (Frame % m_update_events == 0)
{
- // This handles a case of a region having no scripts for the RegionReady module
- if (m_sceneGraph.GetActiveScriptsCount() == 0)
+ evMS = Util.EnvironmentTickCount();
+ UpdateEvents();
+ eventMS = Util.EnvironmentTickCountSubtract(evMS);
+ }
+
+ if (Frame % m_update_backup == 0)
+ {
+ backMS = Util.EnvironmentTickCount();
+ UpdateStorageBackup();
+ backupMS = Util.EnvironmentTickCountSubtract(backMS);
+ }
+
+ if (Frame % m_update_terrain == 0)
+ {
+ terMS = Util.EnvironmentTickCount();
+ UpdateTerrain();
+ terrainMS = Util.EnvironmentTickCountSubtract(terMS);
+ }
+
+ //if (Frame % m_update_land == 0)
+ //{
+ // int ldMS = Util.EnvironmentTickCount();
+ // UpdateLand();
+ // landMS = Util.EnvironmentTickCountSubtract(ldMS);
+ //}
+
+ frameMS = Util.EnvironmentTickCountSubtract(tmpFrameMS);
+ otherMS = tempOnRezMS + eventMS + backupMS + terrainMS + landMS;
+ lastCompletedFrame = Util.EnvironmentTickCount();
+
+ // if (Frame%m_update_avatars == 0)
+ // UpdateInWorldTime();
+ StatsReporter.AddPhysicsFPS(physicsFPS);
+ StatsReporter.AddTimeDilation(TimeDilation);
+ StatsReporter.AddFPS(1);
+ StatsReporter.SetRootAgents(m_sceneGraph.GetRootAgentCount());
+ StatsReporter.SetChildAgents(m_sceneGraph.GetChildAgentCount());
+ StatsReporter.SetObjects(m_sceneGraph.GetTotalObjectsCount());
+ StatsReporter.SetActiveObjects(m_sceneGraph.GetActiveObjectsCount());
+
+ // frameMS currently records work frame times, not total frame times (work + any required sleep to
+ // reach min frame time.
+ StatsReporter.addFrameMS(frameMS);
+
+ StatsReporter.addAgentMS(agentMS);
+ StatsReporter.addPhysicsMS(physicsMS + physicsMS2);
+ StatsReporter.addOtherMS(otherMS);
+ StatsReporter.SetActiveScripts(m_sceneGraph.GetActiveScriptsCount());
+ StatsReporter.addScriptLines(m_sceneGraph.GetScriptLPS());
+
+ if (LoginsDisabled && Frame == 20)
+ {
+ // m_log.DebugFormat("{0} {1} {2}", LoginsDisabled, m_sceneGraph.GetActiveScriptsCount(), LoginLock);
+
+ // In 99.9% of cases it is a bad idea to manually force garbage collection. However,
+ // this is a rare case where we know we have just went through a long cycle of heap
+ // allocations, and there is no more work to be done until someone logs in
+ GC.Collect();
+
+ IConfig startupConfig = m_config.Configs["Startup"];
+ if (startupConfig == null || !startupConfig.GetBoolean("StartDisabled", false))
{
- // need to be able to tell these have changed in RegionReady
- LoginLock = false;
- EventManager.TriggerLoginsEnabled(RegionInfo.RegionName);
+ // This handles a case of a region having no scripts for the RegionReady module
+ if (m_sceneGraph.GetActiveScriptsCount() == 0)
+ {
+ // need to be able to tell these have changed in RegionReady
+ LoginLock = false;
+ EventManager.TriggerLoginsEnabled(RegionInfo.RegionName);
+ }
+ m_log.DebugFormat("[REGION]: Enabling logins for {0}", RegionInfo.RegionName);
+
+ // For RegionReady lockouts
+ if(LoginLock == false)
+ {
+ LoginsDisabled = false;
+ }
+
+ m_sceneGridService.InformNeighborsThatRegionisUp(RequestModuleInterface(), RegionInfo);
}
- m_log.DebugFormat("[REGION]: Enabling logins for {0}", RegionInfo.RegionName);
-
- // For RegionReady lockouts
- if(LoginLock == false)
+ else
{
- LoginsDisabled = false;
+ StartDisabled = true;
+ LoginsDisabled = true;
}
-
- m_sceneGridService.InformNeighborsThatRegionisUp(RequestModuleInterface(), RegionInfo);
- }
- else
- {
- StartDisabled = true;
- LoginsDisabled = true;
}
}
- }
- catch (Exception e)
- {
- m_log.ErrorFormat(
- "[SCENE]: Failed on region {0} with exception {1}{2}",
- RegionInfo.RegionName, e.Message, e.StackTrace);
- }
+ catch (Exception e)
+ {
+ m_log.ErrorFormat(
+ "[SCENE]: Failed on region {0} with exception {1}{2}",
+ RegionInfo.RegionName, e.Message, e.StackTrace);
+ }
+
+ EventManager.TriggerRegionHeartbeatEnd(this);
- EventManager.TriggerRegionHeartbeatEnd(this);
+ // Tell the watchdog that this thread is still alive
+ Watchdog.UpdateThread();
- maintc = Util.EnvironmentTickCountSubtract(maintc);
- maintc = (int)(MinFrameTime * 1000) - maintc;
+ maintc = Util.EnvironmentTickCountSubtract(maintc);
+ maintc = (int)(MinFrameTime * 1000) - maintc;
- if (maintc > 0)
- Thread.Sleep(maintc);
+ if (maintc > 0)
+ Thread.Sleep(maintc);
- // Tell the watchdog that this thread is still alive
- Watchdog.UpdateThread();
+// if (frameMS > (int)(MinFrameTime * 1000))
+// m_log.WarnFormat(
+// "[SCENE]: Frame took {0} ms (desired max {1} ms) in {2}",
+// frameMS,
+// MinFrameTime * 1000,
+// RegionInfo.RegionName);
+ }
}
public void AddGroupTarget(SceneObjectGroup grp)
diff --git a/OpenSim/Region/Framework/Scenes/SceneBase.cs b/OpenSim/Region/Framework/Scenes/SceneBase.cs
index 495cede..9c6b884 100644
--- a/OpenSim/Region/Framework/Scenes/SceneBase.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneBase.cs
@@ -149,9 +149,13 @@ namespace OpenSim.Region.Framework.Scenes
#region Update Methods
///
- /// Normally called once every frame/tick to let the world preform anything required (like running the physics simulation)
+ /// Called to update the scene loop by a number of frames and until shutdown.
///
- public abstract void Update();
+ ///
+ /// Number of frames to update. Exits on shutdown even if there are frames remaining.
+ /// If -1 then updates until shutdown.
+ ///
+ public abstract void Update(int frames);
#endregion
diff --git a/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceAutopilotTests.cs b/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceAutopilotTests.cs
index 442cb8b..cfea10d 100644
--- a/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceAutopilotTests.cs
+++ b/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceAutopilotTests.cs
@@ -81,7 +81,7 @@ namespace OpenSim.Region.Framework.Scenes.Tests
// For now, we'll make the scene presence fly to simplify this test, but this needs to change.
sp.Flying = true;
- m_scene.Update();
+ m_scene.Update(1);
Assert.That(sp.AbsolutePosition, Is.EqualTo(startPos));
Vector3 targetPos = startPos + new Vector3(0, 10, 0);
@@ -91,7 +91,7 @@ namespace OpenSim.Region.Framework.Scenes.Tests
Assert.That(
sp.Rotation, new QuaternionToleranceConstraint(new Quaternion(0, 0, 0.7071068f, 0.7071068f), 0.000001));
- m_scene.Update();
+ m_scene.Update(1);
// We should really check the exact figure.
Assert.That(sp.AbsolutePosition.X, Is.EqualTo(startPos.X));
@@ -99,8 +99,7 @@ namespace OpenSim.Region.Framework.Scenes.Tests
Assert.That(sp.AbsolutePosition.Z, Is.EqualTo(startPos.Z));
Assert.That(sp.AbsolutePosition.Z, Is.LessThan(targetPos.X));
- for (int i = 0; i < 10; i++)
- m_scene.Update();
+ m_scene.Update(10);
double distanceToTarget = Util.GetDistanceTo(sp.AbsolutePosition, targetPos);
Assert.That(distanceToTarget, Is.LessThan(1), "Avatar not within 1 unit of target position on first move");
@@ -116,7 +115,7 @@ namespace OpenSim.Region.Framework.Scenes.Tests
Assert.That(
sp.Rotation, new QuaternionToleranceConstraint(new Quaternion(0, 0, 0, 1), 0.000001));
- m_scene.Update();
+ m_scene.Update(1);
// We should really check the exact figure.
Assert.That(sp.AbsolutePosition.X, Is.GreaterThan(startPos.X));
@@ -124,8 +123,7 @@ namespace OpenSim.Region.Framework.Scenes.Tests
Assert.That(sp.AbsolutePosition.Y, Is.EqualTo(startPos.Y));
Assert.That(sp.AbsolutePosition.Z, Is.EqualTo(startPos.Z));
- for (int i = 0; i < 10; i++)
- m_scene.Update();
+ m_scene.Update(10);
distanceToTarget = Util.GetDistanceTo(sp.AbsolutePosition, targetPos);
Assert.That(distanceToTarget, Is.LessThan(1), "Avatar not within 1 unit of target position on second move");
diff --git a/OpenSim/Region/Framework/Scenes/Tests/SceneTests.cs b/OpenSim/Region/Framework/Scenes/Tests/SceneTests.cs
index 8b8aea5..5c9a77d 100644
--- a/OpenSim/Region/Framework/Scenes/Tests/SceneTests.cs
+++ b/OpenSim/Region/Framework/Scenes/Tests/SceneTests.cs
@@ -61,7 +61,7 @@ namespace OpenSim.Region.Framework.Scenes.Tests
TestHelpers.InMethod();
Scene scene = SceneHelpers.SetupScene();
- scene.Update();
+ scene.Update(1);
Assert.That(scene.Frame, Is.EqualTo(1));
}
diff --git a/OpenSim/Region/OptionalModules/World/NPC/Tests/NPCModuleTests.cs b/OpenSim/Region/OptionalModules/World/NPC/Tests/NPCModuleTests.cs
index 9a7e9e8..eea0b2e 100644
--- a/OpenSim/Region/OptionalModules/World/NPC/Tests/NPCModuleTests.cs
+++ b/OpenSim/Region/OptionalModules/World/NPC/Tests/NPCModuleTests.cs
@@ -238,7 +238,7 @@ namespace OpenSim.Region.OptionalModules.World.NPC.Tests
// For now, we'll make the scene presence fly to simplify this test, but this needs to change.
npc.Flying = true;
- m_scene.Update();
+ m_scene.Update(1);
Assert.That(npc.AbsolutePosition, Is.EqualTo(startPos));
Vector3 targetPos = startPos + new Vector3(0, 10, 0);
@@ -249,7 +249,7 @@ namespace OpenSim.Region.OptionalModules.World.NPC.Tests
Assert.That(
npc.Rotation, new QuaternionToleranceConstraint(new Quaternion(0, 0, 0.7071068f, 0.7071068f), 0.000001));
- m_scene.Update();
+ m_scene.Update(1);
// We should really check the exact figure.
Assert.That(npc.AbsolutePosition.X, Is.EqualTo(startPos.X));
@@ -257,8 +257,7 @@ namespace OpenSim.Region.OptionalModules.World.NPC.Tests
Assert.That(npc.AbsolutePosition.Z, Is.EqualTo(startPos.Z));
Assert.That(npc.AbsolutePosition.Z, Is.LessThan(targetPos.X));
- for (int i = 0; i < 10; i++)
- m_scene.Update();
+ m_scene.Update(10);
double distanceToTarget = Util.GetDistanceTo(npc.AbsolutePosition, targetPos);
Assert.That(distanceToTarget, Is.LessThan(1), "NPC not within 1 unit of target position on first move");
@@ -275,7 +274,7 @@ namespace OpenSim.Region.OptionalModules.World.NPC.Tests
Assert.That(
npc.Rotation, new QuaternionToleranceConstraint(new Quaternion(0, 0, 0, 1), 0.000001));
- m_scene.Update();
+ m_scene.Update(1);
// We should really check the exact figure.
Assert.That(npc.AbsolutePosition.X, Is.GreaterThan(startPos.X));
@@ -283,8 +282,7 @@ namespace OpenSim.Region.OptionalModules.World.NPC.Tests
Assert.That(npc.AbsolutePosition.Y, Is.EqualTo(startPos.Y));
Assert.That(npc.AbsolutePosition.Z, Is.EqualTo(startPos.Z));
- for (int i = 0; i < 10; i++)
- m_scene.Update();
+ m_scene.Update(10);
distanceToTarget = Util.GetDistanceTo(npc.AbsolutePosition, targetPos);
Assert.That(distanceToTarget, Is.LessThan(1), "NPC not within 1 unit of target position on second move");
diff --git a/OpenSim/Tests/Torture/ObjectTortureTests.cs b/OpenSim/Tests/Torture/ObjectTortureTests.cs
index 978a308..d0d2199 100644
--- a/OpenSim/Tests/Torture/ObjectTortureTests.cs
+++ b/OpenSim/Tests/Torture/ObjectTortureTests.cs
@@ -157,7 +157,7 @@ namespace OpenSim.Tests.Torture
//
// However, that means that we need to manually run an update here to clear out that list so that deleted
// objects will be clean up by the garbage collector before the next stress test is run.
- scene.Update();
+ scene.Update(1);
Console.WriteLine(
"Took {0}ms, {1}MB ({2} - {3}) to create {4} objects each containing {5} prim(s)",
--
cgit v1.1
From c39fba8f9dbf2d003d16d1b7583b529a49a39aab Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Tue, 20 Mar 2012 23:19:11 +0000
Subject: minor: remove some mono compiler warnings
---
OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs | 2 +-
OpenSim/Tests/Common/Mock/MockRegionDataPlugin.cs | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs b/OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs
index 35cb575..ed3430a 100644
--- a/OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs
+++ b/OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs
@@ -761,7 +761,7 @@ namespace OpenSim.Region.ClientStack.Linden
SceneObjectPart part = m_Scene.GetSceneObjectPart(objectID);
if (part != null)
{
- TaskInventoryItem taskItem = part.Inventory.GetInventoryItem(notecardID);
+// TaskInventoryItem taskItem = part.Inventory.GetInventoryItem(notecardID);
if (!m_Scene.Permissions.CanCopyObjectInventory(notecardID, objectID, m_HostCapsObj.AgentID))
{
return LLSDHelpers.SerialiseLLSDReply(response);
diff --git a/OpenSim/Tests/Common/Mock/MockRegionDataPlugin.cs b/OpenSim/Tests/Common/Mock/MockRegionDataPlugin.cs
index 295e868..579d41c 100644
--- a/OpenSim/Tests/Common/Mock/MockRegionDataPlugin.cs
+++ b/OpenSim/Tests/Common/Mock/MockRegionDataPlugin.cs
@@ -120,7 +120,7 @@ namespace OpenSim.Data.Null
///
public class NullDataStore : ISimulationDataStore
{
- private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
+// private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
protected Dictionary m_regionSettings = new Dictionary();
protected Dictionary m_sceneObjectParts = new Dictionary();
--
cgit v1.1
From 3701f893d366643529429851cfac462951655683 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Tue, 20 Mar 2012 23:31:57 +0000
Subject: remove unnecessary tmpFrameMS, use maintc instead for frame time
calculation
---
OpenSim/Region/Framework/Scenes/Scene.cs | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs
index fe59e4d..1bea14f 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.cs
@@ -1201,7 +1201,7 @@ namespace OpenSim.Region.Framework.Scenes
endFrame = Frame + frames;
float physicsFPS = 0f;
- int tmpFrameMS, tmpPhysicsMS, tmpPhysicsMS2, tmpAgentMS, tmpTempOnRezMS, evMS, backMS, terMS;
+ int tmpPhysicsMS, tmpPhysicsMS2, tmpAgentMS, tmpTempOnRezMS, evMS, backMS, terMS;
int maintc;
List coarseLocations;
List avatarUUIDs;
@@ -1213,7 +1213,6 @@ namespace OpenSim.Region.Framework.Scenes
// m_log.DebugFormat("[SCENE]: Processing frame {0} in {1}", Frame, RegionInfo.RegionName);
- tmpFrameMS = maintc;
agentMS = tempOnRezMS = eventMS = backupMS = terrainMS = landMS = 0;
try
@@ -1307,7 +1306,7 @@ namespace OpenSim.Region.Framework.Scenes
// landMS = Util.EnvironmentTickCountSubtract(ldMS);
//}
- frameMS = Util.EnvironmentTickCountSubtract(tmpFrameMS);
+ frameMS = Util.EnvironmentTickCountSubtract(maintc);
otherMS = tempOnRezMS + eventMS + backupMS + terrainMS + landMS;
lastCompletedFrame = Util.EnvironmentTickCount();
--
cgit v1.1
From 02f9caf6ce2c0f19d84f4092940f7f6de18fc57f Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Tue, 20 Mar 2012 23:34:10 +0000
Subject: remove some mono compiler warnings
---
OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs | 2 --
1 file changed, 2 deletions(-)
diff --git a/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs b/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs
index 61d604f..4c6f73e 100644
--- a/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs
+++ b/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs
@@ -604,7 +604,6 @@ namespace OpenSim.Region.CoreModules.World.Estate
public void handleOnEstateManageTelehub (IClientAPI client, UUID invoice, UUID senderID, string cmd, uint param1)
{
- uint ObjectLocalID;
SceneObjectPart part;
switch (cmd)
@@ -877,7 +876,6 @@ namespace OpenSim.Region.CoreModules.World.Estate
return;
Dictionary sceneData = null;
- List uuidNameLookupList = new List();
if (reportType == 1)
{
--
cgit v1.1
From 4c41b53a4b82aaadc4dda9019a3501fc8413d85e Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Tue, 20 Mar 2012 23:35:50 +0000
Subject: Add prim name to "[MESH]: No recognized physics mesh..." log message
---
OpenSim/Region/Physics/Meshing/Meshmerizer.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/OpenSim/Region/Physics/Meshing/Meshmerizer.cs b/OpenSim/Region/Physics/Meshing/Meshmerizer.cs
index 6f6ed7f..3bd15ce 100644
--- a/OpenSim/Region/Physics/Meshing/Meshmerizer.cs
+++ b/OpenSim/Region/Physics/Meshing/Meshmerizer.cs
@@ -358,7 +358,7 @@ namespace OpenSim.Region.Physics.Meshing
if (physicsParms == null)
{
- m_log.Warn("[MESH]: no recognized physics mesh found in mesh asset");
+ m_log.WarnFormat("[MESH]: No recognized physics mesh found in mesh asset for {0}", primName);
return false;
}
--
cgit v1.1