| General SL Discussion Discuss topics related to Second Life |
![]() |
| | LinkBack | Thread Tools | Display Modes |
| |
| | #27 (permalink) |
| Just a Glitch ![]() ![]() Join Date: Dec 2011 Location: Placebo
Posts: 351
My Mood: SL Join Date: 11/11/2006
Business: Catznip Client: Catznip | If that box still does that (it might not after recent changes) then you need to poke Alexa Linden, there is a 'lag land' project underway. Basically a stated attempt to create the very worst of the very worst. |
| | |
| | #28 (permalink) |
| Imp ![]() ![]() ![]()
Who are you?
Join Date: Nov 2010 Location: Somewhere else.
Posts: 2,340
SL Join Date: Early '06 or late '05, not sure. Client: Singularity | I use llSetMemoryLimit in every mono script I write or work on as it usually helps get a better result in the various detectors. I have noted that two scripts will work in LSL despite requiring ~30k and ~50k to run in mono. Not really sure why but they work better in LSL. The chimera, on the other hand, went from 240k to 9k when I was done with it. Furniture, especially, benefits from conversion to mono as it never crosses sim borders anyway. The old bug was a memory leak. They did some work on it, but left some unfinished, from what I remember. |
| | |
| | #29 (permalink) | |
| Your cutest PITA ![]() ![]()
Don't look yet !
Join Date: Jan 2008 Location: Europe
Posts: 159
My Mood: SL Join Date: 10/28/06
Business: RealRestraint Client: My own RLV | Quote:
So if your script uses lots of strings and/or UUIDs, it is very possible that it is smaller in LSO than in Mono.
__________________ 90% of Sturgeon's law is crap. | |
| | |
| 2 Users Said Thanks : |
| | #30 (permalink) | |
| Placeholder ![]() ![]() ![]()
Mauves ovriers ne trovera ja
bon hostill
Join Date: Oct 2010
Posts: 1,720
My Mood: Client: SL Viewer 3 | Quote:
| |
| | |
| 8 Users Agreed: |
| | #31 (permalink) | |
| Just a Glitch ![]() ![]() Join Date: Dec 2011 Location: Placebo
Posts: 351
My Mood: SL Join Date: 11/11/2006
Business: Catznip Client: Catznip | Quote:
The transaction is added to a queue, processing it might get pushed to the next frame, or the one after that or 20 frames after that but it will still be processed (even then we're still talking less than a second delay - The region runs at 45 frames a second on a good day.). You get a transaction failure if it takes way to long to get to (over a minute I think), but that's pretty rare now and usually indicates a problem elsewhere. You can also sell goods using a buy box that uses zero scripts. | |
| | |
| | #33 (permalink) | |
| Just a Glitch ![]() ![]() Join Date: Dec 2011 Location: Placebo
Posts: 351
My Mood: SL Join Date: 11/11/2006
Business: Catznip Client: Catznip | Quote:
Key Compression - Second Life Wiki | |
| | |
| | #34 (permalink) | ||||||||||||||||
| That Bitch ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() *SLU Supporter* ![]() ![]() ![]() ![]() ![]()
Innocent as far as you know
Join Date: Nov 2011 Location: Online
Posts: 6,372
My Mood: SL Join Date: late 04... that account is deleted now | Quote:
like any complex topic, it's easy to get lost in supposed rules.... Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
even without knowing how large the scripts are, the number of them can be quite instructive, especially if they are within a single source.... every script is supposed to get an equal share of available time.... more scripts = more time (yes, even at idle). Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
__________________ - These eyes can do more than see Quote:
Quote:
| ||||||||||||||||
| | |
| 9 Users Said Thanks : |
| 12 Users Agreed: |
| | #35 (permalink) |
| Just call me Beth ![]() ![]() ![]() ![]() ![]()
Singing along with old music
Join Date: Mar 2011 Location: Out in the mists
Posts: 5,794
My Mood: SL Join Date: Oct 4 2009
Business: Faerycat Designs Client: Firestorm | I knew someone who knew much more on scripting could actually set the record straight. Yay Void! |
| | |
| 1 User Agreed: |
| | #36 (permalink) | |
| Lustful Cockmonster ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() *SLU Supporter* ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
Unedited
Join Date: Jun 2007 Location: Sydney, Australia
Posts: 51,807
My Mood: SL Join Date: October 2004 Blog Entries: 1 | Quote:
Salient point in all of this, though, remains that it's simply much easier to remove scripted items if you're going to a charity event with 50+ other avatars. | |
| | |
| 1 User Agreed: |
| | #37 (permalink) |
| That Bitch ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() *SLU Supporter* ![]() ![]() ![]() ![]() ![]()
Innocent as far as you know
Join Date: Nov 2011 Location: Online
Posts: 6,372
My Mood: SL Join Date: late 04... that account is deleted now | There are two basic problems that LLL can do very little to contain.... the first is script count. script count matters because scripts get a fixed minimum of time to work in each frame... even idle scripts us up a small fraction. the more scripts that need to be run, the more minimums need to be met.... if all minimums cannot be met, then the ones that lost out last frame go first. this is the cause of script time dilation (making the script seem to run slower). While it is true that they will all still run, it's also true that they will all run slower, and slow or non-responsiveness is one of the key perceptions of lag. the other is memory size. while various schemes can help this in some instances, they do not come without a cost. MONO seeks to limit it by reclaim unused space in LSO by using flexible containers, and byte code sharing. The cost there is that while MONO runs faster for most things (~10x), the way it is structured means it takes longer to set up (rez) and longer to transfer (region change). it is also very ineffecient in how it assigns memory for certain things (user functions for example) so a good portion of it's memory saving can get lost... ... But even with that, there is still an upper limit. once that upper limit is reached the system can no longer hold all the scripts in memory, and "swaps" them out to a container (page file) on a physical hard drive.... Hard drives are much slower than memory, and response time for everything takes a dive when memory swaps become frequent and/or large... LL has tried to combat this by adding script weight to the "prim count" (land impact) to encourage people to use less, but this doesn't apply to avatars, and they get a free pass in that calculation. which is kinda funny since I see single avatars walking around with more scripts than entire regions of rezzed content. There is also a third problem, regarding some of the Input/Output interfaces which is half design problem, half equipment limitations... LL has done quite a bit to limit most of these problems, mostly by placing caps on how much and how fast certain things can send information, to prevent them from being flooded. Unfortunately it's one of the most common design issues in most scripts, and there are still some really big gaping holes in it that can cause anything from a single slowed script, to the whole region being slowed (yes even physics). TL:DR There was a time when I too bought the simplified version of "Scripts only lag scripts"... but the truth is that scripts can affect every facet: script lag, video lag, i/o lag, physics lag, etc.... fortunately I was around for the rollout of MONO and have kept a close eye on it's benefits and drawbacks... frequent rezzors (weapons mostly), and things that must work fluidly across region crossings (vehicles mostly) still benefit greatly from LSO. Scripts that run mostly code (as opposed to storage memory) that are near the 8k mark will be smaller in LSO, especially if they rely on several small user functions. High script counts are always bad for one reason or another. |
| | |
| 4 Users Said Thanks : |
| 2 Users Agreed: |
| 2 Users Like This: |
| | #38 (permalink) |
| The Purple ![]() ![]() ![]() ![]() ![]() ![]()
HEYOO!
Join Date: Dec 2007 Location: Somewhere purple, Germany
Posts: 7,773
My Mood: SL Join Date: 20. January 2007 Client: NaCl | And that's why I have a personal limit for each, script time, script memory, script amount. Each is a seperate resource from each other. Each can be a problem by itself. Each can be fine while the other is too large or causes problems. And I've taken each with a situation like a 50 avatar event in mind. Script amount: 50 Script max memory: 3 MB Script time: 0.25ms Even if all three limits were to be reached by me, multiplied by 50 avatars that all use this max you still get 2500 scripts 150 MB memory (Total pool is 250 or 300 for scripts, I think) 12.5 ms script time Which is a-okay for a busy sim. So if nobody is wearing scripts that do something stupid like send object updates or http calls nonstop, people gathering that stay within those limits should have no problem. And it's easy to stay within those limits, unless the scripted items are old, or some of them just aren't scripted with efficiency in mind. Usually I sit at around ~15 scripts, with memory below the 1.5 mb range. Still, I take scripts off for events, mainly because I know there will be people with +400 scripts and HNNNNGH script time around, and I don't want to burden the stressed sim further.
__________________ "Have you ever noticed that anybody driving slower than you is an idiot, and anyone going faster than you is a maniac?" - George Carlin |
| | |
| 2 Users Said Thanks : |
| 1 User Likes This: |
| | #39 (permalink) | |
| only mostly banned ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() *SLU Supporter* ![]() ![]()
paddling.....
Join Date: Jul 2009
Posts: 634
My Mood:
Business: Building in Motion
Client: References available on request. Blog Entries: 48 | Quote:
Anyways, the other sin committed in the original post but is alluded to above is that it assumes a static situation. When an agent hits the sim the stack for each non-unique script and the heap for all scripts need to be sent to the core. It goes through the network stack so it takes up bandwith and the server takes a hit. The other issue is that when those scripts come in they have to do an analysis to sort out which events need to be added to the queue. All that takes time and resources. Finally, the memory has to be managed. The mono vm is more aggressive with respect to trying to keep memory contiguous, and that means the core is trying to shift memory around. The cores act like a shared memory machine so that takes up server resources. When a new script comes in it shakes up everything. As agents move in and out of the sim then all this can be a nontrivial hit on resources. Multiply that by the number of scripts, and it adds up quickly. The original analysis assumes a static situation. That is not what SL is a about, and people expect to land on a sim and have everything come together instantly.
__________________ "From this proposition it will follow, when arithmetical addition has been defined, that 1+1=2." - Principia Mathematica, Russel and Whitehead, page 379 (1st ed.) | |
| | |
| 2 Users Said Thanks : |
| 3 Users Agreed: |
| | #40 (permalink) | |
| Lustful Cockmonster ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() *SLU Supporter* ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
Unedited
Join Date: Jun 2007 Location: Sydney, Australia
Posts: 51,807
My Mood: SL Join Date: October 2004 Blog Entries: 1 | Quote:
Trinity (and a couple other people, like Darien) teleported to the sim in normal couture and were ejected by the security system that had to be implemented because billions of scripts crashed the charity sim for three hours. She whinged about how script scanners are bogus and there's no such thing as lag anymore (despite the fact that since implementing the script-ejectors, the sim hasn't crashed at all) and started this thread as an extension of her entitlement. She, Darien and a couple other people were mortally affronted that they were asked to reduce script usage before teleporting in, and were teleported out for failing to do so. They took it as a personal attack on themselves, their creative expression, and their belief in Jesus Christ. | |
| | |
| 2 Users Laughed: |
| 1 User Agreed: |
| | #41 (permalink) | |
| Moo. ![]() ![]() ![]() ![]() Join Date: Dec 2007 Location: Here and there. Kinda inbetween places now.
Posts: 3,767
My Mood: SL Join Date: 11/30/2005
Business: Happy Bivouac/Milk&Cream | Quote:
First off, I do believe having some kinda limits on scripts, similar to how we have limits on prims, would help. But to combine them? Right, because SL needs to look uglier than it already does. This seems like it is going to do more to limit how interesting environments can look than it's going to reduce script related lag. Second of all, yeah, avatars getting a free pass. Plenty of times I've seen a single avatar unwittingly bring a sim to its knees.
__________________ The Digital Pasture - SL from a cow's point of view. When the cow is also a designer. | |
| | |
| 2 Users Agreed: |
| | #42 (permalink) |
| Lustful Cockmonster ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() *SLU Supporter* ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
Unedited
Join Date: Jun 2007 Location: Sydney, Australia
Posts: 51,807
My Mood: SL Join Date: October 2004 Blog Entries: 1 | Yeah, avatars continue to be the worst offenders in prim count, script usage and textures. |
| | |
| 7 Users Agreed: |
| | #43 (permalink) | |||
| Just a Glitch ![]() ![]() Join Date: Dec 2011 Location: Placebo
Posts: 351
My Mood: SL Join Date: 11/11/2006
Business: Catznip Client: Catznip | The post is aimed at people who are NOT scripters. Pretty fair chance people might have heard what LSL is, no one knows what a LSO VM is. Same reason why people say "the sim is down" when in fact they mean the region and everyone's mom thinks the big box that holds the computer is the HD. There comes a point when trying to get everyone using the same words is more then enough to turn your audience off. That might incur the odd technical inaccuracy or misused magical acronym. The intent here is to inform rather than dazzle. Quote:
With LSO the size of the code inside the script is irrelevant. It takes up 16kb of memory every single time, the extra empty space is just that, empty. Empty memory is wasted memory that could be used for something else. Yet it requires exactly the same amount of cpu time when being manipulated. Quote:
This is something that comes up doing viewer development, we see a bit of code, a bit of XML that could be done better, smaller, faster. Even if that code gets run 50 times every second, making it better might have such negligible impact that it's best forgotten about. Otherwise it's months of work and all we've accomplished is feel good factor. Quote:
Measuring script performance and memory use is very expensive and there is a huge difference between what you can do during development and what someone can do peeking at things live in the field. Top scripts only shows spread average figures, which I suspect has more to do with people hitting refresh over and over than presenting actual technical data to an estate manager. If you put 40 avatars on a region with high object updates - like a club with flashing lights. Then you just maxed out the region. The number of scripts and the work involved in processing them is trivial in comparison. Especially with the region changes aimed at keeping the frame time stable and not allowing a script to cause an overrun. Time dilation isn't dead, but it's a lot closer to it than it used to be. The recently announced LL war on lag, most notable by it's absence - scripts! Project Shining to Improve Avatar and Object Strea... - Second Life | |||
| | |
| | #44 (permalink) | |
| Just a Glitch ![]() ![]() Join Date: Dec 2011 Location: Placebo
Posts: 351
My Mood: SL Join Date: 11/11/2006
Business: Catznip Client: Catznip | Quote:
The combined script prim mesh land impact nonsense has been overhauled and is now live on path-finding regions. Expect the land impact of scripted meshy things to drop significantly. The decision to combine script and land impact was probably intended to create a simple end user experience more than anything else. This house is 34 thingies, I have 80 thingies free, yay, it fits. | |
| | |
| | #45 (permalink) |
| Fuzzlebugs Finkmelon ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() *SLU Supporter* ![]() ![]()
haz dem bodacious ta-tas
| Please excuse my ignorance on this - I pretty much know how to check what total scripts my avi is running at any one time - either via SL menu options or just by jumping on one of those script weighing jobbies at a lot of places (I even have one at home to ensure that I don't unwittingly drag too much shite with me if I go somewhere that's likely to be busy - my colour changing fingernails and rings being a prime example). However, so far I've been unable to find any way to pinpoint the numbers of scripts run by each individual item. I'm aware of the usual suspects (ie, boots, hair etc and always make sure I delete scripts once I've finished re-sizing). But it would be useful to have some way of seeing all the scripted items running on my avi, in case I may have some new item that is particularly heavily scripted that I may not be aware of? Or is it just a case of going through everything upon the avi by trial and error? Enquiring minds want to know.... |
| | |
| | #46 (permalink) |
| Emergency Mustelid ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Join Date: Sep 2009
Posts: 15,398
| I've never seen a server referred to as a sim before. Sim - The software that implements the server side of Second Life. Region - What is simulated by a sim. Each sim runs a single region, as well as providing inventory services for in-world objects on that region, web services for scripts in the region, and communications between regions. A server runs multiple sims.
__________________ Argent Stonecutter -- Skyhook Station -- Coonspiracy Store "And now I'm going to show you something really cool." ![]() The previous is a cybernetic datum published - in direct contravention of DoD Regulation #229RR3X3 - as being conducive to the physical, psychological and/or social well-being of the population. |
| | |
| | #47 (permalink) | |||
| Just a Glitch ![]() ![]() Join Date: Dec 2011 Location: Placebo
Posts: 351
My Mood: SL Join Date: 11/11/2006
Business: Catznip Client: Catznip | Quote:
As an end user you shouldn't have to worry about scripts. It's probably to much information that you know they exist at all. Quote:
Quote:
Basically what happens is the viewer fetches the contents for every prim one by one then adds up the number of scripts it finds on the way. This causes load on the region. Get a few people doing it at a club on other avatar attachments and it creates more load than the scripts they are counting. Last edited by Trinity Dejavu; 07-13-2012 at 07:28 AM. | |||
| | |
| 1 User Said Thanks: |
| | #48 (permalink) |
| Senior Member ![]() ![]() ![]()
Praying for intelligent life
somewhere up in space, 'cause
there's bugger all down here
on Earth
Join Date: Jul 2011
Posts: 1,836
| From the About Land floater select the General tab, and from that click on the Script Info button, and the select the Avatar tab. The resulting list will tell you what scripted items you're wearing, how much memory each is using (yeah, yeah – there's issues with the actual numbers there, but almost always the bigger the number the more the scripts) and where you're wearing it. But not the number of scripts, though sometimes it's possible to figure that out from the reported memory usage - but not reliably. (To get the About Land floater up, either right click on the ground (and not a floor prim), click the About Land button on your toolbar – if you have it there – or chose it from the World menu in the main menu bar – it's called Parcel Details in the Firestorm menu, presumably for the sake of clarity.) To find the number of scripts in an individual item, I guess you'd have to take everything off except the item in question and use one of those script counters. |
| | |
| 1 User Said Thanks: |
| | #49 (permalink) |
| Emergency Mustelid ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Join Date: Sep 2009
Posts: 15,398
| Also, LSO scripts have lower performance, but significantly lower overhead, and while they always use 16k they never use more than 16k. If performance is not critical, if the script is spending most of its time idle (that is, it's not doing real-time puppeteering or raytracing or something like that), and it fits in 16k, then you should use LSO. This is particularly true for things like AOs: a good AO can with care fit in 16k, and a 16k LSO script will be using at least 30-40k in mono. My avatars that are all LSO typically have about 80k script usage and negligible script time. The ones that have some Mono scripts (because the creator thought his blink script or jaw script was so special it had to be protected :eyeroll: ) are 500k on up. |
| | |
![]() |
| Thread Tools | |
| Display Modes | |
| |
| |