<div dir="ltr"><div style="font-size:12.8000001907349px"><div><div><font color="#6aa84f">1. Is the explosion of blocks or prims something that the viewer can handle? Or is this too tricky to make happen with the wide variations of machine running viewers and even more so that soon the viewer will run in a web browser? </font><br><font color="#000000">It is something a viewer could do but I don't know what mechanism could be used in the existing viewer.</font></div><div><font color="#000000"><br></font></div><font color="#6aa84f">2. Is there a way to make the explosion an overlay streaming event that runs over the current screen? - Just a crazy idea.... I am thinking of this more on a browser-viewer as that needs to run on devices that would have issues processing all that...</font></div><div><font color="#000000">In interesting idea but, again, would be viewer modifications.</font><br><br></div><font color="#6aa84f">3. Is it possible to make OS Physics run faster than 11FPS?</font><br><font color="#000000">Yes. The default configuration is for the simulator heartbeat time to be 11FPS and for the physics engine to be in sync. You can change the simulator heartbeat time but there are some known problems with that (too many assumptions in some places). If you run BulletSim on its own thread, you can speed up BulletSim but that would just make more updates.</font></div><div style="font-size:12.8000001907349px"><font color="#000000"><br></font></div><span style="font-size:12.8000001907349px"><font color="#6aa84f">4. It seems that the number of avatars exponentially changes the workload here. Maybe a graphics server could be designed as a sub service to handle that type of load, maybe running on a GPU instead of a CPU? It just seems to me that with all the other things that the region server has to do, offloading some of the heavy lifting would be a good thing. Maybe it is time to think of an OS "Pro" level of setup that separates the workload a bit more would be a good idea</font></span><br><div><span style="font-size:12.8000001907349px"><font color="#000000">That was the design of DSG. For client connections, the simulator fed on client manager who multiplied the connection to multiple viewers. So you could have a simulator feeding 10 client managers who were each feeding 30 viewers for a total of 300 connections. DSG also run script and physics servers to off load the central server from the computation from those operations.</font></span></div><div><span style="font-size:12.8000001907349px"><font color="#000000"><br></font></span></div><div><span style="font-size:12.8000001907349px"><font color="#000000">== mb</font></span></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Apr 14, 2015 at 1:49 PM, Dahlia Trimble <span dir="ltr"><<a href="mailto:dahliatrimble@gmail.com" target="_blank">dahliatrimble@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I believe there is a means in the LLUDP protocol to stuff many updates for many objects into a single packet, though I'm not sure OpenSimulator is smart enough to do it in your simulation. It may be a way to improve networking performance quite a bit when may physical objects change velocity during the same simulation frame.<br></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Apr 14, 2015 at 1:44 PM, steve l <span dir="ltr"><<a href="mailto:salbiedermann@gmail.com" target="_blank">salbiedermann@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div><div><div><div><div><div><div>Hi!<br><br></div><div>Robert- Thanks for the answer and the thought you put into it!<br></div><div><br></div>So I am going to play dummy (Not far from the truth!) here. This means that we need to do re-writing on several parts of OS to speed things up and eliminate bottlenecks. a couple of questions then.<br><br></div>1. Is the explosion of blocks or prims something that the viewer can handle? Or is this too tricky to make happen with the wide variations of machine running viewers and even more so that soon the viewer will run in a web browser? <br><br></div>2. Is there a way to make the explosion an overlay streaming event that runs over the current screen? - Just a crazy idea.... I am thinking of this more on a browser-viewer as that needs to run on devices that would have issues processing all that...<br><br></div>3. Is it possible to make OS Physics run faster than 11FPS?<br><br></div>4. It seems that the number of avatars exponentially changes the workload here. Maybe a graphics server could be designed as a sub service to handle that type of load, maybe running on a GPU instead of a CPU? It just seems to me that with all the other things that the region server has to do, offloading some of the heavy lifting would be a good thing. Maybe it is time to think of an OS "Pro" level of setup that separates the workload a bit more would be a good idea.<br><br></div>These things always get me thinking...!<br><br></div>Steve LaVigne<br></div>A Dimension Beyond, Inc.<br></div><a href="http://www.adimensionbeyond.com" target="_blank">www.adimensionbeyond.com</a><br></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Apr 14, 2015 at 10:45 AM, Adams, Robert <span dir="ltr"><<a href="mailto:robert.adams@intel.com" target="_blank">robert.adams@intel.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">





