"Pre-Loading" Textures?
|
Dallas Prudhomme
Registered User
Join date: 24 Oct 2005
Posts: 30
|
10-14-2006 07:18
I had this idea I wanted to put out there. As many of us land in front of a store or house and wait for the area to rez before we move or enter the property, I was wondering if there was a benefit to placing prims, let's say cubes, that have the interior's textures (e.g wallpaper) loaded on to its face? My goal would be to place these outside so that by the time they enter the store or house, the interior textures have potentially already loaded.
My initial comments / acknowledgements / questions:
1. I understand that the loading time, theoretically is the same, whenther they load the textures inside or out. My intent is to catch the occasional person that waits outside long enough to have the better impact of pre-loaded textures upon entering. 2. I do not know enough about how the textures are prioritized in SL. If a texture is behind a wall in front of me, is it automatically loaded anyway if given enough time? That would make this "trick" pointless. 3. If this trick WAS helpful in some ways to improving the overall experience of my visitors, I would suggest the prim cube have a different texture on every surface. (e.g six textures=1 prim) Can the prim be made tiny and with max transparency such that they are not aware it is there, but still get the benefit of a pre-load? 4. I have not tested this theory, but if you color any object's texture through the EDIT tool (say completely black), does the object rez as black immediately to someone new, or not until the object's texture has loaded? My thought is that you could place a cube like this outside with floating text explaining that once the cube has turned "black" (with our interior texture basicly hidden), the store's textures have preloaded and they can enter.
Ugh! Am I making any sense here? I know not everyone will wait for this, but it just occured to me for build that have a lot of dramatic impact upon entering, you could possibly help your visitor have a better experience with preloading "tricks."
Any thoughts would be appreciated.
-Dallas The Sanctualary
|
Cottonteil Muromachi
Abominable
Join date: 2 Mar 2005
Posts: 1,071
|
10-14-2006 08:32
Sounds like an idea. However, I think it only benefits an overly large sized shop or mall where there is some significant distance to the intended texture. Plus, most shopfronts and houses have some sort of window which results in the textures on the inside loading up anyway.
Texture priorities can be hard to pinpoint, since there is no official documentation on this. Some have suggested that it depends on whether you have your cursor over an area and your distance to the object. I personally think it has something to do with how much a texture occupies your screen, so putting textures on tiny prims would put them very far down the queue.
I think your best bet is to just try and reduce the size of your textures whenever possible, and reuse the same textures in as many different ways.
|
Dallas Prudhomme
Registered User
Join date: 24 Oct 2005
Posts: 30
|
other technique too
10-14-2006 08:40
Thank you for the reply. This brings up another technique that I have tried and would love comment on (as I don't truly know whether it saves load time or not).
I will occasionally put several textures in the same file, and then simply offset the texture on the prim so that it shows the correct part of the master file. Obviously the master file is larger in seize, but might this save time loading one bigger file, then several smaller ones? It is at least neater in that when the master file loads, all of the texture faces that use part of the file pop in at the same time.
Make sense? Let me know if you have thoughts behind the math on this one. : )
|
Cottonteil Muromachi
Abominable
Join date: 2 Mar 2005
Posts: 1,071
|
10-14-2006 08:53
What you are suggesting is commonly known as a texture sheet, and is commonly used in the game industry. Its actually the better practice than using multiple small textures, but takes more effort to do, especially with the clumsy texture offsetting tools we have in SL. It will definitely be beneficial, provided that you actually use most of the bits on the sheet.
I think some day, we might get to do this interactively by dragging the cursor to align the bits on the texture instead of keying in numbers, but not anytime soon, I guess.
|
Ceera Murakami
Texture Artist / Builder
Join date: 9 Sep 2005
Posts: 7,750
|
10-14-2006 09:10
Texture sheets do help load things faster. Once the sheet is loaded, all items textured from that sheet snap into focus as one.
But I think you would find that placing some of the textures closer to the entrance will end up being a wasted effort. SL does NOT prioritize rezzing or texturing what is closest to your avatar, nor does it appear to make good use of occlusion culling to rez what you can see before it tries to load texture info for what you can NOT see. The order in which prims are rezzed and textured seems completely random. Focussing your camera on a single textured surface can force that one texture to rez faster, but if you don't to that, it's random.
If you want proof of this, try this experiment.
Locate a sim that is next to a void sim, and where you can build a small structure. In other words, you want a location where if you look in the direction of the void, there are NO prims close to you at all.
Build a 'room' consisting of 4 opaque walls.
Turn on the view option that allows you to see your frame rate in FPS.
Stand in the middle of the room, and look in each of the 4 directions, and look at the frame rate.
When you face the void sim, your frame rate improves.
When you face the sim that has content in it, even though you can not see what's beyond the wall, you see a reduced frame rate, because it is trying to draw and texture stuff that you can not see.
Now, clear cache, and log out.
Log back in and before the textures on the walls around you are fully loaded, zoom out with your camera. There will be textures outside the box that are already fully rezzed.
_____________________
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.
|
Joannah Cramer
Registered User
Join date: 12 Apr 2006
Posts: 1,539
|
10-14-2006 10:13
From: Ceera Murakami Texture sheets do help load things faster. Once the sheet is loaded, all items textured from that sheet snap into focus as one. Not only that, but the actual rendering of such prims can be sped up if graphics engine of game is sanely written and sorts things to draw by the applied textures... because there's less state changes involved for the gfx card ^^;
|
Chip Midnight
ate my baby!
Join date: 1 May 2003
Posts: 10,231
|
10-14-2006 10:20
From: Cottonteil Muromachi It will definitely be beneficial, provided that you actually use most of the bits on the sheet. Unused space on a texture sheet isn't really a worry. If it's a solid color it will compress down to nothing, meaning the empty space contributes virtually nothing to the file size.
_____________________
 My other hobby: www.live365.com/stations/chip_midnight
