* Set default client throttle multiplier to 2 (old value was effectively 8). See OpenSim.ini.example for details as to what this means
* Really this should be 1, but I think that this would be too slow compared to a Second Life server until we improve our ability to send textures of variable quality * This may improve one aspect of sim performance where there are many avatars. However, there are still other performance problems that are unrelated to this change * Value may be further tuned * Removed temporary decals since the multipler setting will stick around now0.6.0-stable
parent
204ef95843
commit
fc36d7fdf2
|
@ -127,7 +127,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
|
|
||||||
TotalThrottle
|
TotalThrottle
|
||||||
= new LLPacketThrottle(
|
= new LLPacketThrottle(
|
||||||
totalThrottleSettings.Min, totalThrottleSettings.Max, totalThrottleSettings.Current, userSettings.ClientThrottleMultipler);
|
totalThrottleSettings.Min, totalThrottleSettings.Max, totalThrottleSettings.Current,
|
||||||
|
userSettings.ClientThrottleMultipler);
|
||||||
|
|
||||||
throttleTimer = new Timer((int) (throttletimems/throttleTimeDivisor));
|
throttleTimer = new Timer((int) (throttletimems/throttleTimeDivisor));
|
||||||
throttleTimer.Elapsed += new ElapsedEventHandler(ThrottleTimerElapsed);
|
throttleTimer.Elapsed += new ElapsedEventHandler(ThrottleTimerElapsed);
|
||||||
|
|
|
@ -36,7 +36,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
private int m_currentBitsSent;
|
private int m_currentBitsSent;
|
||||||
|
|
||||||
/// <value>
|
/// <value>
|
||||||
/// Temporary field
|
/// Value with which to multiply all the throttle fields
|
||||||
/// </value>
|
/// </value>
|
||||||
private float m_throttleMultiplier;
|
private float m_throttleMultiplier;
|
||||||
|
|
||||||
|
@ -47,8 +47,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
/// <param name="max"></param>
|
/// <param name="max"></param>
|
||||||
/// <param name="throttle"></param>
|
/// <param name="throttle"></param>
|
||||||
/// <param name="throttleMultiplier">
|
/// <param name="throttleMultiplier">
|
||||||
/// A temporary parameter that's ends up multiplying all throttle settings. This only exists as a path to
|
/// A parameter that's ends up multiplying all throttle settings. An alternative solution would have been
|
||||||
/// using real throttle values instead of the *8 multipler that we had been using (bytes instead of btis)
|
/// to multiply all the parameters by this before giving them to the constructor. But doing it this way
|
||||||
|
/// represents the fact that the multiplier is a hack that pumps data to clients much faster than the actual
|
||||||
|
/// settings that we are given.
|
||||||
/// </param>
|
/// </param>
|
||||||
public LLPacketThrottle(int min, int max, int throttle, float throttleMultiplier)
|
public LLPacketThrottle(int min, int max, int throttle, float throttleMultiplier)
|
||||||
{
|
{
|
||||||
|
@ -81,7 +83,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
return m_currentBitsSent;
|
return m_currentBitsSent;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Properties
|
|
||||||
public int Max
|
public int Max
|
||||||
{
|
{
|
||||||
get { return m_maxAllowableThrottle; }
|
get { return m_maxAllowableThrottle; }
|
||||||
|
|
|
@ -149,7 +149,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
AssetCache assetCache, AgentCircuitManager circuitManager)
|
AssetCache assetCache, AgentCircuitManager circuitManager)
|
||||||
{
|
{
|
||||||
ClientStackUserSettings userSettings = new ClientStackUserSettings();
|
ClientStackUserSettings userSettings = new ClientStackUserSettings();
|
||||||
userSettings.ClientThrottleMultipler = 8;
|
userSettings.ClientThrottleMultipler = 2; // default. TODO: Should be a constant somewhere
|
||||||
|
|
||||||
IConfig config = configSource.Configs["ClientStack.LindenUDP"];
|
IConfig config = configSource.Configs["ClientStack.LindenUDP"];
|
||||||
|
|
||||||
|
|
|
@ -205,11 +205,24 @@ inventory_server_url = "http://127.0.0.1:8004"
|
||||||
messaging_server_url = "http://127.0.0.1:8006"
|
messaging_server_url = "http://127.0.0.1:8006"
|
||||||
|
|
||||||
[ClientStack.LindenUDP]
|
[ClientStack.LindenUDP]
|
||||||
; Adjust the multiplier applied to all client throttles
|
; This is the multiplier applied to all client throttles for outgoing UDP network data
|
||||||
; This setting only exists because we're probably over throttling by a factor of 8. Setting this to
|
; If it is set to 1, then we obey the throttle settings as given to us by the client. If it is set to 3, for example, then we
|
||||||
; 1 uses the real throttle values, but this may be revealing other bugs, so is currently included as test setting
|
; multiply that setting by 3 (e.g. if the client gives us a setting of 250 kilobits per second then we
|
||||||
; You probably don't want to change this.
|
; will actually push down data at a maximum rate of 750 kilobits per second).
|
||||||
client_throttle_multiplier = 8;
|
;
|
||||||
|
; In principle, setting a multiplier greater than 1 will allow data to be pushed down to a client much faster
|
||||||
|
; than its UI allows the setting to go. This may be okay in some situations, such as standalone OpenSim
|
||||||
|
; applications on a LAN. However, the greater the multipler, the higher the risk of packet drop, resulting
|
||||||
|
; in symptoms such as missing terrain or objects. A much better solution is to change the client UI to allow
|
||||||
|
; higher network bandwidth settings directly, though this isn't always possible.
|
||||||
|
;
|
||||||
|
; Currently this setting is 2 by default because we currently send much more texture data than is strictly
|
||||||
|
; necessary. A setting of 1 could result in slow texture transfer. This will be fixed when the transfer
|
||||||
|
; of textures at different levels of quality is improved.
|
||||||
|
;
|
||||||
|
; Pre r7113, this setting was not exposed but was effectively 8. You may want to try this if you encounter
|
||||||
|
; unexpected difficulties
|
||||||
|
client_throttle_multiplier = 2;
|
||||||
|
|
||||||
[Chat]
|
[Chat]
|
||||||
whisper_distance = 10
|
whisper_distance = 10
|
||||||
|
|
Loading…
Reference in New Issue