aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics/OdePlugin/OdeScene.cs
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2012-06-01 03:49:42 +0100
committerJustin Clark-Casey (justincc)2012-06-01 03:49:42 +0100
commit200376b3c4717e9ae00b67ef5f2a57383952f2d5 (patch)
tree0293331cb175c98d85e69eb643ad05395aab1261 /OpenSim/Region/Physics/OdePlugin/OdeScene.cs
parentAdd avatar forces calculation, prim force and raycasting per frame millisecon... (diff)
downloadopensim-SC-200376b3c4717e9ae00b67ef5f2a57383952f2d5.zip
opensim-SC-200376b3c4717e9ae00b67ef5f2a57383952f2d5.tar.gz
opensim-SC-200376b3c4717e9ae00b67ef5f2a57383952f2d5.tar.bz2
opensim-SC-200376b3c4717e9ae00b67ef5f2a57383952f2d5.tar.xz
Add optional stat for the other collision time per frame not spent in ODE native spaces or geom collision code
Diffstat (limited to 'OpenSim/Region/Physics/OdePlugin/OdeScene.cs')
-rw-r--r--OpenSim/Region/Physics/OdePlugin/OdeScene.cs17
1 files changed, 16 insertions, 1 deletions
diff --git a/OpenSim/Region/Physics/OdePlugin/OdeScene.cs b/OpenSim/Region/Physics/OdePlugin/OdeScene.cs
index e44375b..8590453 100644
--- a/OpenSim/Region/Physics/OdePlugin/OdeScene.cs
+++ b/OpenSim/Region/Physics/OdePlugin/OdeScene.cs
@@ -191,6 +191,11 @@ namespace OpenSim.Region.Physics.OdePlugin
191 public const string ODENativeGeomCollisionFrameMsStatName = "ODENativeGeomCollisionFrameMS"; 191 public const string ODENativeGeomCollisionFrameMsStatName = "ODENativeGeomCollisionFrameMS";
192 192
193 /// <summary> 193 /// <summary>
194 /// Time spent in collision processing that is not spent in native space or geom collision code.
195 /// </summary>
196 public const string ODEOtherCollisionFrameMsStatName = "ODEOtherCollisionFrameMS";
197
198 /// <summary>
194 /// Stat name for time spent notifying listeners of collisions 199 /// Stat name for time spent notifying listeners of collisions
195 /// </summary> 200 /// </summary>
196 public const string ODECollisionNotificationFrameMsStatName = "ODECollisionNotificationFrameMS"; 201 public const string ODECollisionNotificationFrameMsStatName = "ODECollisionNotificationFrameMS";
@@ -3062,7 +3067,11 @@ namespace OpenSim.Region.Physics.OdePlugin
3062 collision_optimized(); 3067 collision_optimized();
3063 3068
3064 if (CollectStats) 3069 if (CollectStats)
3065 tempTick = Util.EnvironmentTickCount(); 3070 {
3071 tempTick2 = Util.EnvironmentTickCount();
3072 m_stats[ODEOtherCollisionFrameMsStatName] += Util.EnvironmentTickCountSubtract(tempTick2, tempTick);
3073 tempTick = tempTick2;
3074 }
3066 3075
3067 foreach (PhysicsActor obj in _collisionEventPrim.Values) 3076 foreach (PhysicsActor obj in _collisionEventPrim.Values)
3068 { 3077 {
@@ -4210,6 +4219,11 @@ namespace OpenSim.Region.Physics.OdePlugin
4210 InitializeExtraStats(); 4219 InitializeExtraStats();
4211 } 4220 }
4212 4221
4222 returnStats[ODEOtherCollisionFrameMsStatName]
4223 = returnStats[ODEOtherCollisionFrameMsStatName]
4224 - returnStats[ODENativeSpaceCollisionFrameMsStatName]
4225 - returnStats[ODENativeGeomCollisionFrameMsStatName];
4226
4213 return returnStats; 4227 return returnStats;
4214 } 4228 }
4215 4229
@@ -4224,6 +4238,7 @@ namespace OpenSim.Region.Physics.OdePlugin
4224 m_stats[ODENativeStepFrameMsStatName] = 0; 4238 m_stats[ODENativeStepFrameMsStatName] = 0;
4225 m_stats[ODENativeSpaceCollisionFrameMsStatName] = 0; 4239 m_stats[ODENativeSpaceCollisionFrameMsStatName] = 0;
4226 m_stats[ODENativeGeomCollisionFrameMsStatName] = 0; 4240 m_stats[ODENativeGeomCollisionFrameMsStatName] = 0;
4241 m_stats[ODEOtherCollisionFrameMsStatName] = 0;
4227 m_stats[ODECollisionNotificationFrameMsStatName] = 0; 4242 m_stats[ODECollisionNotificationFrameMsStatName] = 0;
4228 m_stats[ODEAvatarContactsStatsName] = 0; 4243 m_stats[ODEAvatarContactsStatsName] = 0;
4229 m_stats[ODEPrimContactsStatName] = 0; 4244 m_stats[ODEPrimContactsStatName] = 0;