Jump to content

Script Performance


You are about to reply to a thread that has been inactive for 122 days.

Please take a moment to consider if this thread is worth bumping.

Recommended Posts

Would someone like to translate this into English?

While the news is mostly good, a word of caution that with more scripts running, other areas of the simulation environment may be driven harder.  Scripts that were already approaching throttles or other limits may find a throttle engaged; this also applies to remote services accessed via llHTTPRequest. We do see the possibility of revisiting these throttling limits as a result of these improvements. They could see higher request rates as scripts perform more work.  

To me it sounds like they're saying "We made changes to the servers that in theory should make them work better but in practice they likely won't."

We all get what throttles are; we all get those messages when something talking to something else can't keep listening or whatever, etc. So now we may here lots more things squawking with that message. BTW, some creators seem to introduce a lot of these sorts of things into their products and perhaps someone will then blame them rather than the new software changes, I have no idea.

Most likely most of you are too young to remember when the Lindens introduced what I would call sim uravnilovka, sim leveling or sim socialism. So instead of some scripts getting to execute and some not, i.e. your neighbours' high-script-time submarine worked just fine, while your door wouldn't close and your FPS was 12, all scripts were made to reduce and work equally as well -- or as badly. That's the current norm; it wasn't in the early days. 

So this sounds like more of the same.

Of course I am going to take a weather eye to the menus and see if the script time *is* increased on that sim with 7000+ scripted objects. I don't have a particularly great computer and don't feel it as lag, but some people do. Or if that sim with only 5000 scripts is now humming along like a Swiss watch. Let's see even, using Xoph, whether some things that seem to have oddly high script time now take less.

 

  • Haha 1
Link to comment
Share on other sites

7 hours ago, Prokofy Neva said:

To me it sounds like they're saying "We made changes to the servers that in theory should make them work better but in practice they likely won't."

In my old laptop I've had a mediocre CPU and a HDD. Everything worked mostly all right, but I wanted to modernize my machine and I replaced the HDD with an SSD. Sadly, the computer slowed down because CPU and memory, not designed to fast data rates that SSD provided, were overheating regularly and as a result it was a downgrade. Until I replaced the CPU and added more memory, reapplied better thermal paste as well.

I may be wrong, but I understand that the published Linden news is similar in its nature. Improvements were made to the simulator and scripts should work better, faster, but that means that HTTP throttling may occur sooner as well. Creators that planned/relied on sims/requests running slow may see their scripts hitting the limits quicker (or hitting them at all). They may want to upgrade them to work more reliably and not shoot requests/replies from hosts as fast as possible, or in a five seconds timer loop. News article suggest that it's not limited to HTTP, other areas of LSL may get this as well - like sound generation, giving inventory, rezzing objects etc.

Also, 

 

Edited by panterapolnocy
  • Like 1
Link to comment
Share on other sites

As mentioned, this is mostly about llHTTPRequest()—scroll down to the "Throttles" section of that page for a feel of how complex this gets, particularly for this particular functionality. On a busy sim, though, a script may have almost "accidentally" stayed under the throttle but now with scripts running so much faster, they're more likely to run on the very simulation frame when they first have something to do, and may start triggering those throttles.

While there are other throttles that may trigger as a result of this improved performance, llHTTPRequest is a particularly complex throttle, particularly punishing if triggered (the script has to be written to wait a prescribed amount of time before the next attempt or it gets delayed even more), and particularly intricate from a system engineering perspective because it is how scripts interact with external web services, as well as with each other, in interdependent and asynchronous exchanges.

The vast majority of scripts, though, will run much smoother now. In some places the effects are amazing. Before this week the new simulator release had been on RC channels and I kinda thought stuff was snappier and the statistics looked good, but all the places I looked had been performing fairly well even before the upgrade. This week it's across the grid and thus on a region I use where scripts were painfully delayed before, and now suddenly there's even a comfy cushion of Spare Time in the simulation frame! It's the most improved script performance in SL I've ever seen, as big an effect as the introduction of Mono, many years ago—but with fewer disruptions. It's good that the Linden devs were looking out for where any disruptions might arise.

What I'd like clarified is: "The release also includes a modernization of our compiler and supporting runtime." Specifically, does the compiler actually generate faster bytecode now, and if so, is there potential benefit to recompiling scripts?

(Also, as impressive as this improvement is, there remain plenty of bugs and misbehaviors in LSL. I've not seen any reports of improvements, for example, in a particularly vexing problem where freshly-rezzed objects may start suffering huge delays in starting script execution. Personally, I see this very rarely despite doing a fair bit of script-rezzing, but some folks report it being a crippling problem they'll remain eager to see addressed.)

  • Like 3
Link to comment
Share on other sites

2 minutes ago, panterapolnocy said:

