From 804e87861b95f08590cff8a84a4b9955f1750452 Mon Sep 17 00:00:00 2001 From: MW Date: Thu, 6 Sep 2007 14:15:16 +0000 Subject: added experimental method of trying to relieve missing prim problem (by adding a limit of the number of prim update packets sent in each update loop). --- .../Region/Environment/Scenes/SceneObjectPart.cs | 34 ++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) (limited to 'OpenSim/Region/Environment/Scenes/SceneObjectPart.cs') diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs index 65a995a..dec017e 100644 --- a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs @@ -391,14 +391,14 @@ namespace OpenSim.Region.Environment.Scenes { if (m_updateFlag == 1) //some change has been made so update the clients { - SendTerseUpdateToAllClients(); + AddTerseUpdateToAllAvatars(); ClearUpdateSchedule(); } else { if (m_updateFlag == 2) // is a new prim, just created/reloaded or has major changes { - SendFullUpdateToAllClients(); + AddFullUpdateToAllAvatars(); ClearUpdateSchedule(); } } @@ -603,6 +603,20 @@ namespace OpenSim.Region.Environment.Scenes #endregion #region Client Update Methods + public void AddFullUpdateToAllAvatars() + { + List avatars = this.m_parentGroup.RequestSceneAvatars(); + for (int i = 0; i < avatars.Count; i++) + { + avatars[i].AddFullPart(this); + } + } + + public void AddFullUpdateToAvatar(ScenePresence presence) + { + presence.AddFullPart(this); + } + /// /// /// @@ -649,6 +663,22 @@ namespace OpenSim.Region.Environment.Scenes m_text, ParentID, this.m_particleSystem, lRot); } + /// Terse updates + + public void AddTerseUpdateToAllAvatars() + { + List avatars = this.m_parentGroup.RequestSceneAvatars(); + for (int i = 0; i < avatars.Count; i++) + { + avatars[i].AddTersePart(this); + } + } + + public void AddTerseUpdateToAvatar(ScenePresence presence) + { + presence.AddTersePart(this); + } + /// /// /// -- cgit v1.1