Here are some of things I found interesting in Monday’s Scripting Group meeting.
Running in the Magnum Release Channel is a part of the Mono2 upgrade that has to do with performance in Homestead regions. A part that was broken has been fixed and is in testing. Kelly Linden tells us the performance is looking really good. The fix is ready to roll to the main grid, barring any new revelations.
The graph shows… a bunch of geeky stuff. It is supposed to show things are better. I’ll decide when I walk through a region running the Homestead Performance fix. If you don’t know a couple of weeks ago script performance in the Homestead regions nose dived. This fix should restore performance and may add a bit of improvement.
The Scripting Maintenance Project is currently running in the ADITI grid (DRTSIM-72). This is a fix/upgrade that deals with SET_POS_LOCAL, link version of sit target and camera related functions, http-in can return html (with restrictions), you can set a lower memory ceiling on mono scripts, and more. Some bugs were found while in the ADITI testing and fixed. When this will make it to a release channel is unclear. Kelly says the release channels’ tubes are full.
The memory limit setting for Mono scripts will allow scripters to make more efficient use of memory. When a limit is set the script will crash if it exceeds it. The system also correctly report memory use. llGetObjectDetails returns the same values as the revised Estate Manager tools.
Script Time as reported to the Estate Manager was a buggy and broken thing. Any reality in the numbers was purely coincidental. The entire system was taken out and replaced. Speaking of the new system Kelly says, “Now we track [the number of] frames and total run time for ~30 mins. We do some fudging with buckets to keep a rolling average. And we filled in the gaps missing in the old system. […]So now it looks like idle scripts got a spike in time. I depated [sic] this a bit since it would be easy to re-add the old bug and make idle scripts appear timeless as they had before.”
What this means is estate managers will see significant timing changes in scripts. Also, that the numbers seen now have some real meaning.
Script Limits – This is a future thing. The idea being that at some time in the future tier will include a script cost or at least script limits will be imposed just a prim limits are imposed on a parcel. How scripts affect Mesh Cost is written into the equivalency equation and at some point will likely be backed out of mesh cost when script limits or costs roll out. I wouldn’t expect that to happen anytime soon.
If a script memory limit is used based on a per parcel or region then the memory limit set in the script becomes important and valuable. Small efficient scripts will become more desired. I think all the new functions for memory use that we are seeing in the Linden Scripting Language (LSL) are to eventually support script limits.
Minimum Size of Mono Script – The least memory used by a script is when it is first loaded. A small script like ‘Hello Wolrd’ is about 4k. So, that is about the minimum Mono size. When specifying a memory limit size the value is in bytes.
Script Delays and Sleeps – Function delays are in seconds and independent of frames, sort of independent. The llSleep is frame dependent, sort of. The minimum sleep is one frame. When a frame starts if your sleep time has expired the script will run.
Scripting news is always geeky, it often out geeks me. But, when one is writing scripts all these little tidbits of information help.