Region Performance

From release 5.1.3 Kokua gains the ability to report on changes in the number of scripts in a region, changes in the server channel with changes of region found in other viewers and much much more.

All the new features can be found on the Performance 1 and Performance 2 tabs within Edit/Preferences/Kokua.

The idea behind these is not that most people will want to turn everything on – that’s a surefire way to swamp the screen with too much performance related information. The actual idea is that most people will want to use only a few of the possible options that reflect on specific interests such as how many avatars are in a region, how many scripts are running, how the physics simulation is performing or overall timing information. Think of it not as a big hammer to use but rather a toolkit of very specific tools to use only when each is best suited.

Performance 1

The first section of the Performance 1 tab deals with notifications on entering a new Region. Once the region entry notification is enabled it has options for additional information about channel, agents (avatars), scripts, timing and basics (Time Dilation and Frames Per Second). You may also choose to have this information repeated with every performance notification if you wish to see more detail when one particular measurement goes out of limits. This is followed by the options for a notification if the server software channel version of the region just entered is different to the previous one and another option to control whether notifications are given when a statistic returns within limits as well as when it goes outside. While this can be useful for knowing when an out-of-threshold situation has ended it also doubles the number of notifications. The rest of Performance 1 consists of the individual areas for Agent and Script notifications. The notifications can be turned on and off as a group allowing individual settings to be maintained. Each option then has its own enable checkbox and a slideable/writable value to set the threshold. Changes in this window are immediate and do not need OK selected to apply them.

Performance 2

Performance 2 consists of similar areas covering Frame Timing and Basic Performance. Within the Frame Timing group there are additional options to display the whole frame timing information every time the whole frame exceeds its threshold or every time any component exceeds its own threshold.

Finally there is an option that selects whether output from these features is displayed as a notification in the top right and in chat history or just in chat history (perhaps with a chat toast too if the chat history is not visible at the time).

It should be noted that blips in most of these statistics will occur and are often part of normal Second Life operation. For instance, when an avatar arrives in the region the statistics will reflect that the region is prioritising completing the arrival and in particular will often give a lot of script time to get the avatar’s scripts running again which will then settle down as the transfer fully completes. This also means that when you have region entry statistics enabled and arrive in a new region yourself the values will often be abnormal since the region is prioritising your arrival.

All of the statistics have default values which are intended to be representative of fairly average performance. Where a statistic is of interest it should be enabled and then the threshold value adjusted so that most of the time the performance in the area of interest is within that threshold. You can tell when you pass the current value during adjustments by the generation of a notifcation each time the value being adjusted passes the actual value.

Although the basic statistics of Frames Per Second and Time Dilation are included they are generally of less value now than some years ago since regions have become much better at managing their time distribution and in particular at limiting script time to stay within the overall target frame of 22.5 ms. Should you see a region that is consistently failing to maintain FPS or TD it is either significantly overloaded beyond its self-management capabilities or has something wrong and would benefit from a reboot.


Homestead and Open Space sims are intended for very light use. In both cases it will be observed that script performance is strongly and deliberately limited. The script run percentage will start to drop well before the region runs out of frame spare time (as shown below). In contrast mainland regions typically perform as well as a full private region (island) under all but the heaviest loadings.


Finally, here are some tips about what to watch for in specific situations.

  • If you are interested in vehicles then enabling the Physics time section of the frame monitoring is an essential. Turning on the ‘include whole frame information’ option is also recommended so that other factors can be seen at the same time as the Phsyics portion overruns. Enabling notification of changes in the region agent count is also recommended since arrivals and to a lesser extent departures will cause the region to re-prioritise its timings. Successful region crossings with vehicles depend a lot on how much data has to be transferred, so the lighter the vehicle load (and its passengers’ scripts, attachements and rendering complexity) is the easier and more likely a successful region crossing will be.

  • If you are interested in the overall health of a region various features should be enabled to allow notification of unusual situations, particularly total number of objects and active objects, total number of scripts, overall frame time, script time and physics time particularly.

  • If script performance is the most important aspect then most of the notifications in the Script Notifications section will be of interest together with overall frame time and extended region entry notifications

Should you wish to monitor most of these statistics continually they are available in any viewer by selecting SHIFT-CTRL-1 for the full Statistics window or SHIFT-CTRL-2 for the Scene Load Statistics. Unfortunately the latter omits one or two important statistics, notably the script execution percentage.

More information on the meaning of each statistic can be found here: together with some performance tuning hints here