From 4f6efa024981d9cb988e150bad42a72887fed46a Mon Sep 17 00:00:00 2001 From: Arthur Valadares Date: Mon, 29 Jun 2009 19:24:30 +0000 Subject: * C# compiler is not smart enough to understand ClientLoop is under very heavy usage and inline DebugPacket, so DebugPacket is run as a method, causing Packet to be constantly pushed and popped uselessly, if you are not debugging packets. This showed some really big difference in a mock test, let's see how it behaves here. --- .../Region/ClientStack/LindenUDP/LLClientView.cs | 51 +++++++++++----------- 1 file changed, 25 insertions(+), 26 deletions(-) (limited to 'OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs') diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index b9ac265..3813367 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs @@ -809,33 +809,30 @@ namespace OpenSim.Region.ClientStack.LindenUDP protected void DebugPacket(string direction, Packet packet) { - if (m_debugPacketLevel > 0) - { - string info; - - if (m_debugPacketLevel < 255 && packet.Type == PacketType.AgentUpdate) - return; - if (m_debugPacketLevel < 254 && packet.Type == PacketType.ViewerEffect) - return; - if (m_debugPacketLevel < 253 && ( - packet.Type == PacketType.CompletePingCheck || - packet.Type == PacketType.StartPingCheck - )) - return; - if (m_debugPacketLevel < 252 && packet.Type == PacketType.PacketAck) - return; + string info; - if (m_debugPacketLevel > 1) - { - info = packet.ToString(); - } - else - { - info = packet.Type.ToString(); - } + if (m_debugPacketLevel < 255 && packet.Type == PacketType.AgentUpdate) + return; + if (m_debugPacketLevel < 254 && packet.Type == PacketType.ViewerEffect) + return; + if (m_debugPacketLevel < 253 && ( + packet.Type == PacketType.CompletePingCheck || + packet.Type == PacketType.StartPingCheck + )) + return; + if (m_debugPacketLevel < 252 && packet.Type == PacketType.PacketAck) + return; - Console.WriteLine(m_circuitCode + ":" + direction + ": " + info); + if (m_debugPacketLevel > 1) + { + info = packet.ToString(); } + else + { + info = packet.Type.ToString(); + } + + Console.WriteLine(m_circuitCode + ":" + direction + ": " + info); } /// @@ -853,12 +850,14 @@ namespace OpenSim.Region.ClientStack.LindenUDP if (nextPacket.Incoming) { - DebugPacket("IN", nextPacket.Packet); + if (m_debugPacketLevel > 0) + DebugPacket("IN", nextPacket.Packet); m_PacketHandler.ProcessInPacket(nextPacket); } else { - DebugPacket("OUT", nextPacket.Packet); + if (m_debugPacketLevel > 0) + DebugPacket("OUT", nextPacket.Packet); m_PacketHandler.ProcessOutPacket(nextPacket); } } -- cgit v1.1