Content Creation/Scripting User Group/Transcripts/2011 12 05

== List of Speakers ==
Leonel Iceghost
Liisa Runo
Rehman Polanski
Vincent Nacon
== Transcript ==
[08:59] Qie (qie.niangao): Hi, Kelly
[09:00] Liisa Runo: hi
[09:00] Kaluura (kaluura.boa): Morning...
[09:00] Leonel Iceghost: hi
[09:00] Koli Contepomi (sahkolihaa.contepomi): Hey Kelly.
[09:00] tehKellz (kelly.linden): Good morning
[09:01] tehKellz (kelly.linden): Hope everyone had a good weekend
[09:01] Rehman Polanski: oooops
[09:02] tehKellz (kelly.linden): News first.
[09:03] tehKellz (kelly.linden): Last week we had some issues on the server side. We promoted LeTigre then rolled it back, and merged what was on LeTigre with what was going to go on LeTigre.
[09:03] tehKellz (kelly.linden): New LeTigre has llTransferLindenDollars and llGetParcelMusicURL
[09:03] tehKellz (kelly.linden): But also has a bug with the timer event on object rez.
[09:04] tehKellz (kelly.linden): That bug is fixed and tested internally so will go out to LeTigre this week.
[09:05] Kaluura (kaluura.boa): Pity... I was hoping the temp rezzers would become broken gridwide...
[09:05] Vincent Nacon: why?
[09:05] tehKellz (kelly.linden): :)
[09:05] Liisa Runo: cause temp r3ezzers are evil and LL fail to ban them with policy
[09:05] Kaluura (kaluura.boa): Temp rezzers as they are scripted right now are murdering the sims...
[09:06] Leonel Iceghost: I don't know I made one of those and it doesn't seem to lag anything
[09:06] Vincent Nacon: or just bad scripters
[09:06] Jonathan (jonathan.yap): If they are throttled what would break?
[09:06] tehKellz (kelly.linden): If anyone notices strange LSL behavior please don't hesitate to report it in SVC or SCR. We do triage those lists and investigate them pretty quickly.
[09:06] Kaluura (kaluura.boa): Think what it represent for the sim to re-rez the prims and the scripts every minute... Hmmm...
[09:06] Leonel Iceghost: it is one script
[09:07] Vincent Nacon: say goodbye to happy-trigger gun folks?
[09:07] tehKellz (kelly.linden): If the items being rezzed are unscripted the load is significantly lower than if they are scripted. But still not optimal.
[09:07] Kaluura (kaluura.boa): Very sub-optimal...
[09:07] Liisa Runo: just one item temp rezzed is not causing very visible lag, but some people temp rez 1000 objects, and some even make those horrible temp rezzers that use chat to function
[09:08] Leonel Iceghost: even 1000 prims doesn't lag anything in a homestead
[09:08] tehKellz (kelly.linden): using chat to function, on an otherwise quiet channel, isn't that bad of a thing.
[09:08] tehKellz (kelly.linden): Although they could update to llRegionSayTo
[09:08] Liisa Runo: it is when you need 0 chat messages to get the same behavior and functionality
[09:09] Kaluura (kaluura.boa): Any way, LL should ban them just because they are used to stay over quota.
[09:09] Kaluura (kaluura.boa): Why should we pay a full tier when we can temp rez half of a sim?
[09:09] Leonel Iceghost: you can't
[09:09] Leonel Iceghost: there is a limit
[09:10] Qie (qie.niangao): the limit does seem absurdly generous, though, for any practical purpose.
[09:10] Vincent Nacon: old scripters that already left SL + clueless residents that use their scripts = LL's problems.
[09:10] tehKellz (kelly.linden): Indeed there is still a limit on temp objects. It is a % bonus
[09:10] Liisa Runo: yea, there is a limit, 1000 temp prims on a parcel, so with lil parcel cutting, you can put 10000 prims to 400m2 area
[09:10] Kaluura (kaluura.boa): Yeah... Very generous... And I was exaggerating when I said "half sim". I don't know the exact numbers. I just hate temp rezzers...
[09:11] Leonel Iceghost: Liisa, there are two limits
[09:11] Leonel Iceghost: one is 1000 prims for a big parcel
[09:11] Leonel Iceghost: and there is onother which is a % of the land
[09:11] Liisa Runo: what ever the parcel size, it never go under 1000
[09:11] Leonel Iceghost: so if you put a very small parcel you won't get many prims
[09:11] Liisa Runo: you do, tested
[09:12] Leonel Iceghost: I tested it last year
[09:12] Object: Hello, Avatar!
 Kelly Linden's BLING Land: (2032 m2)
 Total prims: 1097 - Used: 110 - Free: 987
 Normal prims: 465 - Used: 110 - Free: 355
 Used by owner: 85
 Used by group: 0
 Used by others: 1
 Selected or salt on: 24
 Extra prims: 632 - Used: 0 - Free: 632
