Tigro Spottystripes wrote: > [email protected] escreveu: > >> MAGIC! >> >> I don't know the exact details about how the current version works so >> *please* don't respond to my answer with the million ways it could be >> optimized or what it will miss etc. A lot of effort and revisions have >> gone into this. This is extremely roughly what it does, or did at one >> point and covers the gist of how GC on assets might work. >> >> * Step 1: Scan the contents of every asset, every simstate and every >> residents inventory for anything that looks vaguely like a UUID and build >> a list of those UUIDs. This means the text of every script, the contents >> of every notecard, the inventory of every item. >> * Step 2: Delete anything not in that list, but created before the scan >> started. >> * Step 3: Go to step 1. >> >> That is an extremely simplified version of course, and it gets more >> complicated as you work to make it more robust (find all those ids), safer >> (don't delete straight away) and faster. >> >> - Kelly >> >> >> > Interesting, much more comprehensive than I expected, but can you > explain me why the client doesn't got such a thorough capability of > reading the inventory? (the total item count for my inv varies from > about 9k to 30k+ depending on my luck, regardless of how many items I > add or delete) Or does the check randomly misses things in the inventory > like the client do? > I think this has been covered by others but just in case. The GC process is running behind our firewall and has direct access to the asset system and the inventory databases. Viewer inventory goes through the login server (for the base skeleton), the simulator, the dataserver to the database and back - through the dataserver, the simulator and finally to your viewer. There are a lot of potential places for bugs. The code for managing inventory and for viewing inventory are both far more complicated than a scan of all UUIDs in the table. And thats before anyone even mentions the word "permissions" which the GC can happily ignore. For example one bug we have had in the past could cause items in inventory to become orphaned - to lose their parent folder. This would cause the object to not appear in inventory but have no effect on the GC's abillity to find the related UUIDs for the item.
- Kelly
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Policies and (un)subscribe information available here: http://wiki.secondlife.com/wiki/SLDev Please read the policies before posting to keep unmoderated posting privileges