<div link="blue" vlink="purple" lang="EN-US">
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">I don’t think the only problem is finding a physics engine that can handle 240 moving objects. Another is optimizing the updates from the physics engine.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Think of the whole pipeline: the physics engine computes interactions and new locations/rotations for each object. That position update is sent to the simulator.
 The simulator updates the object data structures and sets an update flag. The location/position update is noticed and an update packet[1] is created and placed in output queues for each viewer. At some time, the packet is transmitted to each viewer.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">The update processing time can easily be more than the physics engine time.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">The OpenSimulator physics engines are run 11 times a second so they generate 11 position updates a second for each moving object. So, even an efficient physics
 engine will generate (240 * 11) updates per second which then turn into (240 * 11 * numberOfAvatars) packets sent per second.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">There are many optimizations possible in this chain.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">-- mb<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">[1] This is technically wrong for the current version of OpenSimulator. For the technically inclined, an ‘update needed’ packet is put in the output queue and
 the actual packet to transmit is created when it is time to send the update. This is done because the update output packet queue can get long and the position/location information can be stale if multiple updates are in the queue. Only one ‘update needed’
 packet is put in the queue and the current object location/rotation is put in the transmitted packet at the time of transmission.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> <a href="mailto:owner-moses-list@lists.mitre.org" target="_blank">owner-moses-list@lists.mitre.org</a> [mailto:<a href="mailto:owner-moses-list@lists.mitre.org" target="_blank">owner-moses-list@lists.mitre.org</a>]
<b>On Behalf Of </b>steve l<br>
<b>Sent:</b> Tuesday, April 14, 2015 8:09 AM<br>
<b>To:</b> Michael Emory Cerquoni<br>
<b>Cc:</b> <a href="mailto:opensim-dev@opensimulator.org" target="_blank">opensim-dev@opensimulator.org</a>; <a href="mailto:moses-list@lists.mitre.org" target="_blank">moses-list@lists.mitre.org</a><span><span><br>
<b>Subject:</b> Re: [Opensim-dev] New MOSES Physics Video<u></u><u></u></span></span></span></p>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<div>
<div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt">Hi!<u></u><u></u></p>
</div><div><div><div><div>
<p class="MsoNormal">An excellent video on the physics of exploding grenades and the wall.  On the OS Dev list Mister Blue has an excellent observation that the server crashes are due to the extreme amount of changes that have to be sent to every avatar. His
 idea of a client side solution might just be a good one. In the end is there any way that OpenSim can handle more events than that in it's present form? Is there any physics engine that can handle 240 moving scripted objects moving at once without lag?<u></u><u></u></p>
</div></div></div></div></div><div><div><div><div>
<p class="MsoNormal" style="margin-bottom:12.0pt">If we could get OS to the point that it would handle this load easily, we would have all our load issues solved!<u></u><u></u></p>
</div></div></div></div></div>
<p class="MsoNormal">Steve LaVigne<u></u><u></u></p>
</div><div><div><div><div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<p class="MsoNormal">On Tue, Apr 14, 2015 at 6:33 AM, Michael Emory Cerquoni <<a href="mailto:nebadon2025@gmail.com" target="_blank">nebadon2025@gmail.com</a>> wrote:<u></u><u></u></p>
<div>
<p class="MsoNormal">Could these test scripts be shared so testing against other engines can occur as well, I would be interested to see how this same test goes against ODE and BulletSim as well.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<div>
<div>
<p class="MsoNormal">On Tue, Apr 14, 2015 at 8:18 AM, Maxwell, Douglas CIV USARMY ARL (US) <<a href="mailto:douglas.maxwell3.civ@mail.mil" target="_blank">douglas.maxwell3.civ@mail.mil</a>> wrote:<u></u><u></u></p>
</div>
</div>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<div>
<div>
<div>
<div>
<div>
<p><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black">Good Morning, as you all know the MOSES developers are working on PhysX integration into the Open Simulator to support functionality currently not possible in the platform.  We
 are a methodical group and a couple months ago I asked one of our interns to work with the developers to create a series of baseline physics behavior case studies.  The first case study is a destructible wall caused by an explosive charge.  This wall is composed
 of blocks that are tested at a high density and a low density to simulate different destruction effects. 
