<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:arial,helvetica,sans-serif;font-size:12pt"><div>Dear Teravus:<br><br>No problem. The key point I was trying to make is that as time goes on we seem to be increasing exponentially the storage requirements in the UGAIM assets table. The terrainImage entry was an example of of an 'asset' that is a little different in perception then say, a texture covering a face of a prim.<br><br>This example was intended for us to think about those 'assets' which can be pruned on a regular basis so that our ability from the UGAIM viewpoint to find and retrieve an asset in a timely manner does not get so long as to make our sims performance degraded.<br><br>Charles<br></div><div style="font-family: arial,helvetica,sans-serif; font-size: 12pt;"><br><div style="font-family: arial,helvetica,sans-serif; font-size: 13px;"><font size="2" face="Tahoma"><hr size="1"><b><span
 style="font-weight: bold;">From:</span></b> Teravus Ovares <teravus@gmail.com><br><b><span style="font-weight: bold;">To:</span></b> opensim-dev@lists.berlios.de<br><b><span style="font-weight: bold;">Sent:</span></b> Tuesday, February 17, 2009 6:39:52 AM<br><b><span style="font-weight: bold;">Subject:</span></b> Re: [Opensim-dev] Please do not revert fixes without careful comtemplation<br></font><br>
I thought it prudent to point out that the following statement is 100% fiction;<br><br>" 2. We have a significant number of assets of each and every edit of<br>terrain, where only the very last one is accessible"<br><br>What I think you meant to say was,<br><br>"2. Every two days each region generates a new map tile image and<br>names it terrainImage.  These do eventually add up"<br><br>Best Regards<br><br>Teravus<br><br>On Tue, Feb 17, 2009 at 9:31 AM, Stefan Andersson <<a ymailto="mailto:stefan@tribalmedia.se" href="mailto:stefan@tribalmedia.se">stefan@tribalmedia.se</a>> wrote:<br>><br>>> > 1. We have a significant number of assets whose name is "blank" that are<br>>> > created with a default constructor. And I suspect are never accessible.<br>>><br>>> In fact, this field has always seemed redundant to me since the user only<br>>> ever manipulates assets by their inventory<br>>> name, which is
 entirely separate from the asset name. The asset name is<br>>> never visible to the user (and afaik is not<br>>> used anywhere else in the code).<br>>><br>>> At one point I thought about proposing to remove it. Possibly this issue<br>>> should be revisited.<br>><br>> I believe it's kept there just as a convenience - to be able to get some<br>> kind of semantics, not necessarily exact, when browsing the table.<br>><br>>> > 2. We have a significant number of assets of each and every edit of<br>>> > terrain, where only the very last one is accessible.<br>>><br>>> Yes, this does seem wasteful to me since old terrain assets are not used<br>>> by anything, afaik.<br>><br>> I have proposed a number of times that we could have a virtual asset_key as<br>> well as an asset_id - so that things that would rewrite assets could use the<br>> asset_key as an aux method to actually
 try to overwrite the asset. In the<br>> terrain case, the asset would be overwritten by key, not by id. This would<br>> allow us to implement a number of parallell schemas where some assets would<br>> be overwritten (asset_key = asset_id) and some where we would keep a history<br>> (only asset_key) and some where doing either or would be configurable.<br>><br>>> > 3. We have a significant number of assets of each and every text edit<br>>> > for each and every textual assets. Where only the last one should be<br>>> > accessible.<br>>><br>>> Unfortunately, this is not the case. For instance, imagine that you create<br>>> a script in your inventory. You drag this<br>>> script into a region object. At this point, both the entry in your<br>>> inventory and the entry in the region point to the<br>>> same textual asset.<br>>><br>>> But then you edit the script in your
 inventory. After the edit it points<br>>> to a new asset containing the edited text.<br>>> However, the region object is still pointing to the old script asset. So<br>>> we need to keep both the old and new textual<br>>> assets.<br>><br>> Not to mention the fact that the viewer caches stuff.<br>><br>>> However, you're right in that textual assets which are never used<br>>> elsewhere (i.e. are intermediate edits that never get<br>>> dragged into an object, given to someone else, or otherwise transmitted)<br>>> might possibly be eliminated with some<br>>> sufficiently careful scheme.<br>><br>> Binary de-duplication and added semantics in the form of 'key' or 'class'<br>> would probably go a long way.<br>><br>>> > Its a bit like collecting every scrap of paper ever written with either<br>>> > text or binary glyphs and putting them in a big filing
 cabinet.<br>>> ><br>>> > After a while, finding the ones that are "interesting" in a "timely"<br>>> > manner starts to get a little "challenging".<br>><br>> Let's keep the shining torch of this discussion burning.<br>><br>> /Stefan<br>><br>><br>> _______________________________________________<br>> Opensim-dev mailing list<br>> <a ymailto="mailto:Opensim-dev@lists.berlios.de" href="mailto:Opensim-dev@lists.berlios.de">Opensim-dev@lists.berlios.de</a><br>> <a href="https://lists.berlios.de/mailman/listinfo/opensim-dev" target="_blank">https://lists.berlios.de/mailman/listinfo/opensim-dev</a><br>><br>><br>_______________________________________________<br>Opensim-dev mailing list<br><a ymailto="mailto:Opensim-dev@lists.berlios.de" href="mailto:Opensim-dev@lists.berlios.de">Opensim-dev@lists.berlios.de</a><br><a href="https://lists.berlios.de/mailman/listinfo/opensim-dev"
 target="_blank">https://lists.berlios.de/mailman/listinfo/opensim-dev</a><br></div></div></div></body></html>