mirror of
https://github.com/opensim/opensim.git
synced 2026-08-07 09:45:47 +08:00
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).
This commit is contained in:
@@ -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<ScenePresence> 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);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
@@ -649,6 +663,22 @@ namespace OpenSim.Region.Environment.Scenes
|
||||
m_text, ParentID, this.m_particleSystem, lRot);
|
||||
}
|
||||
|
||||
/// Terse updates
|
||||
|
||||
public void AddTerseUpdateToAllAvatars()
|
||||
{
|
||||
List<ScenePresence> 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);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
|
||||
Reference in New Issue
Block a user