In my old laptop I've had a mediocre CPU and a HDD. Everything worked mostly all right, but I wanted to modernize my machine and I replaced the HDD with an SSD. Sadly, the computer slowed down because CPU and memory, not designed to fast data rates that SSD provided, were overheating regularly and as a result it was a downgrade. Until I replaced the CPU and added more memory, reapplied better thermal paste as well.

I may be wrong, but I understand that the published Linden news is similar in its nature. Improvements were made to the simulator and scripts should work better, faster, but that means that HTTP throttling may occur sooner as well. Creators that planned/relied on sims/requests running slow may see their scripts hitting the limits quicker (or hitting them at all). They may want to upgrade them to work more reliably and not shoot requests/replies from hosts as fast as possible, or in a five seconds timer loop. News article suggest that it's not limited to HTTP, but other areas as well - like sound generation, giving inventory etc.

I don't see that the phenomenon you describe then is an overall plus for SL, except in theory. Not everyone can buy a new CPU, add memory, and even "thermal paste," whatever that is. It's 17 degrees F here now where I live, so that "thermal paste" might be something I'd want for my hands, too.

So the Lindens made a change to their software, and re-directed the fire on to creators, who are now told that their scripts are "wrong." They adapted to SL's software and sim performance with these features, and now they have to change them? It would be interesting to hear from them on this subject.

I realize active script load and time may not correlate with how fast the scenes load on a sim, which is a different thing, yet I find that with a sim that has 7000 scripts, versus a sim with 5000 or 1750, the times can vary significantly. That may be due to the fact that scripted items may also tend to have textures on them and even 1024 size. In any event, this is how the world is:

I can sit on a Linden ocean sim with only 8 scripts, but the view into the next sim will still load slowly depending on its features. If I TP to a sim with 7000, as in the first photo, Moraine, that scene might take 5 minutes to load. On Motocyclone, with a lot of abandoned land, and 1750 scripts, it loads within seconds. In my experience, related or not, ordinary people associate "lag" psychologically with how fast a sim loads for them *first* and only secondarily whether they feel they can't move speedily.

Hypatia Underwater landscape_341.jpg

Hypatia Underwater landscape_342.jpg

Hypatia Underwater landscape_343.jpg

Hypatia Underwater landscape_344.jpg

Hypatia Underwater landscape_345.jpg

Link to comment
Share on other sites

5 minutes ago, Qie Niangao said:

As mentioned, this is mostly about llHTTPRequest()—scroll down to the "Throttles" section of that page for a feel of how complex this gets, particularly for this particular functionality. On a busy sim, though, a script may have almost "accidentally" stayed under the throttle but now with scripts running so much faster, they're more likely to run on the very simulation frame when they first have something to do, and may start triggering those throttles.

While there are other throttles that may trigger as a result of this improved performance, llHTTPRequest is a particularly complex throttle, particularly punishing if triggered (the script has to be written to wait a prescribed amount of time before the next attempt or it gets delayed even more), and particularly intricate from a system engineering perspective because it is how scripts interact with external web services, as well as with each other, in interdependent and asynchronous exchanges.

The vast majority of scripts, though, will run much smoother now. In some places the effects are amazing. Before this week the new simulator release had been on RC channels and I kinda thought stuff was snappier and the statistics looked good, but all the places I looked had been performing fairly well even before the upgrade. This week it's across the grid and thus on a region I use where scripts were painfully delayed before, and now suddenly there's even a comfy cushion of Spare Time in the simulation frame! It's the most improved script performance in SL I've ever seen, as big an effect as the introduction of Mono, many years ago—but with fewer disruptions. It's good that the Linden devs were looking out for where any disruptions might arise.

What I'd like clarified is: "The release also includes a modernization of our compiler and supporting runtime." Specifically, does the compiler actually generate faster bytecode now, and if so, is there potential benefit to recompiling scripts?

(Also, as impressive as this improvement is, there remain plenty of bugs and misbehaviors in LSL. I've not seen any reports of improvements, for example, in a particularly vexing problem where freshly-rezzed objects may start suffering huge delays in starting script execution. Personally, I see this very rarely despite doing a fair bit of script-rezzing, but some folks report it being a crippling problem they'll remain eager to see addressed.)

I haven't seen either the "amazing" performance or the bugs yet.

I see a persistence of the same strange issue that has been vexing for weeks, unrelated to this scripting issue, I believe, and that is, that parts of the rezzed scene simply disappear. When you first see it, as you have been working or flying around and not noticing anything odd, you think, oh, I forgot to put on the group tag and the platform returned to autoreturn. Or, maybe I was mistaken I put out that couch in fact. You might then rez another copy.

