Dahlia's suggestion about making the prims phantom during rezzing was 
helpful, but didn't fix my problems completely.

It looks like there are several problems that are converging to create a 
perfect storm.

1) Something about script execution or creation is slower in 0.6.6.  I 
can't put my finger on it, but I definitely see a significant difference.

2) I'm not sure if this is a new problem or if it is simply being made 
visible by Problem 1, but I'm seeing scripts spontaneously stop 
executing in 0.6.6.  For example, I have one script that makes a call to 
llSleep.  Before it sleeps, it prints the number of seconds that it will 
sleep and then when it comes back from sleep, it prints "I'm back".  I 
have clearly seen that, in some cases, it never comes back.  I don't 
know if the script terminates or is dropped from the queue or what.  It 
just never executes after that.  The problem isn't unique to llSleep.  I 
suspect that several unexplained occurrences are due to something like this.

3) There is a problem in which scripts that kill themselves are not 
removed from Active Scripts 
(http://opensimulator.org/mantis/view.php?id=2929).  I know that this 
happens in 0.6.5 and 0.6.6.  I think it happens in 0.6.7, but I've been 
doing so much testing that I can't remember if I specifically confirmed 
that or not.

4) 0.6.7 imposed a very restrictive limit on the distance that an LSL 
script can move a child prim. 
(http://opensimulator.org/mantis/view.php?id=4228).  OpenSim is 
basically unusable for my LSL rezzer until this is relaxed.

Anyway, those are the issues that I am currently aware of.  As I develop 
repros for these and other issues, I will post them to Mantis.

I'm on vacation next week, so I won't be working on this until the 
following week.

--Shack

Shack Dougall wrote:
> 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 <[email protected] 
>> <mailto:[email protected]>> 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
>>     [email protected] <mailto:[email protected]>
>>     https://lists.berlios.de/mailman/listinfo/opensim-dev
>>
>>
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> Opensim-dev mailing list
>> [email protected]
>> https://lists.berlios.de/mailman/listinfo/opensim-dev
>>   
>>     
>
> _______________________________________________
> Opensim-dev mailing list
> [email protected]
> https://lists.berlios.de/mailman/listinfo/opensim-dev
>
>   

_______________________________________________
Opensim-dev mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/opensim-dev

Reply via email to