Commit Graph

15 Commits

Author SHA1 Message Date
Dr Scofield
afd5f76648 From: Alan Webb <alan_webb@us.ibm.com>
This change moves texture send processing out of the main
  packet processing loop and moves it to a timer based
  processing cycle.

  Texture packets are sent to the client consistently over
  time. The timer is discontinued whenever there are no
  textures to transmit.

  The behavior of the texture sending mechanism is controlled
  by three variables in the LLCLient section of the config
  file:

   [1] TextureRequestRate (mS) determines how many times per second
       texture send processing will occur. The default is 100mS.
   [2] TextureSendLimit determines how many different textures
       will be considered on each cycle. Textures are selected
       by priority. The old mechanism specified a value of 10 for
       this parameter and this is the default
   [3] TextureDataLimit determines how many packets will be sent for
       each of the selected textures. The old mechanism specified a
       value of 5, so this is the default.

  So the net effect is that TextureSendLimit*TextureDataLimit
  packets will be sent every TextureRequestRate mS.

  Once we have gotten a reasonable feeling for how these parameters
  affect overall processing, it would be nice to autonmically manage
  these values using information about the current status of the
  region and network.

  Note that this also resolves the pathologcal problem that
  previously existed which was that a seated avatar generated very
  few in-bound packets (theoretically) and would therefore be the
  least able to retrieve the images being displayed by a
  projector script.
2009-06-25 07:42:06 +00:00
Jeff Ames
840de6c036 Minor: Change OpenSim to OpenSimulator in older copyright headers and LICENSE.txt. 2009-06-01 06:37:14 +00:00
diva
275e53b126 This may bring the missing texture back. 2009-05-28 15:05:00 +00:00
diva
5e4fc6e91e Heart surgery on asset service code bits. Affects OpenSim.ini configuration -- please see the example. Affects region servers only.
This may break a lot of things, but it needs to go in. It was tested in standalone and the UCI grid, but it needs a lot more testing.
Known problems: 
* HG asset transfers are borked for now
* missing texture is missing
* 3 unit tests commented out for now
2009-05-15 05:00:25 +00:00
Jeff Ames
8ea12ad6c0 Add copyright header. Formatting cleanup. Ignore some generated files. 2009-05-05 09:59:15 +00:00
Justin Clarke Casey
257fc5515a * minor: remove some mono compiler warnings, minor cleanup 2009-05-04 15:38:36 +00:00
Melanie Thielker
e2327384e0 Catch another j2k decode exception that can be caused by a bad asset 2009-04-29 21:01:01 +00:00
Melanie Thielker
98cdc1efdd Fix a crash that will hit when an image asset is truncated in storage 2009-04-29 20:32:40 +00:00
Dr Scofield
458f7eb9b3 cleaning up, fixing warnings 2009-04-22 09:42:44 +00:00
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
Teravus Ovares
ab83af0341 * Set eol-style: native on J2KImage.cs 2009-04-13 23:06:29 +00:00
Teravus Ovares
9371df52cb *Bypass J2kDecoder when asset is null 2009-04-13 15:18:38 +00:00
Sean Dague
532ae6d925 if Data is null, shortcut to client.SendImageNotFound, as any other
option at this point is going to give us a NullReferenceException
2009-04-13 15:08:06 +00:00
Sean Dague
b2e5f03942 catch for a null asset so we don't get an exception here, though this
probably just makes the decoder break somewhere else.
2009-04-13 14:52:23 +00:00
Sean Dague
58fd013929 put J2KImage into it's own file, please no doubling up on classes in
files
2009-04-13 14:52:14 +00:00