Mark... go to a crowded area that you haven't been to before / in a while.
Watch the way it loads. It doesn't completely load objects close to you first.
Now, it may do the actual PRIMS of objects close to you first, that may be what you're referring to...
But as for textures and music, which accounts for probably 99% of the download time, they seem to be put on a queue by the viewing radius, as Max said, and then loaded in some order other than closest-first.
...
And Maxx, to reply to your thoughts - it's true that the viewing radius loads first... but how many times have you landed / ported and had to turn around a bit to get your bearings? Or even accidentally due to lag? Plenty... so now it's closer to a 360 radius of view that it's loading...
... and as for distance, dunno about you, but 64 seems a bit too short for my taste - things get hazy very close, and I can see the landscape end. I prefer the default, 128, or higher... now, if you have a 128 radius of view... you're loading a total of 51462 square meters... (pi*128*12

... that's almost an entire sim!
...
Now, how the engine handles objects obstruction one another is pretty straightforward to examine:
Take a light-type prim and move it around at night. You'll notice that it does do back face culling to at least some degree (a light shining on one side of an object does not hit the rear side) however it definitely does NOT check objects in sight, because of one observation -
- Say I have a light downstairs. the ceiling in the room above it will be illuminated.
So my conclusion is that the graphics engine simply loads the "view" slice, regardless of what is obstructed.
...
LINDENS:
Hey, here's another suggestion (perhaps an alternative to my original one in this thread)- if you can make your engine check for object obstruction, you can do a HUGE improvement by also making things not seen not loaded...
- If something is in a box / house / store that you are not inside, it doesn't load (unless there's nothing else to load).
- If you are inside a house / shop / etc, line of sight would make everything outside wait to load, until everything in view could be loaded.
Of course, I realize what a pain in the neck object obstruction detection can be - one of my college classes dealt entirely with picture analysis. Obviously there are several methods of doing it, some just checking if an object is partially obstructed, some totally... but, then again, every single Graphics card API has to write this code to display graphics in 3-D anyway, so it can't be THAT hard...
But perhaps it is another reason why my first suggestion (to modify the loading queue by distance from object to avatar, or even using the parcels' knowledge of objects to help) is more viable...
-Hiro Pendragon
serving SL from Varney 200,200