You relog and come back -- now you see two copies because it was "there," just not visible. I now see routinely that a scene has furniture in a house, and no house. I check the prim list on the land menu and see that my prims are still there, i.e. my house is still there (which I know because no tenant IM'd me in a panic.). So I guess the world will have parts hidden like some posts.

 

  • Like 1
Link to comment
Share on other sites

So more data needs to come in from people who watch this and know more about it, but I'll say that one sim I have with 7000+ scripts, which used to have only a smidgeon of "spare time" left, under 1, now shows 11. So what does that mean in practice. That I will cease my vigilance to constantly try to get this sim down under 7000 by paring down my own content or asking tenants to pare theirs down, put the pets in inventory or whatever. Why? Because I have numerous other chores and now I can eliminate this one, right? See, that's what happens, create headroom, it gets filled quickly.

It doesn't seem to me that the sim works faster or loads faster but we all know this is "subjective" and based on a person's own computer set-up and connection, and also various psychological factors. If a prospective tenant TPs to a sim and sees a rental next to another owner's farm, they will TP out quickly and not rent; they see cows or sheep and they think "lag". Horses, especially. 25 horses lined up in a stall spells "do not rent" for many people, even though the actual script usage of those horses or animals is nothing compared to many other things, particularly adult furniture. So a parcel with ONLY farm animals breeding and nothing else happening could well be a good neighbour. Yet so persistent is this belief, ever since the days of sion chickens (which use up less script time than KittyCats and aren't laggy after their first version -- unless you set them to colliding), that people will shun animals or ban them. The Lindens allow only two cats/pets per Bellisseria pracel which I suppose on the grand scale of script usage on that sims is probably rationale, but it's also easier to do that than to limit the number of pieces of adult furniture in a house.

Link to comment
Share on other sites

2 hours ago, Prokofy Neva said:

haven't seen either the "amazing" performance or the bugs yet.

I see a persistence of the same strange issue that has been vexing for weeks, unrelated to this scripting issue, I believe, and that is, that parts of the rezzed scene simply disappear. When you first see it, as you have been working or flying around and not noticing anything odd, you think, oh, I forgot to put on the group tag and the platform returned to autoreturn. Or, maybe I was mistaken I put out that couch in fact. You might then rez another copy.

You relog and come back -- now you see two copies because it was "there," just not visible. I now see routinely that a scene has furniture in a house, and no house. I check the prim list on the land menu and see that my prims are still there, i.e. my house is still there (which I know because no tenant IM'd me in a panic.). So I guess the world will have parts hidden like some posts.

This is a different issue from the configuration changes. What they have done is calmed down the pauses that used to happen when an avatar arrived in a region with lots of scripts and there was a delay of at least a second to other scripts while they got introduced to the server. That is far less severe now.

The vanishing objects is annoying but as you're said, there are workarounds. There was no workaround for the old scripts slowing problem.

  • Like 1
Link to comment
Share on other sites

2 hours ago, Prokofy Neva said:

I haven't seen either the "amazing" performance or the bugs yet.

I see a persistence of the same strange issue that has been vexing for weeks, unrelated to this scripting issue, I believe, and that is, that parts of the rezzed scene simply disappear. When you first see it, as you have been working or flying around and not noticing anything odd, you think, oh, I forgot to put on the group tag and the platform returned to autoreturn. Or, maybe I was mistaken I put out that couch in fact. You might then rez another copy.

You relog and come back -- now you see two copies because it was "there," just not visible. I now see routinely that a scene has furniture in a house, and no house. I check the prim list on the land menu and see that my prims are still there, i.e. my house is still there (which I know because no tenant IM'd me in a panic.). So I guess the world will have parts hidden like some posts.

 

This is a bug that Linden Lab has been made aware of through the Jira. Current workaround, until this is fixed, is to…

1) Teleport away and then back.

or 

2) Clear cache every time before you log in.

  • Like 2
Link to comment
Share on other sites

9 minutes ago, Ezziedq Mirabella said:

I do not think I am in the right section but I am wanting to learn how to make scripts to add to current objects I have purchased

Not the right section but @Rolig Looncould probably point you in the right direction to learn scripting.

Link to comment
Share on other sites

2 hours ago, Ezziedq Mirabella said:

I do not think I am in the right section but I am wanting to learn how to make scripts to add to current objects I have purchased

 

2 hours ago, Rowan Amore said:

Not the right section but @Rolig Looncould probably point you in the right direction to learn scripting.

There are basic tutorials in the LSL wiki at http://wiki.secondlife.com/wiki/Category:LSL_Tutorials and the wiki includes a huge number of short examples to learn from and practice on. Unless you have a scripty friend to help, I suggest looking at places in world like Builders Brewery than have occasional free classes or simply starting by yourself..  Scripters in SL tend to either be IT professionals in RL (by no means the majority, but an impressive crowd) or self-taught amateurs. We compare notes and moan about scripting problems we are dealing with by posting in the LSL Scripting forum, which is designed specifically for people who are either already scripters or seriously interested in learning.  When you run into a script challenge that bugs you, feel free to post there yourself.

  • Like 4
Link to comment
Share on other sites

You are about to reply to a thread that has been inactive for 122 days.

Please take a moment to consider if this thread is worth bumping.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...