Merge commit 'ca83f99332316fda1c412a5bf2889f9cf5cf3577' into bigmerge

avinationmerge
Melanie 2011-10-12 01:42:39 +01:00
commit 4e88fe42e4
4 changed files with 21 additions and 36 deletions

View File

@ -186,6 +186,7 @@ namespace OpenSim.Region.Framework.Scenes
private int m_update_land = 10; private int m_update_land = 10;
private int m_update_coarse_locations = 50; private int m_update_coarse_locations = 50;
private int agentMS;
private int frameMS; private int frameMS;
private int physicsMS2; private int physicsMS2;
private int physicsMS; private int physicsMS;
@ -1251,12 +1252,15 @@ namespace OpenSim.Region.Framework.Scenes
int maintc = Util.EnvironmentTickCount(); int maintc = Util.EnvironmentTickCount();
int tmpFrameMS = maintc; int tmpFrameMS = maintc;
tempOnRezMS = eventMS = backupMS = terrainMS = landMS = 0; agentMS = tempOnRezMS = eventMS = backupMS = terrainMS = landMS = 0;
// TODO: ADD AGENT TIME HERE
// Increment the frame counter // Increment the frame counter
++Frame; ++Frame;
try try
{ {
int tmpAgentMS = Util.EnvironmentTickCount();
// Check if any objects have reached their targets // Check if any objects have reached their targets
CheckAtTargets(); CheckAtTargets();
@ -1283,6 +1287,8 @@ namespace OpenSim.Region.Framework.Scenes
}); });
} }
agentMS = Util.EnvironmentTickCountSubtract(tmpAgentMS);
int tmpPhysicsMS2 = Util.EnvironmentTickCount(); int tmpPhysicsMS2 = Util.EnvironmentTickCount();
if ((Frame % m_update_physics == 0) && m_physics_enabled) if ((Frame % m_update_physics == 0) && m_physics_enabled)
m_sceneGraph.UpdatePreparePhysics(); m_sceneGraph.UpdatePreparePhysics();
@ -1290,7 +1296,11 @@ namespace OpenSim.Region.Framework.Scenes
// Apply any pending avatar force input to the avatar's velocity // Apply any pending avatar force input to the avatar's velocity
if (Frame % m_update_entitymovement == 0) if (Frame % m_update_entitymovement == 0)
{
tmpAgentMS = Util.EnvironmentTickCount();
m_sceneGraph.UpdateScenePresenceMovement(); 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 // Perform the main physics update. This will do the actual work of moving objects and avatars according to their
// velocity // velocity
@ -1362,6 +1372,7 @@ namespace OpenSim.Region.Framework.Scenes
StatsReporter.SetObjects(m_sceneGraph.GetTotalObjectsCount()); StatsReporter.SetObjects(m_sceneGraph.GetTotalObjectsCount());
StatsReporter.SetActiveObjects(m_sceneGraph.GetActiveObjectsCount()); StatsReporter.SetActiveObjects(m_sceneGraph.GetActiveObjectsCount());
StatsReporter.addFrameMS(frameMS); StatsReporter.addFrameMS(frameMS);
StatsReporter.addAgentMS(agentMS);
StatsReporter.addPhysicsMS(physicsMS + physicsMS2); StatsReporter.addPhysicsMS(physicsMS + physicsMS2);
StatsReporter.addOtherMS(otherMS); StatsReporter.addOtherMS(otherMS);
StatsReporter.SetActiveScripts(m_sceneGraph.GetActiveScriptsCount()); StatsReporter.SetActiveScripts(m_sceneGraph.GetActiveScriptsCount());

View File

@ -180,6 +180,12 @@ namespace OpenSim.Region.Framework.Scenes
} }
} }
/// <summary>
/// Update the position of all the scene presences.
/// </summary>
/// <remarks>
/// Called only from the main scene loop.
/// </remarks>
protected internal void UpdatePresences() protected internal void UpdatePresences()
{ {
ForEachScenePresence(delegate(ScenePresence presence) ForEachScenePresence(delegate(ScenePresence presence)

View File

@ -929,11 +929,7 @@ namespace OpenSim.Region.Framework.Scenes
/// </summary> /// </summary>
public void SendPrimUpdates() public void SendPrimUpdates()
{ {
m_perfMonMS = Util.EnvironmentTickCount();
m_sceneViewer.SendPrimUpdates(); m_sceneViewer.SendPrimUpdates();
m_scene.StatsReporter.AddAgentTime(Util.EnvironmentTickCountSubtract(m_perfMonMS));
} }
#region Status Methods #region Status Methods
@ -1401,7 +1397,7 @@ namespace OpenSim.Region.Framework.Scenes
// return; // return;
//} //}
m_perfMonMS = Util.EnvironmentTickCount(); // m_perfMonMS = Util.EnvironmentTickCount();
++m_movementUpdateCount; ++m_movementUpdateCount;
if (m_movementUpdateCount < 1) if (m_movementUpdateCount < 1)
@ -1693,7 +1689,8 @@ namespace OpenSim.Region.Framework.Scenes
m_scene.EventManager.TriggerOnClientMovement(this); m_scene.EventManager.TriggerOnClientMovement(this);
m_scene.StatsReporter.AddAgentTime(Util.EnvironmentTickCountSubtract(m_perfMonMS)); // It doesn't make sense to add this to frame stats as this update is processed indepedently of the scene loop
// m_scene.StatsReporter.AddAgentTime(Util.EnvironmentTickCountSubtract(m_perfMonMS));
} }
/// <summary> /// <summary>
@ -2670,8 +2667,6 @@ namespace OpenSim.Region.Framework.Scenes
/// <param name="vec">The vector in which to move. This is relative to the rotation argument</param> /// <param name="vec">The vector in which to move. This is relative to the rotation argument</param>
public void AddNewMovement(Vector3 vec) public void AddNewMovement(Vector3 vec)
{ {
m_perfMonMS = Util.EnvironmentTickCount();
Vector3 direc = vec * Rotation; Vector3 direc = vec * Rotation;
direc.Normalize(); direc.Normalize();
@ -2710,8 +2705,6 @@ namespace OpenSim.Region.Framework.Scenes
// TODO: Add the force instead of only setting it to support multiple forces per frame? // TODO: Add the force instead of only setting it to support multiple forces per frame?
m_forceToApply = direc; m_forceToApply = direc;
m_scene.StatsReporter.AddAgentTime(Util.EnvironmentTickCountSubtract(m_perfMonMS));
} }
#endregion #endregion
@ -2779,8 +2772,6 @@ namespace OpenSim.Region.Framework.Scenes
// server. // server.
if (remoteClient.IsActive) if (remoteClient.IsActive)
{ {
m_perfMonMS = Util.EnvironmentTickCount();
Vector3 pos = m_pos; Vector3 pos = m_pos;
pos.Z += m_appearance.HipOffset; pos.Z += m_appearance.HipOffset;
@ -2791,7 +2782,6 @@ namespace OpenSim.Region.Framework.Scenes
PrimUpdateFlags.Position | PrimUpdateFlags.Rotation | PrimUpdateFlags.Velocity PrimUpdateFlags.Position | PrimUpdateFlags.Rotation | PrimUpdateFlags.Velocity
| PrimUpdateFlags.Acceleration | PrimUpdateFlags.AngularVelocity); | PrimUpdateFlags.Acceleration | PrimUpdateFlags.AngularVelocity);
m_scene.StatsReporter.AddAgentTime(Util.EnvironmentTickCountSubtract(m_perfMonMS));
m_scene.StatsReporter.AddAgentUpdates(1); m_scene.StatsReporter.AddAgentUpdates(1);
} }
} }
@ -2832,14 +2822,11 @@ namespace OpenSim.Region.Framework.Scenes
|| Math.Abs(distanceError) > distanceErrorThreshold || Math.Abs(distanceError) > distanceErrorThreshold
|| velocidyDiff > 0.01f) // did velocity change from last update? || velocidyDiff > 0.01f) // did velocity change from last update?
{ {
m_perfMonMS = currentTick;
lastVelocitySentToAllClients = Velocity; lastVelocitySentToAllClients = Velocity;
lastTerseUpdateToAllClientsTick = currentTick; lastTerseUpdateToAllClientsTick = currentTick;
lastPositionSentToAllClients = OffsetPosition; lastPositionSentToAllClients = OffsetPosition;
m_scene.ForEachClient(SendTerseUpdateToClient); m_scene.ForEachClient(SendTerseUpdateToClient);
m_scene.StatsReporter.AddAgentTime(Util.EnvironmentTickCountSubtract(m_perfMonMS));
} }
} }
@ -2860,9 +2847,7 @@ namespace OpenSim.Region.Framework.Scenes
public void SendCoarseLocationsDefault(UUID sceneId, ScenePresence p, List<Vector3> coarseLocations, List<UUID> avatarUUIDs) public void SendCoarseLocationsDefault(UUID sceneId, ScenePresence p, List<Vector3> coarseLocations, List<UUID> avatarUUIDs)
{ {
m_perfMonMS = Util.EnvironmentTickCount();
m_controllingClient.SendCoarseLocationUpdate(avatarUUIDs, coarseLocations); m_controllingClient.SendCoarseLocationUpdate(avatarUUIDs, coarseLocations);
m_scene.StatsReporter.AddAgentTime(Util.EnvironmentTickCountSubtract(m_perfMonMS));
} }
/// <summary> /// <summary>
@ -2924,8 +2909,6 @@ namespace OpenSim.Region.Framework.Scenes
return; return;
} }
m_perfMonMS = Util.EnvironmentTickCount();
int count = 0; int count = 0;
m_scene.ForEachScenePresence(delegate(ScenePresence scenePresence) m_scene.ForEachScenePresence(delegate(ScenePresence scenePresence)
{ {
@ -2934,7 +2917,6 @@ namespace OpenSim.Region.Framework.Scenes
}); });
m_scene.StatsReporter.AddAgentUpdates(count); m_scene.StatsReporter.AddAgentUpdates(count);
m_scene.StatsReporter.AddAgentTime(Util.EnvironmentTickCountSubtract(m_perfMonMS));
} }
/// <summary> /// <summary>
@ -2943,8 +2925,6 @@ namespace OpenSim.Region.Framework.Scenes
/// </summary> /// </summary>
public void SendOtherAgentsAvatarDataToMe() public void SendOtherAgentsAvatarDataToMe()
{ {
m_perfMonMS = Util.EnvironmentTickCount();
int count = 0; int count = 0;
m_scene.ForEachScenePresence(delegate(ScenePresence scenePresence) m_scene.ForEachScenePresence(delegate(ScenePresence scenePresence)
{ {
@ -2961,7 +2941,6 @@ namespace OpenSim.Region.Framework.Scenes
}); });
m_scene.StatsReporter.AddAgentUpdates(count); m_scene.StatsReporter.AddAgentUpdates(count);
m_scene.StatsReporter.AddAgentTime(Util.EnvironmentTickCountSubtract(m_perfMonMS));
} }
/// <summary> /// <summary>
@ -2991,8 +2970,6 @@ namespace OpenSim.Region.Framework.Scenes
return; return;
} }
m_perfMonMS = Util.EnvironmentTickCount();
int count = 0; int count = 0;
m_scene.ForEachScenePresence(delegate(ScenePresence scenePresence) m_scene.ForEachScenePresence(delegate(ScenePresence scenePresence)
{ {
@ -3004,7 +2981,6 @@ namespace OpenSim.Region.Framework.Scenes
}); });
m_scene.StatsReporter.AddAgentUpdates(count); m_scene.StatsReporter.AddAgentUpdates(count);
m_scene.StatsReporter.AddAgentTime(Util.EnvironmentTickCountSubtract(m_perfMonMS));
} }
/// <summary> /// <summary>
@ -3014,7 +2990,6 @@ namespace OpenSim.Region.Framework.Scenes
public void SendOtherAgentsAppearanceToMe() public void SendOtherAgentsAppearanceToMe()
{ {
//m_log.DebugFormat("[SCENE PRESENCE] SendOtherAgentsAppearanceToMe: {0} ({1})", Name, UUID); //m_log.DebugFormat("[SCENE PRESENCE] SendOtherAgentsAppearanceToMe: {0} ({1})", Name, UUID);
m_perfMonMS = Util.EnvironmentTickCount();
int count = 0; int count = 0;
m_scene.ForEachScenePresence(delegate(ScenePresence scenePresence) m_scene.ForEachScenePresence(delegate(ScenePresence scenePresence)
@ -3032,7 +3007,6 @@ namespace OpenSim.Region.Framework.Scenes
}); });
m_scene.StatsReporter.AddAgentUpdates(count); m_scene.StatsReporter.AddAgentUpdates(count);
m_scene.StatsReporter.AddAgentTime(Util.EnvironmentTickCountSubtract(m_perfMonMS));
} }
/// <summary> /// <summary>

View File

@ -453,12 +453,6 @@ namespace OpenSim.Region.Framework.Scenes
AddunAckedBytes(unAckedBytes); AddunAckedBytes(unAckedBytes);
} }
public void AddAgentTime(int ms)
{
addFrameMS(ms);
addAgentMS(ms);
}
#endregion #endregion
} }
} }