mirror of
https://github.com/opensim/opensim.git
synced 2026-08-12 04:05:42 +08:00
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.
This commit is contained in:
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user