BulletSim: an 'if' to suppress multiple setting of avatar orientation.

Looks like the viewer bombards the server with avatar orientation
information (we're talking several hundred a second) when the avatar
is being turned or when walking. This change just reduces the number
of 'set' calls into unmanaged code.
0.7.5-pf-bulletsim
Robert Adams 2012-12-29 08:32:57 -08:00
parent db6c0363f0
commit 0538096fa3
1 changed files with 9 additions and 5 deletions

View File

@ -558,12 +558,16 @@ public sealed class BSCharacter : BSPhysObject
public override OMV.Quaternion Orientation {
get { return _orientation; }
set {
_orientation = value;
// m_log.DebugFormat("{0}: set orientation to {1}", LogHeader, _orientation);
PhysicsScene.TaintedObject("BSCharacter.setOrientation", delegate()
// Orientation is set zillions of times when an avatar is walking. It's like
// the viewer doesn't trust us.
if (_orientation != value)
{
ForceOrientation = _orientation;
});
_orientation = value;
PhysicsScene.TaintedObject("BSCharacter.setOrientation", delegate()
{
ForceOrientation = _orientation;
});
}
}
}
// Go directly to Bullet to get/set the value.