<u></u><u></u></span></p>
<p><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black"> <u></u><u></u></span></p>
<p><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black">The goal here is to eventually have all of the prims in the sim loaded with the scripts needed to react to any type of random explosive charge set by the participants in the training
 scenario.<u></u><u></u></span></p>
<p><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black"> <u></u><u></u></span></p>
<p><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black">The video can be found below:<u></u><u></u></span></p>
<p><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black"> <u></u><u></u></span></p>
<p><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black"><a href="https://youtu.be/jSofWcwWi7g" target="_blank">https://youtu.be/jSofWcwWi7g</a><u></u><u></u></span></p>
<p><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black"> <u></u><u></u></span></p>
<p><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black">Your feedback is welcome.<u></u><u></u></span></p>
<p><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black"> <u></u><u></u></span></p>
<p><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black">Observations:<u></u><u></u></span></p>
<p><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black">1)  Current limitations of the open simulator prevent us from expanding the tests beyond a simple wall.<u></u><u></u></span></p>
<p><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black">2)  The scripts exercise the engine well and expose limitations between the sim frame rate and the physics frame rate.<u></u><u></u></span></p>
<p><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black">3)  It is easy to crash the sim with this demonstration, especially if more than a handful of people are present (more than 3-4 client connections).<u></u><u></u></span></p>
<p><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black"> <u></u><u></u></span></p>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222;background:white">Douglas Maxwell, MSME</span><span style="font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222"><br>
<span style="background:white">Science and Technology Manager</span><br>
<span style="background:white">Virtual World Strategic Applications</span><br>
<span style="background:white">U.S. Army Research Lab</span></span><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black"><u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222;background:white">Human Research & Engineering Directorate</span><span style="font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222"><br>
<span style="background:white">Simulation & Training Technology Center</span><br>
<span style="background:white">(c) </span></span><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black"><a href="tel:%28407%29%20242-0209" target="_blank"><span style="font-family:"Arial","sans-serif";color:#1155cc;background:white">(407)
 242-0209</span></a><u></u><u></u></span></p>
</div>
</div>
</div>
</div>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
</div>
<p class="MsoNormal" style="margin-bottom:12.0pt">_______________________________________________<br>
Opensim-dev mailing list<br>
<a href="mailto:Opensim-dev@opensimulator.org" target="_blank">Opensim-dev@opensimulator.org</a><br>
<a href="http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev" target="_blank">http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev</a><u></u><u></u></p>
</blockquote>
</div>
<p class="MsoNormal"><span style="color:#888888"><br>
<br clear="all">
<br>
<span>-- <u></u><u></u></span></span></p>
<div>
<p class="MsoNormal"><span style="color:#888888">Michael Emory Cerquoni</span><u></u><u></u></p>
</div>
</div>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
</div></div></div></div></div>
</div>

</blockquote></div><br></div>
<br>_______________________________________________<br>
Opensim-dev mailing list<br>
<a href="mailto:Opensim-dev@opensimulator.org" target="_blank">Opensim-dev@opensimulator.org</a><br>
<a href="http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev" target="_blank">http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev</a><br>
<br></blockquote></div><br></div>
</div></div><br>_______________________________________________<br>
Opensim-dev mailing list<br>
<a href="mailto:Opensim-dev@opensimulator.org">Opensim-dev@opensimulator.org</a><br>
<a href="http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev" target="_blank">http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev</a><br>
<br></blockquote></div><br></div>