Limit on number of scripts in a linkset?
|
|
Barrington John
Yorkshire guy
Join date: 17 Nov 2007
Posts: 119
|
02-20-2009 16:31
I have a linkset of 73 prims, and have copied a script out to each one using llRemoteLoadScriptPin(), but each time I do this only 64 of them respond to pings. This makes me suspect that I've hit a limit somewhere - running scripts per linkset? - but I can't find anything about such a limit on the LSL wiki.
Anyone any ideas? TIA.
ETA: the ping/pongs use link messages, natch.
|
|
Barrington John
Yorkshire guy
Join date: 17 Nov 2007
Posts: 119
|
02-20-2009 17:00
Some results from testing - I get the limit of 64 in a testing linkset of 256 when I use a single LM to broadcast a PING, but if I PING each linked prim individually on receipt of a PONG from its predecessor, the limit disappears. This answers the question. According to the LSL Wiki entry on Events[1], 64 is the limit on queued events, so any PONGs beyond the 64th were being dropped. Sorry to have wasted a thread on this - I really should have thought laterally more before posting. [1] http://www.lslwiki.net/lslwiki/wakka.php?wakka=Events
|
|
SuezanneC Baskerville
Forums Rock!
Join date: 22 Dec 2003
Posts: 14,229
|
02-20-2009 17:51
I enjoyed reading it.
_____________________
-
So long to these forums, the vBulletin forums that used to be at forums.secondlife.com. I will miss them.
I can be found on the web by searching for "SuezanneC Baskerville", or go to
http://www.google.com/profiles/suezanne
-
http://lindenlab.tribe.net/ created on 11/19/03.
Members: Ben, Catherine, Colin, Cory, Dan, Doug, Jim, Philip, Phoenix, Richard, Robin, and Ryan
-
|
|
Hewee Zetkin
Registered User
Join date: 20 Jul 2006
Posts: 2,702
|
02-20-2009 23:31
Yeah. In particular I know link messages are dropped after 64 queue up for a single destination script. I've seen allusions to other events acting the same. Maybe link messages just have the potential for being delivered much quicker than other events, so it is visible for them.
Perhaps consider a hierarchical messaging model, where the scripts in prim number N send their messages only to prim number floor(N/4) (or, phrasing it the other way, prim N handles messages from prims 4N to 4N+3), and a script in each destination prim processes the results and sends a condensed message on to its own "messaging parent". I've used helper prims before for distributing link messages to scripts when a lot of work has to be done. The key is using the link number in the call to llMessageLinked() instead of just sending out to the world using LINK_SET, thereby flooding every script in every prim with every message that is sent.
|
|
Barrington John
Yorkshire guy
Join date: 17 Nov 2007
Posts: 119
|
02-21-2009 04:21
In fact, the simplest solution seems to be working fine - send a PING to 2 (the root contains the PINGing script), when you get the PONG back send a PING to 3, and so on through the set until you've heard from them all. It probably wouldn't be efficient enough if you were expecting some prims not to respond - after all, you've got to let the timeout on its predecessor complete before moving on - but in this case it's good enough for the job, since (a) I'm not expecting prims *not* to respond - only under very exceptional circumstances might they not; and (b) it's only for occasional personal use.
It's very fast too, ripping through that 256-prim linkset like a dervish, whatever a dervish is.
|
|
Void Singer
Int vSelf = Sing(void);
Join date: 24 Sep 2005
Posts: 6,973
|
02-21-2009 21:08
as to the original question, there doesn't even seem to be a realistic limit to the number of scripts in a single prim. Jesse Barnett tested this up to several thousand. the com limit though can be a PITA... footnote: back long before H4 there was also some random single prim communication failures using LINK_SET or LINK_ALL_OTHERS, where a few prims would randomly fail to receive a message... dun think it still occurs though PS http://en.wikipedia.org/wiki/Dervish (see the 'whirling dervish' reference, but sometimes taken to be a mechanism that spins around causing destruction [well in cheap SF novels anyways], Guild wars has a similarly named fighter class, and I think AD&D has one as well)
_____________________
| | . "Cat-Like Typing Detected" | . This post may contain errors in logic, spelling, and | . grammar known to the SL populace to cause confusion | | - Please Use PHP tags when posting scripts/code, Thanks. | - Can't See PHP or URL Tags Correctly? Check Out This Link... | - 
|
|
Jesse Barnett
500,000 scoville units
Join date: 21 May 2006
Posts: 4,160
|
02-21-2009 23:08
From: Void Singer as to the original question, there doesn't even seem to be a realistic limit to the number of scripts in a single prim. Jesse Barnett tested this up to several thousand. the com limit though can be a PITA... Yep, It is one heck of a lot more then you would ever WANT to put in a prim.
_____________________
I (who is a she not a he) reserve the right to exercise selective comprehension of the OP's question at anytime. From: someone I am still around, just no longer here. See you across the aisle. Hope LL burns in hell for archiving this forum
|
|
Barrington John
Yorkshire guy
Join date: 17 Nov 2007
Posts: 119
|
02-24-2009 04:37
From: Void Singer footnote: back long before H4 there was also some random single prim communication failures using LINK_SET or LINK_ALL_OTHERS, where a few prims would randomly fail to receive a message... dun think it still occurs though Yes, I remember that, and I agree, it does seem to have disappeared. I no longer bother explicitly dealing with lost LMs these days, and it's yet to bite me upside the ass. From: Jesse Barnett Yep, It is one heck of a lot more then you would ever WANT to put in a prim. Well, it could come in handy if you're in an ARC contest. A few thousand scripts in each lock of a 256-prim hairdo, each script with its full complement of channel-0 llListens(), should get you first prize, not to mention make you ... unapproachable ... 
|