aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/ScenePresence.cs
diff options
context:
space:
mode:
authorDan Lake2011-11-11 17:16:52 -0800
committerDan Lake2011-11-11 17:16:52 -0800
commit5fd17491509fb4b939666cdc37951e213f054242 (patch)
tree966baad538ac254ca1e1ba6cd83cc6487bf2726d /OpenSim/Region/Framework/Scenes/ScenePresence.cs
parentdoh - correct build break (diff)
downloadopensim-SC-5fd17491509fb4b939666cdc37951e213f054242.zip
opensim-SC-5fd17491509fb4b939666cdc37951e213f054242.tar.gz
opensim-SC-5fd17491509fb4b939666cdc37951e213f054242.tar.bz2
opensim-SC-5fd17491509fb4b939666cdc37951e213f054242.tar.xz
Remove SceneViewer from ScenePresence to reduce quadruple queueing of
prim update to only triple queuing. Existing method was: 1. Schedule prim for update, adding to scene update list 2. Update on SOGs during heartbeat queues update onto each SceneViewer 3. Update on SPs during heartbeat queues update onto each IClientAPI 4. ProcessEntityUpdates queues updates into UDP send stack Now the SceneViewer has been eliminated so updates are scheduled at any time and then put onto the IClientAPI priority queues immediately during SceneGraph.UpdateObjectGroups.
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/Framework/Scenes/ScenePresence.cs28
1 files changed, 0 insertions, 28 deletions
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
index 3fee642..a4cb7cf 100644
--- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
@@ -135,7 +135,6 @@ namespace OpenSim.Region.Framework.Scenes
135 private Vector3 m_lastPosition; 135 private Vector3 m_lastPosition;
136 private Quaternion m_lastRotation; 136 private Quaternion m_lastRotation;
137 private Vector3 m_lastVelocity; 137 private Vector3 m_lastVelocity;
138 //private int m_lastTerseSent;
139 138
140 private Vector3? m_forceToApply; 139 private Vector3? m_forceToApply;
141 private int m_userFlags; 140 private int m_userFlags;
@@ -644,14 +643,6 @@ namespace OpenSim.Region.Framework.Scenes
644 set { m_health = value; } 643 set { m_health = value; }
645 } 644 }
646 645
647 private ISceneViewer m_sceneViewer;
648
649 public ISceneViewer SceneViewer
650 {
651 get { return m_sceneViewer; }
652 private set { m_sceneViewer = value; }
653 }
654
655 public void AdjustKnownSeeds() 646 public void AdjustKnownSeeds()
656 { 647 {
657 Dictionary<ulong, string> seeds; 648 Dictionary<ulong, string> seeds;
@@ -755,7 +746,6 @@ namespace OpenSim.Region.Framework.Scenes
755 AttachmentsSyncLock = new Object(); 746 AttachmentsSyncLock = new Object();
756 747
757 m_sendCourseLocationsMethod = SendCoarseLocationsDefault; 748 m_sendCourseLocationsMethod = SendCoarseLocationsDefault;
758 SceneViewer = new SceneViewer(this);
759 Animator = new ScenePresenceAnimator(this); 749 Animator = new ScenePresenceAnimator(this);
760 PresenceType = type; 750 PresenceType = type;
761 DrawDistance = world.DefaultDrawDistance; 751 DrawDistance = world.DefaultDrawDistance;
@@ -866,16 +856,6 @@ namespace OpenSim.Region.Framework.Scenes
866 return m_scene.Permissions.GenerateClientFlags(m_uuid, ObjectID); 856 return m_scene.Permissions.GenerateClientFlags(m_uuid, ObjectID);
867 } 857 }
868 858
869 /// <summary>
870 /// Send updates to the client about prims which have been placed on the update queue. We don't
871 /// necessarily send updates for all the parts on the queue, e.g. if an updates with a more recent
872 /// timestamp has already been sent.
873 /// </summary>
874 public void SendPrimUpdates()
875 {
876 SceneViewer.SendPrimUpdates();
877 }
878
879 #region Status Methods 859 #region Status Methods
880 860
881 /// <summary> 861 /// <summary>
@@ -2412,10 +2392,6 @@ namespace OpenSim.Region.Framework.Scenes
2412 const float ROTATION_TOLERANCE = 0.01f; 2392 const float ROTATION_TOLERANCE = 0.01f;
2413 const float VELOCITY_TOLERANCE = 0.001f; 2393 const float VELOCITY_TOLERANCE = 0.001f;
2414 const float POSITION_TOLERANCE = 0.05f; 2394 const float POSITION_TOLERANCE = 0.05f;
2415 //const int TIME_MS_TOLERANCE = 3000;
2416
2417 if (!sendingPrims)
2418 Util.FireAndForget(delegate { sendingPrims = true; SendPrimUpdates(); sendingPrims = false; });
2419 2395
2420 if (IsChildAgent == false) 2396 if (IsChildAgent == false)
2421 { 2397 {
@@ -2427,7 +2403,6 @@ namespace OpenSim.Region.Framework.Scenes
2427 if (!Rotation.ApproxEquals(m_lastRotation, ROTATION_TOLERANCE) || 2403 if (!Rotation.ApproxEquals(m_lastRotation, ROTATION_TOLERANCE) ||
2428 !Velocity.ApproxEquals(m_lastVelocity, VELOCITY_TOLERANCE) || 2404 !Velocity.ApproxEquals(m_lastVelocity, VELOCITY_TOLERANCE) ||
2429 !m_pos.ApproxEquals(m_lastPosition, POSITION_TOLERANCE)) 2405 !m_pos.ApproxEquals(m_lastPosition, POSITION_TOLERANCE))
2430 //Environment.TickCount - m_lastTerseSent > TIME_MS_TOLERANCE)
2431 { 2406 {
2432 SendTerseUpdateToAllClients(); 2407 SendTerseUpdateToAllClients();
2433 2408
@@ -2435,7 +2410,6 @@ namespace OpenSim.Region.Framework.Scenes
2435 m_lastPosition = m_pos; 2410 m_lastPosition = m_pos;
2436 m_lastRotation = Rotation; 2411 m_lastRotation = Rotation;
2437 m_lastVelocity = Velocity; 2412 m_lastVelocity = Velocity;
2438 //m_lastTerseSent = Environment.TickCount;
2439 } 2413 }
2440 2414
2441 // followed suggestion from mic bowman. reversed the two lines below. 2415 // followed suggestion from mic bowman. reversed the two lines below.
@@ -3418,8 +3392,6 @@ namespace OpenSim.Region.Framework.Scenes
3418 // unsetting the elapsed callback should be enough to allow for cleanup however. 3392 // unsetting the elapsed callback should be enough to allow for cleanup however.
3419 // m_reprioritizationTimer.Dispose(); 3393 // m_reprioritizationTimer.Dispose();
3420 3394
3421 SceneViewer.Close();
3422
3423 RemoveFromPhysicalScene(); 3395 RemoveFromPhysicalScene();
3424 Animator.Close(); 3396 Animator.Close();
3425 Animator = null; 3397 Animator = null;