Add optional stat for the other collision time per frame not spent in ODE native spaces or geom collision code

0.7.3-extended
Justin Clark-Casey (justincc) 2012-06-01 03:49:42 +01:00
parent 83542034dd
commit eb022f4cc1
1 changed files with 16 additions and 1 deletions

View File

@ -190,6 +190,11 @@ namespace OpenSim.Region.Physics.OdePlugin
/// </summary> /// </summary>
public const string ODENativeGeomCollisionFrameMsStatName = "ODENativeGeomCollisionFrameMS"; public const string ODENativeGeomCollisionFrameMsStatName = "ODENativeGeomCollisionFrameMS";
/// <summary>
/// Time spent in collision processing that is not spent in native space or geom collision code.
/// </summary>
public const string ODEOtherCollisionFrameMsStatName = "ODEOtherCollisionFrameMS";
/// <summary> /// <summary>
/// Stat name for time spent notifying listeners of collisions /// Stat name for time spent notifying listeners of collisions
/// </summary> /// </summary>
@ -3062,7 +3067,11 @@ namespace OpenSim.Region.Physics.OdePlugin
collision_optimized(); collision_optimized();
if (CollectStats) if (CollectStats)
tempTick = Util.EnvironmentTickCount(); {
tempTick2 = Util.EnvironmentTickCount();
m_stats[ODEOtherCollisionFrameMsStatName] += Util.EnvironmentTickCountSubtract(tempTick2, tempTick);
tempTick = tempTick2;
}
foreach (PhysicsActor obj in _collisionEventPrim.Values) foreach (PhysicsActor obj in _collisionEventPrim.Values)
{ {
@ -4210,6 +4219,11 @@ namespace OpenSim.Region.Physics.OdePlugin
InitializeExtraStats(); InitializeExtraStats();
} }
returnStats[ODEOtherCollisionFrameMsStatName]
= returnStats[ODEOtherCollisionFrameMsStatName]
- returnStats[ODENativeSpaceCollisionFrameMsStatName]
- returnStats[ODENativeGeomCollisionFrameMsStatName];
return returnStats; return returnStats;
} }
@ -4224,6 +4238,7 @@ namespace OpenSim.Region.Physics.OdePlugin
m_stats[ODENativeStepFrameMsStatName] = 0; m_stats[ODENativeStepFrameMsStatName] = 0;
m_stats[ODENativeSpaceCollisionFrameMsStatName] = 0; m_stats[ODENativeSpaceCollisionFrameMsStatName] = 0;
m_stats[ODENativeGeomCollisionFrameMsStatName] = 0; m_stats[ODENativeGeomCollisionFrameMsStatName] = 0;
m_stats[ODEOtherCollisionFrameMsStatName] = 0;
m_stats[ODECollisionNotificationFrameMsStatName] = 0; m_stats[ODECollisionNotificationFrameMsStatName] = 0;
m_stats[ODEAvatarContactsStatsName] = 0; m_stats[ODEAvatarContactsStatsName] = 0;
m_stats[ODEPrimContactsStatName] = 0; m_stats[ODEPrimContactsStatName] = 0;