<div dir="ltr">Knock 'em dead Oren xD</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Mar 27, 2014 at 11:29 AM, Melanie <span dir="ltr"><<a href="mailto:melanie@t-data.com" target="_blank">melanie@t-data.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Looks like you found the culprit! All those suggestions sound good.<br>
<span class="HOEnZb"><font color="#888888"><br>
Melanie<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
On 27 Mar 2014, at 17:03, Oren Hurvitz <<a href="mailto:orenh@kitely.com">orenh@kitely.com</a>> wrote:<br>
<br>
When a prim is a Sculptie or Mesh, the prim's shape contains a field called<br>
SculptData which stores the full mesh or texture (for sculpties). If the<br>
prim is serialized then the field "SculptData" is also serialized, which is<br>
a problem because it contains the entire contents of the mesh or texture.<br>
This makes actions such as detaching a mesh attachment extremely slow.<br>
<br>
I think that we should remove SculptData from the serialized XML format of<br>
prims. This means that we'll stop serializing it, and when we get an XML<br>
with SculptData we'll ignore it.<br>
<br>
See also: <a href="http://opensimulator.org/mantis/view.php?id=7038" target="_blank">http://opensimulator.org/mantis/view.php?id=7038</a> ("Unwearing mesh<br>
attachments very slow").<br>
<br>
As far as I can tell, the shape's SculptData field (in memory) should<br>
usually be empty. It only needs to be filled with the asset data in two<br>
cases:<br>
1. When the mesh is first uploaded<br>
2. If the Physics system needs to create a physics mesh<br>
<br>
In both cases, after the mesh data has been used it should be cleared<br>
immediately, to save memory.<br>
<br>
Regarding the behavior of the physics system, I see a few things that could<br>
be a problem with the way it's currently implemented. What currently happens<br>
is this: ODEPrim.CheckMeshAsset() loads the mesh/sculptie data if it's<br>
needed. Later, Meshmerizer.CreateMeshFromPrimMesher() clears the data once<br>
it has finished using it. This raises a couple of questions:<br>
<br>
1. Where does BulletSim load the mesh data? It doesn't use ODEPrim.<br>
2. It looks like Meshmerizer.CreateMeshFromPrimMesher() can sometimes return<br>
early, without clearing the mesh data. Seems to me that it should always<br>
clear it.<br>
<br>
So besides removing "SculptData" from the XML format of prims, I also want<br>
to make Meshmerizer clear the data more aggressively. And I don't know how<br>
BulletSim uses meshes, but perhaps it also needs to be changed.<br>
<br>
Thoughts?<br>
<br>
Oren<br>
<br>
<br>
<br>
--<br>
View this message in context: <a href="http://opensim-dev.2196679.n2.nabble.com/Stop-saving-SculptData-in-serialized-SceneObjects-tp7579079.html" target="_blank">http://opensim-dev.2196679.n2.nabble.com/Stop-saving-SculptData-in-serialized-SceneObjects-tp7579079.html</a><br>

Sent from the opensim-dev mailing list archive at Nabble.com.<br>
_______________________________________________<br>
Opensim-dev mailing list<br>
<a 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 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></blockquote></div><br><br clear="all"><div><br></div>-- <br><div dir="ltr">===================================<div><a href="http://osgrid.org/" target="_blank">http://osgrid.org/</a><br><a href="http://simhost.com" target="_blank">http://simhost.com</a><br>
<a href="http://twitter.com/jstallings2" target="_blank">http://twitter.com/jstallings2</a><br><br></div></div>
</div>