Commit Graph

13 Commits

Author SHA1 Message Date
Charles Krinke
2578db3dfa Thank you kindly, RemedyTomm for a patch that:
Following feedback from 0003440, i've made some changes to the new texture pipeline to optimise
 performance. The changes are:
 - Fixed a math issue where a small percentage of images with a certain size (on the packet boundary) would not have their final data delivered. This issue has been present since pre- 0003440
 - It was suggested that a discardlevel of -1 and a prioriy of 0 meant to abandon the transfer, this is incorrect and caused some textures to clog.
 - The texture throttle blocking queue is now only filled in relation to the actual throttle amount.. i.e, on a connection throttled to 300k, only twenty packets will be placed in the queue at a time, on a larger connection it will be much more. This is to balance responsiveness to requests and speed, and to minimise wasted packets.
 - The engine now keeps track of the number of pending textures, and the stack will not be walked if there's no textures pending, saving CPU. Textures are only considered "pending" when they've already been decoded.
 - As part of the above, some textures may receive twice as much data per cycle if the number of pending textures is below the cycle threshold, this should prevent loading from slowing down when there are fewer textures in the queue.
2009-04-18 18:35:03 +00:00
Justin Clarke Casey
2e79fd0f0c * minor: Minor documentation and small minor change on LLPacketThrottle to remove some unnecessary lines 2008-12-17 17:01:02 +00:00
Melanie Thielker
a5343c5404 Add repecting the min and max values back in 2008-12-17 09:55:10 +00:00
Melanie Thielker
e394e1c06f Remove a major bottleneck in throttling code. 2008-12-17 09:52:52 +00:00
Melanie Thielker
02a28a6992 Avoid checking the throttle limit for empty queues 2008-12-17 09:30:56 +00:00
Justin Clarke Casey
f7f448bc78 * Fix capitalization typoes in packet throttle that happened to be the name of existing fields
* This should (hopefully) allow TestClient and stuff built on top of it to work again
* Will probably come back later and change variable names to stop this happening again
2008-11-05 22:17:47 +00:00
Justin Clarke Casey
fc36d7fdf2 * 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 now
2008-11-05 19:23:59 +00:00
Justin Clarke Casey
4ff0c39153 * Expose a client_throttle_multiplier setting in OpenSim.ini. This multiplier is applied to all the client throttle settings received by the client
* This should probably be 1, but currently by default it is 8, to reflect what was being eon3 in OpenSim before this revision.  So if the client requested a maximum throttle 
of 1500 kilobits per second, we would actually send out 1500 kilobytes per second
* Adjusting this multiplier down towards 1 may improve your OpenSim experience, though in other situations it may degrade (e.g. if you're using a standalone over high bandwidth 
links)
* This is currently a user setting because adjusting it down may currently reveal other OpenSim bugs.
2008-11-03 21:09:30 +00:00
Justin Clarke Casey
914c733505 * Temporarily revert r6714 which changed agent throttle number interpretation
* I suspect the restriction stopped the very large number of packet resends that occur on certain operations, which led to other failures.
2008-10-07 20:04:43 +00:00
Justin Clarke Casey
33d957207c * Change interpretation of asset throttle values to bits per second rather than bytes per second
* Changing network bandwidth in the preferences will now have a much more noticeable effect - a user may want to increase this if data is being slow to download from opensim
2008-10-06 16:48:41 +00:00
lbsa71
9dbb6f28bc * eliminated some warnings and added some const and readonlies
* refactored some member names for readability and ccc (code convention conformance)
* took away two refs from Rest.Inventory since
   * System.IO is part of System
   * System.Xml.Serialization is part of System.Xml
2008-07-21 10:02:55 +00:00
Sean Dague
1edb7992f1 fixed the dos line endings 2008-05-02 19:21:33 +00:00
Adam Frisby
29b8c84cea * Commit 2/3 - Please dont attempt to update to this revision until all 3 are in. 2008-05-02 16:41:08 +00:00