|
|
|
Michelle,
The server should not be downloading the map as an image in the first place. The creation of a map image needs to be in Viewer. - Each component that makes up the map needs to be downloaded from server as an ID and TYPE. - On next viewing of a map, - all that should be requested of the server (after sending the datetime of last download to server) is the location. Only the incremental changes will then be sent to the viewer since last download to viewer. All map images woud be stored in Viewer cache. When a user requests a map at that location the map from cache is first displayed with an AS OF Date and an hour glass type of icon to indicate that it is being updated.
The user can wait for update or invariably move on. The server can then (at its discretion) stop download of that particular location - and map is re-created with new AS OF Date from where server left off - or continue to download map info till its up to date. From the comments seems like this is more of a new feature. Even if it is an obvious performance booster if there is nothing buggy in the implementation then this is just a way to improve it.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
This assumption breaks down in many cases.
On the viewer this can manifest itself as
VWR-1815and VWR 2404 bugsOn the server it is a very slow download especially for maps and i have also seen other textures take this long too.
It appears that a RequestImage message is sent with a requested discard the server then fires a bunch of messages back with the image data. It appears that the server is making the same discard factor assumptions as the viewer eg that dreaded 0.125 factor so the server decides how much data to fire for a given discard level then stops when it thinks it has sent enough.
The original reporter said the map data should reside on the viewer's computer once downloaded, it does in the texture cache but due to the same bugs it gets in a pickle when recalling and we have a low resolution texture or a corrupt texture again.
If the viewer does not baulk at the data sent back either with KDU doing some black magic or patches to stop openjpeg barfing, the data will only trickle back with one additional packet every 10-15 seconds (LAZY_FLUSH_TIMEOUT) lltexturefetch.cpp which is why maps etc can take 20 minutes to download. The server clearly will only send 1 packet back for every request above what it considers the data cutoff for the given discard level.
This can also manifest itself with map textures being stuck at 128x128 for 15 minutes.
The sever needs to understand the amount of data for a given discard and not make assumptions which are incorrect in many cases.