diff options
author | Diva Canto | 2013-07-13 09:46:58 -0700 |
---|---|---|
committer | Diva Canto | 2013-07-13 09:46:58 -0700 |
commit | a412b1d6823141129bef3ab906c6590eb6a81c72 (patch) | |
tree | 95398de72d494bb32c710d43ab2b253d972fc6fe /OpenSim/Region/ClientStack | |
parent | Added UploadBakedTexture/UploadBakedTextureServerConnector, so that this can ... (diff) | |
download | opensim-SC_OLD-a412b1d6823141129bef3ab906c6590eb6a81c72.zip opensim-SC_OLD-a412b1d6823141129bef3ab906c6590eb6a81c72.tar.gz opensim-SC_OLD-a412b1d6823141129bef3ab906c6590eb6a81c72.tar.bz2 opensim-SC_OLD-a412b1d6823141129bef3ab906c6590eb6a81c72.tar.xz |
Moved SendInitialDataToMe to earlier in CompleteMovement. Moved TriggerOnMakeRootAgent to the end of CompleteMovement.
Justin, if you read this, there's a long story here. Some time ago you placed SendInitialDataToMe at the very beginning of client creation (in LLUDPServer). That is problematic, as we discovered relatively recently: on TPs, as soon as the client starts getting data from child agents, it starts requesting resources back *from the simulator where its root agent is*. We found this to be the problem behind meshes missing on HG TPs (because the viewer was requesting the meshes of the receiving sim from the departing grid). But this affects much more than meshes and HG TPs. It may also explain cloud avatars after a local TP: baked textures are only stored in the simulator, so if a child agent receives a UUID of a baked texture in the destination sim and requests that texture from the departing sim where the root agent is, it will fail to get that texture.
Bottom line: we need to delay sending the new simulator data to the viewer until we are absolutely sure that the viewer knows that its main agent is in a new sim. Hence, moving it to CompleteMovement.
Now I am trying to tune the initial rez delay that we all experience in the CC. I think that when I fixed the issue described above, I may have moved SendInitialDataToMe to much later than it should be, so now I'm moving to earlier in CompleteMovement.
Diffstat (limited to 'OpenSim/Region/ClientStack')
-rw-r--r-- | OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs index 2aab4f9..85270a6 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs | |||
@@ -1469,7 +1469,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
1469 | { | 1469 | { |
1470 | AgentCircuitData aCircuit = m_scene.AuthenticateHandler.GetAgentCircuitData(uccp.CircuitCode.Code); | 1470 | AgentCircuitData aCircuit = m_scene.AuthenticateHandler.GetAgentCircuitData(uccp.CircuitCode.Code); |
1471 | bool tp = (aCircuit.teleportFlags > 0); | 1471 | bool tp = (aCircuit.teleportFlags > 0); |
1472 | // Let's delay this for TP agents, otherwise the viewer doesn't know where to get meshes from | 1472 | // Let's delay this for TP agents, otherwise the viewer doesn't know where to get resources from |
1473 | if (!tp) | 1473 | if (!tp) |
1474 | client.SceneAgent.SendInitialDataToMe(); | 1474 | client.SceneAgent.SendInitialDataToMe(); |
1475 | } | 1475 | } |