[Opensim-dev] Severely Decreased LSL Script Performance from 0.6.5 -> 0.6.6 -> 0.6.7

Shack Dougall shack at liferain.com
Wed Oct 7 02:00:41 UTC 2009


Thanks for that suggestion, Dahlia.  I don't know if it will help, but 
it is consistent with one other thing that I observed in 0.6.7.  When my 
libopenmv program was creating the rezzer today, I saw my first ODE 
crash ever.  It took down the whole server.  It's possible that some 
changes in ODE are contributing to the problem.

I'll give it a try and report back.  --Shack

Dahlia Trimble wrote:
> I'm not sure what may be causing your delays but I do have one 
> suggestion which may help mitigate some issues you are seeing: try 
> making any prins that you rez phantom and do not change that state 
> until the entire object is complete. This will eliminate a lot of 
> unnecessafy interaction with the physics engine and may improve 
> reliability and speed.
>  
> On Tue, Oct 6, 2009 at 2:03 PM, Shack Dougall <shack at liferain.com 
> <mailto:shack at liferain.com>> wrote:
>
>     One part of Prim Composer is an LSL-based rezzing system that
>     creates a
>     build from notecard data.
>     http://liferain.com/downloads/primcomposer/
>
>     In OpenSim 0.6.5, this system worked almost as good as in Second Life.
>     Unfortunately, it does not work well in 0.6.6 and is unusable in 0.6.7
>
>     *Test Platform*: Standalone, Windows XP, MySQL, ODE Physics,
>     Meshmerizer.  Other than this I use the defaults.
>
>     So, the question is "What is causing the problem?"  What has changed
>     since 0.6.5 that causes the LSL rezzer to perform so badly?
>
>     I have verified that the script engine defaults have not changed.
>
>     *How the rezzer works*
>
>     The rezzer contains linksets with various numbers of prims, e.g.,
>     Linkset-10 is a linkset with 10 prims in it.
>
>     1. The rezzer reads data out of a notecard. It sees how many prims
>     should be in the next linkset and rezzes a linkset from its inventory
>     with that number of prims.
>     2. When the linkset rezzes, the root prim tells the rezzer that it is
>     alive and the rezzer sends it the UUID and line number of a
>     notecard to
>     read via chat.  At this point, the rezzer goes back to Step 1.
>     3. The root prim then sends a link message to its children telling
>     them
>     the UUID and a line number to read.
>     4.  Each prim in the linkset then reads their data independently from
>     the notecard and then performs llSetPrimitiveParams to transform
>     themselves into the shape determined by the notecard data.
>
>     It's actually a lot more complicated than that, but you get the idea.
>     So, lots of prims are being rezzed very quickly via LSL and each prim
>     has a script in it that reads notecard data and sets params.
>
>     In 0.6.5, this process runs very smoothly--prims and scripts are
>     created
>     and execute quickly.  In 0.6.6 and above, something is happening that
>     drastically slows this process down.  Either the prims are rezzing
>     slower, or the scripts are starting slower or the scripts are
>     executing
>     slower.
>
>     In any event, the difference is extreme.  It is bad in 0.6.6 and seems
>     to be even worse in 0.6.7.
>
>     Does anyone have any ideas or suggestions?  Is this a bug?  Is it an
>     inevitable fact of life?  Can it be improved?  What can I do to help
>     with the process?
>
>     I'm more than happy to create a video showing the difference.  The LSL
>     scripts are open source.  I can also set you up with some test
>     data and
>     a copy of my maxport utility if anyone wants to try to reproduce
>     it.  It
>     is very easy to do.
>
>     Thanks in advance!  --Shack
>     _______________________________________________
>     Opensim-dev mailing list
>     Opensim-dev at lists.berlios.de <mailto:Opensim-dev at lists.berlios.de>
>     https://lists.berlios.de/mailman/listinfo/opensim-dev
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Opensim-dev mailing list
> Opensim-dev at lists.berlios.de
> https://lists.berlios.de/mailman/listinfo/opensim-dev
>   




More information about the Opensim-dev mailing list