[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