llSetLinkPrimitivesParams(string linkname, list rules )
Either of them would do, though.
These forums are CLOSED. Please visit the new forums HERE
New LSL Commands in 1.13.4 |
|
Argent Stonecutter
Emergency Mustelid
![]() Join date: 20 Sep 2005
Posts: 20,263
|
03-01-2007 12:49
llSetLinkPrimitivesParams(string linkname, list rules ) Either of them would do, though. |
Talarus Luan
Ancient Archaean Dragon
Join date: 18 Mar 2006
Posts: 4,831
|
03-01-2007 13:30
You have too much faith in the dedication of programmers. Particularly ones who are not primarily programmers. Like the builders who make 200 prim attachments. I mean, not only does this make the scripting much more complex, there are people who put separate scripts in the same prim in attachments to change the texture, color, and alpha. Seriously. The only way to get people to switch is to make the llSetLinkFoo() stuff *better* than the scripts. Remember who you are talking to here. (Wearer of Daryth Kennedy's 600-800 prim quadraped Dragon avatars.. ![]() I think as advertised, it is better than the script-in-every-prim. We're already looking at ways to incorporate it most effectively in Daryth's avs so we can get rid of 80-90% of the scripts and not lose much functionality. Getting rid of the delay would be the best thing; I can already deal with the link selection issues pretty well. Why LL continues to cling to script delays I will never know. Everyone knows how to get around them, and the workarounds end up causing more problems (lag, poor performance, etc) than the issues they are supposed to solve. |
Lex Neva
wears dorky glasses
Join date: 27 Nov 2004
Posts: 1,361
|
03-02-2007 08:54
Remember who you are talking to here. (Wearer of Daryth Kennedy's 600-800 prim quadraped Dragon avatars.. ![]() You do realize that takes up a good half of a sim's nominal script processing power, right? |
Talarus Luan
Ancient Archaean Dragon
Join date: 18 Mar 2006
Posts: 4,831
|
03-02-2007 10:34
You do realize that takes up a good half of a sim's nominal script processing power, right? Erm. Yep! The scripts in the latest gen are actually very lean as it is (only one listen per attachment; rest are controlled via link messages), but there are a lot of them. Hence why we are on a crusade to further reduce their impact on sims. |
Argent Stonecutter
Emergency Mustelid
![]() Join date: 20 Sep 2005
Posts: 20,263
|
03-02-2007 12:38
...we are on a crusade to further reduce their impact on sims. So even if you drop completely off the radar, I'd still like to see Joannah's suggestion implemented. It would make it actually *easier* to do things the right way than to have a script in every prim. |
Talarus Luan
Ancient Archaean Dragon
Join date: 18 Mar 2006
Posts: 4,831
|
03-02-2007 16:45
I agree, but if we're going to do it the "right way", ultimately, we need customizable avatar meshes/skeletons.
![]() |
Nargus Asturias
Registered User
![]() Join date: 16 Sep 2005
Posts: 499
|
03-04-2007 08:12
EEeeeeee!!!! I'm going to have to redo lots of my scripts because of this. But I'm happy with it!
![]() ![]() ![]() _____________________
Nargus Asturias, aka, StreamWarrior
Blue Eastern Water Dragon Brown-skinned Utahraptor from an Old Time |
Seagel Neville
Far East User
![]() Join date: 2 Jan 2005
Posts: 1,476
|
03-04-2007 19:54
I'm now stopping an project until 1.13.4 is released. Hurry up, please.
![]() _____________________
![]() ![]() |
Gearsawe Stonecutter
Over there
Join date: 14 Sep 2005
Posts: 614
|
03-05-2007 07:52
I take a step out of Beta for one week and this happens!!!!
Woooooohoooooooo! *head explodes* |
bucky Barkley
Registered User
Join date: 15 May 2006
Posts: 200
|
03-05-2007 14:06
>> Each with a 0.2 second sleep and rules as per their non link counterpart.
Wondering out loud.. I am guessing these do not happen in parallel, so if I am updating 20 prims, I get a delay of 4 seconds?? Seems like this will lead some hacks.. linked messages to helper scripts that take on 5 prims apiece ... further thought.. freeing up some scripts from individual prims will lead to storing more state info in root/controller scripts. Give us 64k, for crying out loud! ![]() (feels silly to be asking for 64k in 2007...) |
Argent Stonecutter
Emergency Mustelid
![]() Join date: 20 Sep 2005
Posts: 20,263
|
03-05-2007 14:52
Wondering out loud.. I am guessing these do not happen in parallel, so if I am updating 20 prims, I get a delay of 4 seconds?? |
Gearsawe Stonecutter
Over there
Join date: 14 Sep 2005
Posts: 614
|
03-05-2007 14:59
I also have a question about llSetLinkTexture(). I'll try to get into Beta and test this when beta's up, but in the mean time: what happens if you specify the name of a no-copy texture in an object's inventory when using this function? For example, if I have a no-copy texture named "fred" in the root prim of an object, and I call this: CODE
Will that set the texture fred onto side 1 of prim 2? Will that move the no-copy texture to prim 2? If the no-copy texture is already applied to the current prim, will it be unapplied in the process? Or did I just find a crack in the permissions system that allows you to use a texture multiple times even if it's no-copy? Nope get an error "Texture not copiable". good thinking Lex. |
Joannah Cramer
Registered User
Join date: 12 Apr 2006
Posts: 1,539
|
03-05-2007 17:37
(feels silly to be asking for 64k in 2007...) 64 kb * 5000 scripts in a sim * 4 sims per machine... ~1.2 gb of memory purely to store the scripts, nevermind everything else the server has to handle ^^ |
bucky Barkley
Registered User
Join date: 15 May 2006
Posts: 200
|
03-05-2007 23:26
Precisely why we're discussing ways to specify multiple prims at once. Ya, I know.. it's very useful - just would be good to hear from a Linden why it would be different from a linked message. Next up.. quicktime cut scenes while the object behind it is busy getting updated ![]() |
Strife Onizuka
Moonchild
![]() Join date: 3 Mar 2004
Posts: 5,887
|
We're not worthy
03-06-2007 05:21
You do realize that takes up a good half of a sim's nominal script processing power, right? Only if you send a LINK_SET or LINK_ALL_OTHERS; or cross a sim boarder (or if every script has a listen... or a timer...) . ![]() _____________________
Truth is a river that is always splitting up into arms that reunite. Islanded between the arms, the inhabitants argue for a lifetime as to which is the main river. - Cyril Connolly Without the political will to find common ground, the continual friction of tactic and counter tactic, only creates suspicion and hatred and vengeance, and perpetuates the cycle of violence. - James Nachtwey |
Argent Stonecutter
Emergency Mustelid
![]() Join date: 20 Sep 2005
Posts: 20,263
|
03-06-2007 08:47
Only if you send a LINK_SET or LINK_ALL_OTHERS; or cross a sim boarder (or if every script has a listen... or a timer...) . ![]() Have you quantified that? I've thought that a lot of people are taking the "active scripts" numbers too seriously, and that a script just waiting on link messages shouldn't be using that much time, but I haven't tested it so I've been mostly holding my muzzle shut. If you've got some figures that'd be really nice. |
Lex Neva
wears dorky glasses
Join date: 27 Nov 2004
Posts: 1,361
|
03-06-2007 09:46
Nope get an error "Texture not copiable". good thinking Lex. Well, I guess that's pretty much what I expected, although it would have been nice if it actually did attempt to move the texture over to the child prim or something. Thanks for testing this for me, Gearsawe! |
Lex Neva
wears dorky glasses
Join date: 27 Nov 2004
Posts: 1,361
|
03-06-2007 09:47
Only if you send a LINK_SET or LINK_ALL_OTHERS; or cross a sim boarder (or if every script has a listen... or a timer...) . ![]() No, actually, what I meant was that "dormant" active scripts still take up a lot of Script Time. Here's a link to my research: /54/8f/105133/1.html |
bucky Barkley
Registered User
Join date: 15 May 2006
Posts: 200
|
03-06-2007 11:09
64 kb * 5000 scripts in a sim * 4 sims per machine... ~1.2 gb of memory purely to store the scripts, nevermind everything else the server has to handle ^^ 1) it's not an additional 1.2 gb of memory from what we have now 2) if you are running far fewer scripts, because you dont need to split up amongst multiple 16k segments, that's a win.. overall script memory footprint on a Sim could actually go down... 3) less context switching |
Walker Moore
Fоrum Unregular
![]() Join date: 14 May 2006
Posts: 1,458
|
03-06-2007 11:14
These seem to have slipped from the release notes, but i know quite a few have been looking forward to these. Currently on the aditi beta grid. llSetLinkTexture(integer link_pos, string texture, integer face) Sets the texture of face for link_pos it's been a long time coming milo! i never really understand why llsetlinkcolor didn't have this sister function in the first place. many thanks. =) |
Haravikk Mistral
Registered User
Join date: 8 Oct 2005
Posts: 2,482
|
03-06-2007 13:16
Now, before this goes out, can I BEG for a smallc hange in llSetLinkPrimitiveParams()? People may still be inclined to use a whole slew of scripts in each prim of a link set rather than llSetLinkPrimitiveParams, llSetLinkTexture, or the other llSetLink* functions because that would be the only way to get a bunch of changes on a bunch of prims to happen all at the same instant. This is a real pain for the sim, because having so many scripts really hurts the sim's Script Time stat. So can you change it so that the link number is specified in the parameter list for llSetLinkPrimitiveParams for each rule? *Agrees on this one* For rotating parts of a linked set around a point (but not the whole linked-set) and things like that, this would be EXTREMELY useful with a corresponding llGetLinkPrimitiveParams() call. That way I can get the params of my objects, process through them, then apply all the changes at once. e.g: llGetLinkPrimitiveParams(list links, list params) could return a list containing the values for each parameter you specified, with each 'row' being for a single link you specified in the links list. _____________________
Computer (Mac Pro):
2 x Quad Core 3.2ghz Xeon 10gb DDR2 800mhz FB-DIMMS 4 x 750gb, 32mb cache hard-drives (RAID-0/striped) NVidia GeForce 8800GT (512mb) |
Talarus Luan
Ancient Archaean Dragon
Join date: 18 Mar 2006
Posts: 4,831
|
03-07-2007 09:16
64 kb * 5000 scripts in a sim * 4 sims per machine... ~1.2 gb of memory purely to store the scripts, nevermind everything else the server has to handle ^^ 1) Not every script *needs* 64k. Virtual memory allocation techniques can be used to control how much memory is really used by scripts. Allocating in the normal 4k page size would probably give enough resolution to at least halve that figure, on average. 2) 1.2GB on *server* machines these days is a drop in the bucket. 8, 16, and even 32GB of memory on servers is not entirely uncommon. |
Haravikk Mistral
Registered User
Join date: 8 Oct 2005
Posts: 2,482
|
03-07-2007 10:52
2) 1.2GB on *server* machines these days is a drop in the bucket. 8, 16, and even 32GB of memory on servers is not entirely uncommon. That depends. iirc the class 4 machines have 2gb RAM, which equates to around 512mb for each sim, minus overhead for all the stuff the simulator needs besides scripts. So with 1.2gb of active scripts (that's where I'm assuming the figure of 5000 scripts comes from) then they need to be kept in RAM as much as possible in order for them to be any decent amount responsive, if they're constantly being fetched from the hard-drive then it just becomes impossibly slow. IMO they should of course have more RAM really, as 512mb is barely anything when it comes down to it, especially for fairly fast machines as there simply isn't enough data in RAM to process and the result is that the processor spends far too much of its time idle. I did post back on the old Linden answers forum but never got a response on any potential for a RAM upgrade in future. As really the class 3 and class 4 machines don't have that much difference, except that I think the class 3's had less RAM per core, if upgraded then both would perform far better. And even ECC (standard for servers) ram isn't that expensive these days. _____________________
Computer (Mac Pro):
2 x Quad Core 3.2ghz Xeon 10gb DDR2 800mhz FB-DIMMS 4 x 750gb, 32mb cache hard-drives (RAID-0/striped) NVidia GeForce 8800GT (512mb) |
Joannah Cramer
Registered User
Join date: 12 Apr 2006
Posts: 1,539
|
03-07-2007 17:09
1) Not every script *needs* 64k. Virtual memory allocation techniques can be used to control how much memory is really used by scripts. Allocating in the normal 4k page size would probably give enough resolution to at least halve that figure, on average. If i understand it right the forthcoming version of LSL based on Mono has some ability to allocate/free memory for scripts in smaller chunks (and dynamically adjust it on the fly) but that's still yet to come, and in the meantime the current version allocates fixed space per script no ifs and buts about it. 2) 1.2GB on *server* machines these days is a drop in the bucket. 8, 16, and even 32GB of memory on servers is not entirely uncommon. Like pointed out, LL's class 4 servers are equipped with 2 gb of memory. Class 5 doubles that, for 4 gb per server. My point was really that it's not some outrageous amount of space that the servers cannot currently handle, but rather to address the "what is 64 kb nowadays" sentiment. A single instance of 64 kb is indeed trivial and not worth fussing about, but this approach completely overlooks just how many instances of such small chunks the server actually has to handle ^^ |
Talarus Luan
Ancient Archaean Dragon
Join date: 18 Mar 2006
Posts: 4,831
|
03-07-2007 20:52
If i understand it right the forthcoming version of LSL based on Mono has some ability to allocate/free memory for scripts in smaller chunks (and dynamically adjust it on the fly) but that's still yet to come, and in the meantime the current version allocates fixed space per script no ifs and buts about it. As far as I knew, the request for 64kb was a "wishlist"-type request. I didn't read it as a "now, just do this next using only what you got right this second". ("asking for 64kb in 2007", I believe the OP said). I am WELL AWARE of how the current version allocates space for scripts, thanks. ![]() Like pointed out, LL's class 4 servers are equipped with 2 gb of memory. Class 5 doubles that, for 4 gb per server. Expandable to how much? How soon? My point was really that it's not some outrageous amount of space that the servers cannot currently handle, but rather to address the "what is 64 kb nowadays" sentiment. A single instance of 64 kb is indeed trivial and not worth fussing about, but this approach completely overlooks just how many instances of such small chunks the server actually has to handle ^^ I don't think it was a matter of overlooking anything. It was a simple "would be nice"-type request. Yeah, maybe it couldn't be done by the next update, but there's nothing saying it can't be looked at (and maybe it is; who knows?) in the near-term to see if it would be possible to do. One of the many issues with SL is that you have to write hugely inefficient scripts in multiple pieces to get something remotely resembling a very efficient script which would fit in maybe double the space. So, which is better: A 32kb script limit, or everybody using up 64kb in 4 16kb scripts to approximate what they could get done with one in 32kb? Personally, I think that sims should be coded to have a fixed max # of scripts, with the sim owner(s) scripts having priority over anyone else's. Then you can raise the memory limit, and lower the max scripts active, and many people would be happy. yeah, some folks with their 500-script gadgets or avs would hate it, but tough (and that comes from a 700-prim/script Dragon av owner here). I would MUCH rather have a less laggy / more stable simulation which is telling people "no you can't run anymore scripts, sorry". Point is, there are tons of optimizations they COULD do to ease some of the restrictions on script size and execution, all without breaking very much existing functionality (if any at all). However, they are putting all their eggs in one basket, Mono, and have been for a couple years now. hopefully Mono will be the shiznit everyone thinks it is (I have my doubts, of course), but we can hope for some relief from the problems in between now and then. I mean, we got llSetLinkPrimitiveParams, didn't we? That was a huge pipe dream of mine. |