aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorDiva Canto2013-08-01 09:27:44 -0700
committerDiva Canto2013-08-01 09:27:44 -0700
commit59b461ac0eaae1cc34bb82431106fdf0476037f3 (patch)
tree648225cea5acef055c616c57efa171938558e211
parentInclude missing reference that probably stops windows build from commit 12995... (diff)
downloadopensim-SC_OLD-59b461ac0eaae1cc34bb82431106fdf0476037f3.zip
opensim-SC_OLD-59b461ac0eaae1cc34bb82431106fdf0476037f3.tar.gz
opensim-SC_OLD-59b461ac0eaae1cc34bb82431106fdf0476037f3.tar.bz2
opensim-SC_OLD-59b461ac0eaae1cc34bb82431106fdf0476037f3.tar.xz
Issue: painfully slow terrain loading. The cause is commit d9d995914c5fba00d4ccaf66b899384c8ea3d5eb (r/23185) -- the WaitOne on the UDPServer. Putting it back to how it was done solves the issue. But this may impact CPU usage, so I'm pushing it to test if it does.
-rw-r--r--OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs10
1 files changed, 5 insertions, 5 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
index 85fe1a4..942c044 100644
--- a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
@@ -246,7 +246,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
246 /// This allows the outbound loop to only operate when there is data to send rather than continuously polling. 246 /// This allows the outbound loop to only operate when there is data to send rather than continuously polling.
247 /// Some data is sent immediately and not queued. That data would not trigger this event. 247 /// Some data is sent immediately and not queued. That data would not trigger this event.
248 /// </remarks> 248 /// </remarks>
249 private AutoResetEvent m_dataPresentEvent = new AutoResetEvent(false); 249 //private AutoResetEvent m_dataPresentEvent = new AutoResetEvent(false);
250 250
251 private Pool<IncomingPacket> m_incomingPacketPool; 251 private Pool<IncomingPacket> m_incomingPacketPool;
252 252
@@ -907,7 +907,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
907 907
908 PacketPool.Instance.ReturnPacket(packet); 908 PacketPool.Instance.ReturnPacket(packet);
909 909
910 m_dataPresentEvent.Set(); 910 //m_dataPresentEvent.Set();
911 } 911 }
912 912
913 /// <summary> 913 /// <summary>
@@ -1919,12 +1919,12 @@ namespace OpenSim.Region.ClientStack.LindenUDP
1919 1919
1920 // If nothing was sent, sleep for the minimum amount of time before a 1920 // If nothing was sent, sleep for the minimum amount of time before a
1921 // token bucket could get more tokens 1921 // token bucket could get more tokens
1922 //if (!m_packetSent) 1922 if (!m_packetSent)
1923 // Thread.Sleep((int)TickCountResolution); 1923 Thread.Sleep((int)TickCountResolution);
1924 // 1924 //
1925 // Instead, now wait for data present to be explicitly signalled. Evidence so far is that with 1925 // Instead, now wait for data present to be explicitly signalled. Evidence so far is that with
1926 // modern mono it reduces CPU base load since there is no more continuous polling. 1926 // modern mono it reduces CPU base load since there is no more continuous polling.
1927 m_dataPresentEvent.WaitOne(100); 1927 //m_dataPresentEvent.WaitOne(100);
1928 1928
1929 Watchdog.UpdateThread(); 1929 Watchdog.UpdateThread();
1930 } 1930 }