Suggestion: Streaming Inventory Optimizations
|
Hiro Pendragon
bye bye f0rums!
Join date: 22 Jan 2004
Posts: 5,905
|
04-07-2005 20:39
Streaming inventory is a great concept, it works fairly well, but I believe it needs optimizations.
My short list: 1. Always load sub-folders before contents of a folder. (Not the contents of a sub-folder, but the actual folder itself.) The reason being is I see textures being loaded like this.
Let's say I have my textures set up basically like this: [] My Texture folder [][] Texture Subfolder 1 - Rocks [][] Texture Subfolder 2 - Walls [][] Texture Subfolder 3 - Glass - random unsorted texture 1 - random unsorted texture 2 - random unsorted texture 3 - random unsorted texture 4 ... - random unsorted texture x
Now, the behavior I've noticed is that random textures 1-x will load all before the subfolders load. If I want a specific texture that I've placed in some subfolder, I have to wait for the contents of each level of folder to load before I even have the option of going a level down.
Instead, folders should have priority for load, then contents.
2. Favorites. It would be really nice to keep a cache file for each user that had priority folders to load - frequently used folders or whatnot. These folders listed would then be loaded first.
3. Mass cut and paste.
Bottom line, the best way to organize folders, and therefore to improve searching and streaming, is if we have better ways to move our stuff around. We really need the ability to highlight by shift or control and cut/copy and paste a bunch of items, have them queued up to move to another folder.
_____________________
Hiro Pendragon ------------------ http://www.involve3d.com - Involve - Metaverse / Emerging Media Studio
Visit my SL blog: http://secondtense.blogspot.com
|
Lex Neva
wears dorky glasses
Join date: 27 Nov 2004
Posts: 1,361
|
04-08-2005 10:54
1. There are several problems with this. First of all, when a user (especially a newbie or a non-techie) opens their folder and sees nothing at all, they might panic. Heck, for the first few days of 1.6, I definitely almost flipped out a few times when I discovered empty folders before I remembered about streaming. The longer the user interface takes to "respond" by filling a folder that's been opened, the more likely the user is to get frustrated or confused.
Then again, if you open the texture folder, it's pretty likely that you'll be wanting to open a subfolder next, so the client should probably go ahead and load those in the background.
Also, with your blanket rule of "load subfolders first", what if "Texture Subfolder 1 - Rocks" had another subfolder, "Rocks 1", "Rocks 2", etc? Should those be loaded before the general rocks folder items? If this isn't carefully specified, you end up loading the entire subtree of each subfolder before loading the items in an actual folder, which would probably end up making an unacceptable delay.
2. Definitely. I kind of wonder if this is done already.
3. You can do this. Select all of the items you'd like to copy by using shift or control (standard windows stuff, shift to select a bunch, control to add or subtract individual items). Right click, hit copy, right click on the destination folder, hit paste. It's clunky, but at least it works. Doesn't work for bringing a pile of things to an object, though.
|
blaze Spinnaker
1/2 Serious
Join date: 12 Aug 2004
Posts: 5,898
|
04-21-2005 15:16
Why stream the inventory? Why not just cache the names/folders on the client.
No content-protection problem there?
For returned objects, we could always go to the lost & folder forum on the server.
For items sent to while you're not online, ok we refresh the inventory in those cases. How often does that happen?
_____________________
Taken from The last paragraph on pg. 16 of Cory Ondrejka's paper " Changing Realities: User Creation, Communication, and Innovation in Digital Worlds : " User-created content takes the idea of leveraging player opinions a step further by allowing them to effectively prototype new ideas and features. Developers can then measure which new concepts most improve the products and incorporate them into the game in future patches."
|
Spuds Milk
Registered User
Join date: 28 Sep 2004
Posts: 94
|
04-21-2005 20:34
say you log in from 2 different computers, you're now back to the original problem if (only) client-side cache it.
|
blaze Spinnaker
1/2 Serious
Join date: 12 Aug 2004
Posts: 5,898
|
04-22-2005 02:21
Fairly straightforward problem if you just hash the inventory and if the client side hash is out of date you hit the server.
You'd have to do this regardless, because the client side could get corrupted, people could re-install, etc etc.
_____________________
Taken from The last paragraph on pg. 16 of Cory Ondrejka's paper " Changing Realities: User Creation, Communication, and Innovation in Digital Worlds : " User-created content takes the idea of leveraging player opinions a step further by allowing them to effectively prototype new ideas and features. Developers can then measure which new concepts most improve the products and incorporate them into the game in future patches."
|
Lindar Lehane
registered user
Join date: 13 Mar 2005
Posts: 272
|
04-22-2005 12:59
Last night the streaming of my inventory nearly drove me mad.
I was selecting a texture I had just uploaded to put it on a prim, in the prim texture window.
The instant the window opened, there was my new texture, at the top.
Just as I clicked on it, a FOLDER appeared above it, pushing it down one line. My cllick missed. This happened five times more. Folders arrived one by one, JUST faster then I could click. I tried to get smart, positioned my cursor lower down, lurking to catch the texture as it went by, stepping its elegant way downwards. Missed.
Ground my teeth, folded my arms, accepted the inevitable, and just waited till all 31 folders had arrived.
Putting all texture folders into a master folder is now on my to-do list.
Grrrrr.....
|
Hiro Pendragon
bye bye f0rums!
Join date: 22 Jan 2004
Posts: 5,905
|
04-23-2005 02:54
From: Lex Neva 1. There are several problems with this. First of all, when a user (especially a newbie or a non-techie) opens their folder and sees nothing at all, they might panic. Heck, for the first few days of 1.6, I definitely almost flipped out a few times when I discovered empty folders before I remembered about streaming. The longer the user interface takes to "respond" by filling a folder that's been opened, the more likely the user is to get frustrated or confused. Ah, maybe I wasn't clear. The subfolders and the names should be loaded but not the CONTENTS of the subfolders... since there's most likely a lot less data stored in the folder-type (name, pointer to parent, pointer to children, boolean open/close) they'll load quickly. The contents of the subfolders would only load when the subfolders were opened. From: someone 3. You can do this. Select all of the items you'd like to copy by using shift or control (standard windows stuff, shift to select a bunch, control to add or subtract individual items). Right click, hit copy, right click on the destination folder, hit paste. It's clunky, but at least it works. Doesn't work for bringing a pile of things to an object, though. I said cut and paste, not copy and paste.  From: blaze Why stream the inventory? Why not just cache the names/folders on the client.
No content-protection problem there?
For returned objects, we could always go to the lost & folder forum on the server.
For items sent to while you're not online, ok we refresh the inventory in those cases. How often does that happen? Yeah, good questions, blaze. Consider that you also hold items that you haven't created yourself in inventory. If you store these locally on your machine, you can reverse engineer it and get access to all of them, most likely. That would be a content-protection issue. You could argue for just storing your items, but (a) would that really be worth it? (b) Linden Lab doesn't support an offline editor (c) we don't know the mechanism of how they are stored; it may be more security/architecture sensitive than we think.
_____________________
Hiro Pendragon ------------------ http://www.involve3d.com - Involve - Metaverse / Emerging Media Studio
Visit my SL blog: http://secondtense.blogspot.com
|
blaze Spinnaker
1/2 Serious
Join date: 12 Aug 2004
Posts: 5,898
|
04-23-2005 18:03
Well, like i said - just names and folders.
We don't need to know what the items are until we go to rez them, at that point we can hit the asset server.
I don't rez that often from my inventory.
_____________________
Taken from The last paragraph on pg. 16 of Cory Ondrejka's paper " Changing Realities: User Creation, Communication, and Innovation in Digital Worlds : " User-created content takes the idea of leveraging player opinions a step further by allowing them to effectively prototype new ideas and features. Developers can then measure which new concepts most improve the products and incorporate them into the game in future patches."
|
blaze Spinnaker
1/2 Serious
Join date: 12 Aug 2004
Posts: 5,898
|
04-23-2005 18:05
And besides, if we're streaming them down into a memory cache right now, then that's all the same problems as streaming them into disk.
I mean.. "WinDBG, anyone?"
_____________________
Taken from The last paragraph on pg. 16 of Cory Ondrejka's paper " Changing Realities: User Creation, Communication, and Innovation in Digital Worlds : " User-created content takes the idea of leveraging player opinions a step further by allowing them to effectively prototype new ideas and features. Developers can then measure which new concepts most improve the products and incorporate them into the game in future patches."
|
Lex Neva
wears dorky glasses
Join date: 27 Nov 2004
Posts: 1,361
|
04-24-2005 10:44
From: Hiro Pendragon Ah, maybe I wasn't clear. The subfolders and the names should be loaded but not the CONTENTS of the subfolders... since there's most likely a lot less data stored in the folder-type (name, pointer to parent, pointer to children, boolean open/close) they'll load quickly. The contents of the subfolders would only load when the subfolders were opened.
My experience has been that, when I open a folder that waits for items to load, the subfolders are already there. I think maybe the "folder tree" itself loads at the start of your session, but the actual contents of folders wait to load... maybe? I dunno. I don't have that deep of a folder heirarchy.
|
Hiro Pendragon
bye bye f0rums!
Join date: 22 Jan 2004
Posts: 5,905
|
04-26-2005 02:07
From: Lex Neva My experience has been that, when I open a folder that waits for items to load, the subfolders are already there. I think maybe the "folder tree" itself loads at the start of your session, but the actual contents of folders wait to load... maybe? I dunno. I don't have that deep of a folder heirarchy. No, this is not the case that I see. Often I see folders waiting to appear while items are appearing.
_____________________
Hiro Pendragon ------------------ http://www.involve3d.com - Involve - Metaverse / Emerging Media Studio
Visit my SL blog: http://secondtense.blogspot.com
|