[09:13] Liisa Runo: guess i need to test again, anyway, not the best topic for this OH, Kelly cant change the policy
[09:13] Leonel Iceghost: this parcel allows 632
[09:13] Leonel Iceghost: extra prims
[09:14] tehKellz (kelly.linden): Looks like the formula is 400 + 50% normal prims up to 1000
[09:14] Qie (qie.niangao): that sounds familiar
[09:15] tehKellz (kelly.linden): Which matches what Leonel's object reports.
[09:15] Leonel Iceghost: maybe that 400 is the too generous part
[09:16] Liisa Runo: yup
[09:16] tehKellz (kelly.linden): Possibly. There is also a region wide limit of 2000
[09:16] Liisa Runo: that sounds new
[09:16] Leonel Iceghost: that's new to me too
[09:16] tehKellz (kelly.linden): So temp + regular can only go to 17000
[09:16] tehKellz (kelly.linden): on a full region
[09:16] Kaluura (kaluura.boa): Yeah... Never hear of a simwide limit...
[09:16] Jonathan (jonathan.yap): So too many temp rezzers in the same region would partially disable each other
[09:16] Kaluura (kaluura.boa): heard*
[09:17] tehKellz (kelly.linden): Yeah jonathan.
[09:17] Kaluura (kaluura.boa): Good to know... Now, I have a new plan... Fill my sim with temp rezzer to kill the one of the neighbors.... Muhahaha
[09:17] Leonel Iceghost: hahahahah
[09:17] tehKellz (kelly.linden): Every rez checks parcel limits then the region limit. The region limit gets a 2k bonus on this check if the rez is temp.
[09:17] Liisa Runo: yea, i will totally use that to fuckup the neighbors temp shit
[09:18] tehKellz (kelly.linden): hah
[09:18] tehKellz (kelly.linden): Don't tell me about that kind of thing. :(
[09:18] Liisa Runo: why?
[09:18] Qie (qie.niangao): ah, so actually, can rez more as long as there are spare non-temp prims available too
[09:18] tehKellz (kelly.linden): Sshhh, charlar is here.
[09:18] Jonathan (jonathan.yap): so their house or whatnot will stat to fliker in and out?
[09:18] Liisa Runo: you see the server code, you know very well how big drain the temp rezzing cause
[09:18] Mumbles (charlar.linden): what is going on here!?
[09:19] Phoenix-FirestormViewer Rocks (tankmaster.finesmith): hiya charlar
[09:19] Vincent Nacon: Char, if I punch you, do I get wood?
[09:19] Mumbles (charlar.linden): not sure how to answer that.
[09:19] Vincent Nacon: muhaha!
[09:19] Qie (qie.niangao): wait, the Adult user group is *next* hour :p
[09:19] Mumbles (charlar.linden): I was here before, just had to jump away for a sec.
[09:19] tehKellz (kelly.linden): Yeah it isn't a limit on temp specifically at 2000. It is that a full region can have 17k temp+normal, a homestead could have 5.7k temp+normal. (if I did my math right)
[09:19] Vincent Nacon: sorry, played too much Minecraft
[09:20] Phoenix-FirestormViewer Rocks (tankmaster.finesmith): you mean mindcrack?
[09:20] Vincent Nacon: yes... mindcraft
[09:20] Phoenix-FirestormViewer Rocks (tankmaster.finesmith): :D
[09:20] Liisa Runo: also, people who use temp rezzing are cheating money from LL, that is away from your x-mas bonus, you should hate temp rezzers as much as we do who see them cut out 10% of the juice on our sims
[09:20] Vincent Nacon: minecrack
[09:20] Vincent Nacon: mindcrack *
[09:20] Vincent Nacon: @RYT@%
[09:21] Phoenix-FirestormViewer Rocks (tankmaster.finesmith): lol
[09:21] tehKellz (kelly.linden): So that is all the 'news' I've had, though we've strayed from news a bit already.
[09:21] Vincent Nacon: how are they cheating again, Lisa?
[09:21] tehKellz (kelly.linden): I did have an interesting question to discuss though.
[09:21] Vincent Nacon: ask away
[09:21] Liisa Runo: cheating = getting something for free that you are suppesed to pay for
[09:21] tehKellz (kelly.linden): A while ago I added some code, disabled now, to do dynamic timeslicing for scripts.
[09:22] tehKellz (kelly.linden): Currently scripts get a max timeslice of 150us, or 1 event.
[09:22] tehKellz (kelly.linden): (they won't process more than 1 event in a given time slice)
[09:22] Vincent Nacon: I don't see how it's cheating when it's already given to begin with.... anywho
[09:22] Jonathan (jonathan.yap): Does a script waiting for, say, a touch, take up any time?
[09:23] tehKellz (kelly.linden): It takes up a very, very small amount Jonathan. Generally less than 1ms.
[09:23] tehKellz (kelly.linden): er
[09:23] tehKellz (kelly.linden): 1us
[09:23] Vincent Nacon: is that 0.0001 or 0.0000001?
[09:24] Liisa Runo: given? what you mean given? given like the possibility to dump toxic waste to a lake in RL? possible but not very nice
[09:24] tehKellz (kelly.linden): 0.001 is 1 ms, 0.000001 is 1us
[09:24] Vincent Nacon: rightly so, Liisa
[09:24] Kaluura (kaluura.boa): Kelly, focus!
[09:24] Vincent Nacon: on what?
[09:25] tehKellz (kelly.linden): So, there is a bit of a cliff when you get past the number of scripts you can run in a single sim frame.
[09:25] tehKellz (kelly.linden): That is when script performance starts to drop.
[09:25] Vincent Nacon: anything below a ms time... doesn't simply exist to me
[09:25] tehKellz (kelly.linden): What dynamic timeslicing does is make that 150us more flexible to attempt to get all the scripts into a single timeslice.
[09:26] Leonel Iceghost: you mean it goes down?
[09:26] tehKellz (kelly.linden): It also potentially stretches the other way to give scripts in regions with fewer scripts more time per slice
[09:26] tehKellz (kelly.linden): Yes.
[09:26] Jonathan (jonathan.yap): Kelly, I had this idea a while ago about scripts being able to set their priority. Ones you know don't have to act quickly could be marked and so give more resouces to ones that need to act faster
[09:27] tehKellz (kelly.linden): The dynamic timeslices I'm talking about do not have a priority consideration.
[09:27] Jonathan (jonathan.yap): This discussion just triggered that memory, carry on :)
[09:27] Kaluura (kaluura.boa): Who is losing in this battle? If more time is given to the script... What get slower instead?
[09:28] Kaluura (kaluura.boa): scripts*
[09:28] Liisa Runo: spare time get slower
[09:28] Leonel Iceghost: less time is given to busy sims
[09:28] tehKellz (kelly.linden): spare time gets lower.
[09:28] Jonathan (jonathan.yap): when you need more time than is available in a frame you lose
[09:28] Leonel Iceghost: but it sounds well to me, you don't have the time anyway for them all at the end
[09:30] Kaluura (kaluura.boa): Why is the code deactivated if it's so interesting... on the surface?
[09:30] Qie (qie.niangao): seems there should be some overhead in switching between scripts, so if more scripts get processing in a frame, it might slightly reduce total time productively processing scripts.
[09:31] tehKellz (kelly.linden): The dynamic ones would adjust to the available time, with some histeresis. So if you had slow frames then scripts would adjust to smaller slices and if the sim became more idle they would get more time.
[09:31] tehKellz (kelly.linden): Qie: That is true.
[09:31] Leonel Iceghost: currently if your scripts takes 151us, does it run only one event in 2 frames, or it starts with another event?
[09:32] tehKellz (kelly.linden): Kaluura: It needs significant testing.
[09:32] tehKellz (kelly.linden): If it takes 151us to run it will do 150us one frame then 1us the next.
[09:33] Leonel Iceghost: and doesn't run any other event with those 149 left?
[09:33] tehKellz (kelly.linden): correct - the next script will get time.
[09:34] Jonathan (jonathan.yap): With slicing how would the behavior be different (assuming TD is constant)?
[09:34] tehKellz (kelly.linden): However changing it so that scripts can run as many events as they want in a frame would have *drastic* effects on some content.
[09:35] tehKellz (kelly.linden): With the static slicing for example you could have a region with 5k scripts and no spare time - it is actually running 4k scripts a frame so not every script gets run every frame.
[09:35] Kaluura (kaluura.boa): EVents being queued, it shouldn't change much for a script.... Except that things may go much faster.
[09:35] Liisa Runo: this reminds me.. lately i have seen this one disposable griefer do something to cause sim to go to 0.1TD and 0.1FPS, the script time jumps to 200.0ms and it stays like this. i wonder if some linden would like to investigate?
[09:36] tehKellz (kelly.linden): With the dynamic timeslicing the max slice for each script would drop to maybe 110us to allow all scripts to run at least some in the same frame.
[09:36] tehKellz (kelly.linden): Kaluura: Any script that uses llSleep(0.0001) to skip to the next frame may change behavior, right?
[09:37] Jonathan (jonathan.yap): Do the scripts that don't get time in the current system get moved to the top of the to-run list for the next frame, or is it catch-as-catch-can every frame?
[09:37] tehKellz (kelly.linden): Liisa: I'd need a lot of details to come up with a repro. He may be adding a slew of mono scripts to objects for example.
[09:37] Leonel Iceghost: so scripts wouldn't lose anything in slow sims, but would gain in fast sims
[09:38] tehKellz (kelly.linden): Jonathan: we continue where we left off from the end of the previous frame
[09:38] Liisa Runo: so no help if i just give time and location and object owner so LL can look at the logs?
[09:38] tehKellz (kelly.linden): doh
[09:38] tehKellz (kelly.linden): sorry, that doh was for the wrong chat
[09:38] tehKellz (kelly.linden): If it was recent I may be able to get something from the logs.
[09:39] Liisa Runo: it happens every day, ill just get the time and stuff next time it happens and ill send them to you
[09:39] Liisa Runo: if you are intrested
[09:39] tehKellz (kelly.linden): sure
[09:40] Liisa Runo: to me it seems quite unnatural that script tim can go that high, and override phys time
[09:40] tehKellz (kelly.linden): yeah, it is unnatural.
[09:40] tehKellz (kelly.linden): It would take a lot of doing something that makes the sim slow, like rezzing.
[09:40] Leonel Iceghost: scripts always override physics
[09:40] Leonel Iceghost: I know you say otherwise, but..
[09:40] Kallista Arliss (kallista.destiny): I thought it was the other way
[09:40] Liisa Runo: physics have priority over scripts
[09:40] tehKellz (kelly.linden): Actually they don't.
[09:41] Leonel Iceghost: you say that, but you put 10k scripts and you cannot run
[09:41] Leonel Iceghost: that is, you cannot move well when running
[09:41] Leonel Iceghost: maybe it overrides comunications with the client stuff, and I see lag.. but it is the same effect
[09:42] tehKellz (kelly.linden): I've done tests with >10k non-physics involving scripts without issues. If the scripts are doing things that involve physics it is an entirely different story
[09:42] Jonathan (jonathan.yap): Leonel, maybe your viewer is being swamped with object updates of some kind
[09:42] tehKellz (kelly.linden): If they are rezzing or changing physics shape (ie child prims changing relative position) then we are getting into physics and sim performance.
[09:42] tehKellz (kelly.linden): Object update floods could also be an issue.
[09:42] Leonel Iceghost: I'll try to make controlled tests, thanks for the tip
[09:43] Liisa Runo: floods like temp rezzing :P
[09:43] tehKellz (kelly.linden): The biggest performance issue with scripts is that most meaningful scripts interact with the sim, the physics system or viewers.
[09:44] tehKellz (kelly.linden): If you they are just sitting there calculating the nth digit of pi, you should be able to have as many of them as you want without effecting the performance of the rest of the sim. Unless you push the memory into swap or something.
[09:44] tehKellz (kelly.linden): If you push the memory into swap all bets are off.
[09:44] Leonel Iceghost: I think they are houses and chairs..
[09:45] Leonel Iceghost: but I'll make my own tests
[09:45] tehKellz (kelly.linden): Okay 15 minutes left - any pressing issues we haven't discussed?
[09:46] Vincent Nacon: anything from Falcon?
[09:46] Liisa Runo: our xmas gift, more script mem, and lists shared between several scripts
[09:46] tehKellz (kelly.linden): I don't have anything from falcon.
[09:46] Vincent Nacon: alright
[09:46] tehKellz (kelly.linden): Liisa: not this xmas.
[09:46] Leonel Iceghost: Jonathan idea was nice
[09:46] Kaluura (kaluura.boa): hehehe
[09:46] Leonel Iceghost: I would like to set some scripts to use less priority
[09:47] Leonel Iceghost: other than changing llMinEventDelay
[09:47] tehKellz (kelly.linden): The easiest way to do that is manually to llSleep and use llMinEventDelay
[09:47] Kaluura (kaluura.boa): Yeah... Me too... A script which is waiting for a touch doesn't need to run every frame...
[09:48] Leonel Iceghost: the problem with llMinEventDelay is that it throws away nice user interation
[09:48] tehKellz (kelly.linden): All we do if it is waiting for a touch is check if any touches have happened. We don't actually load or 'run' the script.
[09:48] Kaluura (kaluura.boa): EVen that is too much...
[09:48] Vincent Nacon: or use start_touch instead of plain touch
[09:48] tehKellz (kelly.linden): We don't run the script when the touch happens, we add a pending event. If there are no pending events we don't 'run' the script.
[09:49] tehKellz (kelly.linden): Honestly you really can't get much lower load than that.
[09:49] Leonel Iceghost: you do with control event
[09:49] tehKellz (kelly.linden): Yeah and that causes lots of problems actually
[09:49] Liisa Runo: priorities sure would be usefull, for example with scripts that need to run on a tight timer, but that are not really that important, would be cool to be able to put those to lower priority
[09:49] tehKellz (kelly.linden): But is too ingrained to change at this point.
[09:50] tehKellz (kelly.linden): What would you expect the behavior of a low priority script to be?
[09:50] Leonel Iceghost: give less us in your dinamic project
[09:50] Vincent Nacon: snoozing?
[09:50] Liisa Runo: for example, get run only once in the time when normal priority script get run 4 times
[09:50] Jonathan (jonathan.yap): I would expect a low priority script to defer to higher priority ones, except they would get a minimum amount of time so they are not stalled out
[09:51] Liisa Runo: but when spare time, get run as fast as others
[09:51] Leonel Iceghost: only in slow sims, that is
[09:51] Leonel Iceghost: so you have all houses and chairs with low priority at least
[09:53] Leonel Iceghost: of course I already can see how any beginner will use high priority for everything, and they are probably who lag the sims.. but at least the tool exist
[09:53] tehKellz (kelly.linden): Should any script be able to set high/low priority? Should any scripts automatically get a higher or lower priority based on some factor like owner?
[09:54] Kallista Arliss (kallista.destiny): or on how much time they've been consuming? Less time == higher priority
[09:54] Phoenix-FirestormViewer Rocks (tankmaster.finesmith): :P
[09:54] Kaluura (kaluura.boa): Yeah... Owner gets higher prority on their land... That makes sense.
[09:54] Jonathan (jonathan.yap): I would let a script lower it's priority. If it was just waiting for a brief event the scheduler could bump the priority up, but as the script started to need more resources it would drop back to its base priority
[09:54] Leonel Iceghost: Kallista I don't agree
[09:55] Phoenix-FirestormViewer Rocks (tankmaster.finesmith): i can see stuff rezzed with the land group tag being able to run in high priority, and nothing else...
[09:55] Leonel Iceghost: Phoenix, you need some huds
[09:55] Phoenix-FirestormViewer Rocks (tankmaster.finesmith): would help minimize accidental or intentional side effects of a higher priority
[09:55] Kallista Arliss (kallista.destiny): why not.. Scripts that use low cpu time should hve hight priority
[09:56] Phoenix-FirestormViewer Rocks (tankmaster.finesmith): i have huds
[09:56] Jonathan (jonathan.yap): My suggestion was to only lower your priority from a base level, that way you are not going to be subject to griefers, hogs, etc
[09:56] Kallista Arliss (kallista.destiny): Well written script should get better access.
[09:56] Vincent Nacon: maybe give script its score like prim with its PE?
[09:56] Phoenix-FirestormViewer Rocks (tankmaster.finesmith): how's going to determan how well a script is written?
[09:56] Jonathan (jonathan.yap): Scripts not "doing" very much could get a brief priority boost so are serviced faster
[09:56] Leonel Iceghost: Jonathan, for that they have to priority for the load script threads, not script themselves
[09:57] Kallista Arliss (kallista.destiny): There would be a benifit for good code
[09:57] Vincent Nacon: not with limit but as ranking
[09:58] Liisa Runo: personally i would just take ability to manually lower the priority, simple and effective in good hands, noobs would not be affected, they would still set everything to normal priority
[09:59] Vincent Nacon: maybe but best let Sim(or parcel?) owners set the priority?
[09:59] Vincent Nacon: and or let them set priority based on scripts's ranking score?
[09:59] Leonel Iceghost: it sounds fair Liisa, and with the functions made they can tweak and add conditions in the future
[10:00] Liisa Runo: the ranking will not be the truth, it will be a lie just like ARC is
[10:00] Vincent Nacon: well of course, I do mean a well thought out ranking system
[10:00] Vincent Nacon: :P
[10:00] Liisa Runo: but yea, sure we could have totally separate ability for parcel owners to have their own script on high priority, but i think that is different from any script set to lower priority, different purposes
[10:01] Vincent Nacon: based on logical wise instead of how often
[10:01] tehKellz (kelly.linden): All right, all very interesting thoughts. Anyone interested in writing up a jira proposal?
[10:01] tehKellz (kelly.linden): :)
[10:01] Jonathan (jonathan.yap): I don't think it is a good idea to give parcel owners a preference, it could be too easily abused
[10:01] Vincent Nacon: not really, I should be working on my car and Avatar 2.0 wiki
[10:01] tehKellz (kelly.linden): Time is up and I have another meeting I need to get to. Thanks for coming everyone.
[10:01] tehKellz (kelly.linden): See you next week.
[10:01] Vincent Nacon: np
[10:01] Leonel Iceghost: thanks Kellz
[10:01] Qie (qie.niangao): Thanks Kelly
[10:01] Jonathan (jonathan.yap): take care Kelly
[10:02] Kallista Arliss (kallista.destiny): thank kelly