When a client connects to a scene, send other avatar appearance data asynchronously to reduce hold up in the IN UDP packet processing loop.
This is already being done for the initial object data send.0.7.2-post-fixes
parent
d26ded4788
commit
8c4e58995d
|
@ -2495,15 +2495,15 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
|
|
||||||
public void SendInitialDataToMe()
|
public void SendInitialDataToMe()
|
||||||
{
|
{
|
||||||
// we created a new ScenePresence (a new child agent) in a fresh region.
|
|
||||||
// Request info about all the (root) agents in this region
|
|
||||||
// Note: This won't send data *to* other clients in that region (children don't send)
|
|
||||||
SendOtherAgentsAvatarDataToMe();
|
|
||||||
SendOtherAgentsAppearanceToMe();
|
|
||||||
|
|
||||||
// Send all scene object to the new client
|
// Send all scene object to the new client
|
||||||
Util.FireAndForget(delegate
|
Util.FireAndForget(delegate
|
||||||
{
|
{
|
||||||
|
// we created a new ScenePresence (a new child agent) in a fresh region.
|
||||||
|
// Request info about all the (root) agents in this region
|
||||||
|
// Note: This won't send data *to* other clients in that region (children don't send)
|
||||||
|
SendOtherAgentsAvatarDataToMe();
|
||||||
|
SendOtherAgentsAppearanceToMe();
|
||||||
|
|
||||||
EntityBase[] entities = Scene.Entities.GetEntities();
|
EntityBase[] entities = Scene.Entities.GetEntities();
|
||||||
foreach(EntityBase e in entities)
|
foreach(EntityBase e in entities)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue