* Patch from RemedyTomm Mantis 3440

* Revamps the server side texture pipeline
* Textures should load faster, get clogged less, and be less blurry
* Minor tweak to ensure the outgoing texture throttle stays private.
* Fixes mantis 3440
This commit is contained in:
Teravus Ovares
2009-04-10 08:30:21 +00:00
parent 8e6c20b27f
commit 515bf6d7dc
6 changed files with 491 additions and 552 deletions

View File

@@ -4430,7 +4430,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
// in the end, we dereference this, so we have to check if it's null
if (m_imageManager != null)
m_imageManager.ProcessImageQueue(3);
m_imageManager.ProcessImageQueue(5);
return;
}
@@ -6041,7 +6041,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
case PacketType.RequestImage:
RequestImagePacket imageRequest = (RequestImagePacket)Pack;
//m_log.Debug("image request: " + Pack.ToString());
#region Packet Session and User Check
if (m_checkPackets)
{
@@ -6062,6 +6062,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
args.DiscardLevel = imageRequest.RequestImage[i].DiscardLevel;
args.PacketNumber = imageRequest.RequestImage[i].Packet;
args.Priority = imageRequest.RequestImage[i].DownloadPriority;
args.requestSequence = imageRequest.Header.Sequence;
//handlerTextureRequest = OnRequestTexture;
@@ -9114,7 +9115,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
// in the end, we dereference this, so we have to check if it's null
if (m_imageManager != null )
m_imageManager.ProcessImageQueue(3);
m_imageManager.ProcessImageQueue(10);
PacketPool.Instance.ReturnPacket(Pack);
}

File diff suppressed because it is too large Load Diff

View File

@@ -82,6 +82,20 @@ namespace OpenSim.Region.ClientStack.LindenUDP
internal LLPacketThrottle AssetThrottle;
internal LLPacketThrottle TextureThrottle;
internal LLPacketThrottle TotalThrottle;
/// <summary>
/// The number of packets in the OutgoingPacketQueue
///
/// </summary>
internal int TextureOutgoingPacketQueueCount
{
get
{
if (TextureOutgoingPacketQueue == null)
return 0;
return TextureOutgoingPacketQueue.Count;
}
}
// private long LastThrottle;
// private long ThrottleInterval;