* 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 34400.6.5-rc1
parent
8e6c20b27f
commit
515bf6d7dc
|
@ -81,6 +81,7 @@ Patches
|
||||||
* nornalbion
|
* nornalbion
|
||||||
* openlifegrid.com
|
* openlifegrid.com
|
||||||
* ralphos
|
* ralphos
|
||||||
|
* RemedyTomm
|
||||||
* rtomita
|
* rtomita
|
||||||
* Ruud Lathorp
|
* Ruud Lathorp
|
||||||
* SachaMagne
|
* SachaMagne
|
||||||
|
|
|
@ -36,6 +36,7 @@ namespace OpenSim.Framework
|
||||||
private uint m_packetNumber;
|
private uint m_packetNumber;
|
||||||
private float m_priority;
|
private float m_priority;
|
||||||
private int m_requestType;
|
private int m_requestType;
|
||||||
|
private uint m_requestsequence;
|
||||||
protected UUID m_requestedAssetID;
|
protected UUID m_requestedAssetID;
|
||||||
|
|
||||||
public float Priority
|
public float Priority
|
||||||
|
@ -53,6 +54,12 @@ namespace OpenSim.Framework
|
||||||
set { m_packetNumber = value; }
|
set { m_packetNumber = value; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public uint requestSequence
|
||||||
|
{
|
||||||
|
get { return m_requestsequence; }
|
||||||
|
set { m_requestsequence = value; }
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
///
|
///
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
@ -4430,7 +4430,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
|
|
||||||
// in the end, we dereference this, so we have to check if it's null
|
// in the end, we dereference this, so we have to check if it's null
|
||||||
if (m_imageManager != null)
|
if (m_imageManager != null)
|
||||||
m_imageManager.ProcessImageQueue(3);
|
m_imageManager.ProcessImageQueue(5);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6062,6 +6062,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
args.DiscardLevel = imageRequest.RequestImage[i].DiscardLevel;
|
args.DiscardLevel = imageRequest.RequestImage[i].DiscardLevel;
|
||||||
args.PacketNumber = imageRequest.RequestImage[i].Packet;
|
args.PacketNumber = imageRequest.RequestImage[i].Packet;
|
||||||
args.Priority = imageRequest.RequestImage[i].DownloadPriority;
|
args.Priority = imageRequest.RequestImage[i].DownloadPriority;
|
||||||
|
args.requestSequence = imageRequest.Header.Sequence;
|
||||||
|
|
||||||
//handlerTextureRequest = OnRequestTexture;
|
//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
|
// in the end, we dereference this, so we have to check if it's null
|
||||||
if (m_imageManager != null )
|
if (m_imageManager != null )
|
||||||
m_imageManager.ProcessImageQueue(3);
|
m_imageManager.ProcessImageQueue(10);
|
||||||
PacketPool.Instance.ReturnPacket(Pack);
|
PacketPool.Instance.ReturnPacket(Pack);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -83,6 +83,20 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
internal LLPacketThrottle TextureThrottle;
|
internal LLPacketThrottle TextureThrottle;
|
||||||
internal LLPacketThrottle TotalThrottle;
|
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 LastThrottle;
|
||||||
// private long ThrottleInterval;
|
// private long ThrottleInterval;
|
||||||
private Timer throttleTimer;
|
private Timer throttleTimer;
|
||||||
|
|
|
@ -676,8 +676,21 @@ namespace OpenSim.Region.UserStatistics
|
||||||
{
|
{
|
||||||
m_log.Debug("INSERT");
|
m_log.Debug("INSERT");
|
||||||
updatecmd.CommandText = SQL_STATS_TABLE_INSERT;
|
updatecmd.CommandText = SQL_STATS_TABLE_INSERT;
|
||||||
|
try
|
||||||
|
{
|
||||||
updatecmd.ExecuteNonQuery();
|
updatecmd.ExecuteNonQuery();
|
||||||
}
|
}
|
||||||
|
catch
|
||||||
|
(SqliteExecutionException)
|
||||||
|
{
|
||||||
|
m_log.Warn("[WEBSTATS]: failed to write stats to storage Execution Exception");
|
||||||
|
}
|
||||||
|
catch (SqliteSyntaxException)
|
||||||
|
{
|
||||||
|
m_log.Warn("[WEBSTATS]: failed to write stats to storage SQL Syntax Exception");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue