Kelly Linden announced on the 6th that big changes had been made to Mono2 on the ADITI grid as a preliminary test of a potential fix before moving on to testing in the AGNI Release Channel. Some of these changes have been in progress for some time.
Sim Stalling is a problem we saw when Mono was introduced to the grid. Rezzing a Mono script could pause the sim for 5 to 30 seconds. This was a disaster in combat regions when a weapon was firing 8 to 12 prims bullets per second and 20 guns were firing. Very quickly weapons with Mono scripted bullets were outlawed. The problem was not just with weapons but any script rezzed in a region. Crossing region boundaries with an AO compiled in Mono also created problems.
Kelly is saying they have the issue resolved. Mono scripts should no longer stall the sim. There are still some performance hits as LSL scripts rez and de-rez in a region.
This fix has implications for how Mono scripts start. They are doing Lazy Loading of scripts. If an object with a single script is rezzed or enters the region, it starts immediately. But, objects with more than 1 script will experience a delay in the scripts starting. They start up to 3 scripts per simulator frame. That max’s out around 135 scripts per second (3 x 45 fps = 135).
A way was found to get more simulator time devoted to a script. It was labeled ‘flywheeling’ or ‘juicing’. This fix prevents scripts from using more than their allocated time share. This testing will determine of they have the fix adjusted so that normal scripts experience as little impact as possible.
There are 61 regions running this fix that are currently in the DRTSIM-57 channel on Aditi including:
- Combat (sandbox) – Blue Team’s HQ
- Combat (sandbox) – Red Team’s HQ
- Sandbox Cordova
- Sandbox Goguen
- Sandbox Island
- Sandbox Wanderton