TP Spad
Registered User
Join date: 13 Dec 2007
Posts: 5
|
06-28-2009 06:12
Is there an explanation somewhere about textures loading.
For example, I've been told that as long as the textures are within the clients viewing range, they will load
Others say it depends on whether the camera can actually see the texture.
Want to know the answer for pre-loading textures, but am also interested in how the whole thing works.
|
Ceera Murakami
Texture Artist / Builder
Join date: 9 Sep 2005
Posts: 7,750
|
06-28-2009 08:08
From my experience, textures do not load until they come within the cone of view of the avatar's camera. If in that cone, to the limit of their view distance settings, _all_ textures load, even if obscured by prims, terrain, or other things that will prevent you from actually seeing those textures. (You can test that by standing in an isolated private sim, near one edge. When you face the body of the sim, instead of facing off the edge and into a void area, your frame rate drops heavily, and you'll see a lot more bandwidth activity, even if there is a terrain wall right in front of your nose when facing the body of the sim.)
When you turn and change the cone of view, more textures enter the cone, and start to load.
What order textures load in seems entirely random, though 512 x 512 textures seem to have a slight priority over other sizes, because they are used for skins and clothing on avatars. But I have seen textures far from an avatar load well before textures attached to the avatar! The order seems almost random in terms of distance, texture sizes, or any other factor.
How long textures *remain* loaded depends in part on how much texture memory and video card memory you have. A weak card can't store as much as one with a huge memory. But even with a card hat has 512 MB of VRAM, I have seen cases where textures reload every time you turn the camera, even though you were just looking that direction moments earlier.
In short, the algorithms for texture loading priorities in SL are pretty strange, and not very well done.
For "Preloading textures" you can place those textures on one or more prims that will be in the avatar's cone of view, even though the prims themselves are hidden. They will load, even though they don't 'see' them. Technically, if you have enough of those "preload points" set around, so that one such point always remains in view, you might manage to preload a specific batch of textures and keep them actively in cache, without reloads.
However, given that it is not at all unusual for textures to keep reloading even when the camera does not change its view, I don't think the above preloading suggestion is likely to be effective.
Using "Texture sheets", where several textures for things like signs are on a single larger texture, and are applied to the prims using offset and repeat values, can at least ensure that when one sign loads, they all load at once.
_____________________
Sorry, LL won't let me tell you where I sell my textures and where I offer my services as a sim builder. Ask me in-world.
|