|
Cottonteil Muromachi
Abominable
Join date: 2 Mar 2005
Posts: 1,071
|
10-14-2006 16:55
From: Chip Midnight Unused space on a texture sheet isn't really a worry. If it's a solid color it will compress down to nothing, meaning the empty space contributes virtually nothing to the file size. I assume when you do a texture sheet, you'd actually put things on the sheet than just something small in a corner leaving the rest of it blank? Anyway, the concern is not the compressed file size, but more of how much ram it swalows up on your graphics card. The blank spaces take up the same amount of space.
|
Kyushu Tiger
Registered User
Join date: 12 Nov 2005
Posts: 92
|
10-16-2006 17:37
Am I missing something? I thought that if you land outside a building close enough, the client will already be loading textures used inside the building, even if you have not gone in. I was under the impression that this had to do with how close you were to the objects, not whether there were walls in between you and the objects.
Kyushu
|
Chip Midnight
ate my baby!
Join date: 1 May 2003
Posts: 10,231
|
10-16-2006 21:16
From: Cottonteil Muromachi I assume when you do a texture sheet, you'd actually put things on the sheet than just something small in a corner leaving the rest of it blank? Yes, of course, but it's not always possible to fill the entire sheet. Look at the way the avatars are mapped as an example. You want to use as much as you can, but if every bit of space isn't being used it's not an argument against combining textures into sheets.
_____________________
 My other hobby: www.live365.com/stations/chip_midnight
|
Cottonteil Muromachi
Abominable
Join date: 2 Mar 2005
Posts: 1,071
|
10-17-2006 02:51
From: Chip Midnight Yes, of course, but it's not always possible to fill the entire sheet. Look at the way the avatars are mapped as an example. You want to use as much as you can, but if every bit of space isn't being used it's not an argument against combining textures into sheets. I think I was referring to having a big texture sheet with many items on it, but not using them fully. Meaning, only using one or two of them. Sorry, I'm not that good with semantics.
|
Chip Midnight
ate my baby!
Join date: 1 May 2003
Posts: 10,231
|
10-17-2006 11:26
From: Cottonteil Muromachi I think I was referring to having a big texture sheet with many items on it, but not using them fully. Meaning, only using one or two of them. Sorry, I'm not that good with semantics. In that case you'd be better off cutting it down to just the portion being used if the rest of the sheet isn't being used elsewhere in the build.
_____________________
 My other hobby: www.live365.com/stations/chip_midnight
|