diff options
author | Robert Adams | 2012-12-29 08:32:57 -0800 |
---|---|---|
committer | Robert Adams | 2012-12-29 08:32:57 -0800 |
commit | 0538096fa3397c52b1171a3ec83dc88489002710 (patch) | |
tree | 49d225015acc572f24a4aaea7f4b668d058ccb75 | |
parent | BulletSim: tweeking avatar capsule code in an attempt to have (diff) | |
download | opensim-SC_OLD-0538096fa3397c52b1171a3ec83dc88489002710.zip opensim-SC_OLD-0538096fa3397c52b1171a3ec83dc88489002710.tar.gz opensim-SC_OLD-0538096fa3397c52b1171a3ec83dc88489002710.tar.bz2 opensim-SC_OLD-0538096fa3397c52b1171a3ec83dc88489002710.tar.xz |
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.
-rw-r--r-- | OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs b/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs index 9659542..e19b5b3 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs | |||
@@ -558,12 +558,16 @@ public sealed class BSCharacter : BSPhysObject | |||
558 | public override OMV.Quaternion Orientation { | 558 | public override OMV.Quaternion Orientation { |
559 | get { return _orientation; } | 559 | get { return _orientation; } |
560 | set { | 560 | set { |
561 | _orientation = value; | 561 | // Orientation is set zillions of times when an avatar is walking. It's like |
562 | // m_log.DebugFormat("{0}: set orientation to {1}", LogHeader, _orientation); | 562 | // the viewer doesn't trust us. |
563 | PhysicsScene.TaintedObject("BSCharacter.setOrientation", delegate() | 563 | if (_orientation != value) |
564 | { | 564 | { |
565 | ForceOrientation = _orientation; | 565 | _orientation = value; |
566 | }); | 566 | PhysicsScene.TaintedObject("BSCharacter.setOrientation", delegate() |
567 | { | ||
568 | ForceOrientation = _orientation; | ||
569 | }); | ||
570 | } | ||
567 | } | 571 | } |
568 | } | 572 | } |
569 | // Go directly to Bullet to get/set the value. | 573 | // Go directly to Bullet to get/set the value. |