Welcome to the Second Life Forums Archive

These forums are CLOSED. Please visit the new forums HERE

Make things immediately around you load first?

Hiro Pendragon
bye bye f0rums!
Join date: 22 Jan 2004
Posts: 5,905
02-11-2004 10:45
I realize, when suggesting this, that it may not be the most straightforward thing to implement, depending on how the graphics engine is set up. I do think it'd be a tremendous improvement, however.

But why don't things immediately around your Avatar - say, 10-20 meters or so - get top priority for loading?

If I go into a store, I don't want all the other stores around it to be loading first, I want the store I'm in to be loading first. Same goes for someone's house I'm visiting, or an event being held...

I realize there's some sort of queue that when you look around, prims are set into this list... but can't there be a way to edit the list ? There's already a way 16x16 parcels check for how many objects reside on it, why can't it then give those objects priority in some manner?

Thanks!

-Hiro Pendragon
Serving SL at Varney 200,200
Maxx Monde
Registered User
Join date: 14 Nov 2003
Posts: 1,848
02-11-2004 11:35
** deleted **
Wednesday Grimm
Ex Libris
Join date: 9 Jan 2003
Posts: 934
02-11-2004 12:45
I've noticed, in object intense areas, things very far away getting drawn before very close things. I do not think a "biggest/closest" algorithm would go amiss.
_____________________
Sarcasm meter:
0 |-----------------------*-| 10
Rating: Awww Jeeze!
Mark Busch
DarkLife Developer
Join date: 8 Apr 2003
Posts: 442
02-11-2004 13:22
Hmmz seems like they've taken out the more expanded part in the description about streaming 3D...
what they said there was that big objects and objects first in sight load before the rest. So they already do that...
Hiro Pendragon
bye bye f0rums!
Join date: 22 Jan 2004
Posts: 5,905
reply to Mark & Maxx
02-11-2004 23:18
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*128) ... 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