mirror of
https://github.com/opensim/opensim.git
synced 2026-08-11 11:57:03 +08:00
* This update contains a bucket-full of network optimizations.
* ParcelProperties are sent only when needed instead of on any movement * Terse Updates and other temporary data packets are marked unreliable * After a certain amount of users, the sim actually sends updates on things less * Experimental * Tested to 68 avatar with pCampBot (And it's surprising what actually causes the most lag.. the text chat!)
This commit is contained in:
@@ -718,23 +718,32 @@ namespace OpenSim.Region.Environment.LandManagement
|
||||
}
|
||||
}
|
||||
|
||||
public void sendLandUpdate(ScenePresence avatar)
|
||||
public void sendLandUpdate(ScenePresence avatar, bool force)
|
||||
{
|
||||
Land over = getLandObject((int) Math.Min(255, Math.Max(0, Math.Round(avatar.AbsolutePosition.X))),
|
||||
(int) Math.Min(255, Math.Max(0, Math.Round(avatar.AbsolutePosition.Y))));
|
||||
|
||||
if (over != null)
|
||||
{
|
||||
over.sendLandUpdateToClient(avatar.ControllingClient);
|
||||
if (force)
|
||||
{
|
||||
over.sendLandUpdateToClient(avatar.ControllingClient);
|
||||
}
|
||||
|
||||
if (avatar.currentParcelUUID != over.landData.globalID)
|
||||
{
|
||||
over.sendLandUpdateToClient(avatar.ControllingClient);
|
||||
avatar.currentParcelUUID = over.landData.globalID;
|
||||
m_scene.EventManager.TriggerAvatarEnteringNewParcel(avatar, over.landData.localID,
|
||||
m_scene.RegionInfo.RegionID);
|
||||
}
|
||||
}
|
||||
}
|
||||
public void sendLandUpdate(ScenePresence avatar)
|
||||
{
|
||||
sendLandUpdate(avatar, false);
|
||||
|
||||
}
|
||||
public void handleSignificantClientMovement(IClientAPI remote_client)
|
||||
{
|
||||
ScenePresence clientAvatar = m_scene.GetScenePresence(remote_client.AgentId);
|
||||
|
||||
Reference in New Issue
Block a user