Welcome to the Second Life Forums Archive

These forums are CLOSED. Please visit the new forums HERE

Please Help - Is dilation measure of any use at all ?

Voodoo Lubitsch
Registered User
Join date: 25 Jan 2008
Posts: 11
07-05-2009 13:18
Hi All

I'm working on a project which seeks to measure sim performance.

However my understanding is that when a sim is struggling it will reduce the time given to scripts rather than affecting dilation measures. Therefore is it possible that my sim will be running at 0.99 dilation and yet the time given to scripts be reduced ?

If this is the case then isn't dilation now a poor measure of sim performance and is there any other more appropriate measures which can be reported "out" of the sim (to a MySQL database).

Any thoughts / comments / help would be greatly appreciated.

Voodoo
Argent Stonecutter
Emergency Mustelid
Join date: 20 Sep 2005
Posts: 20,263
07-05-2009 13:27
From: Voodoo Lubitsch
However my understanding is that when a sim is struggling it will reduce the time given to scripts rather than affecting dilation measures. Therefore is it possible that my sim will be running at 0.99 dilation and yet the time given to scripts be reduced ?
Yes. Time dilation is an indication of physics lag. Physics is considered more important than scripts, so scripts will be throttled to avoid time dilation.

You need to look at script times as well, if you're interested in getting an approximate measure of available resources for scripts.

From: someone
If this is the case then isn't dilation now a poor measure of sim performance
It's a good measure of sim performance. It's a poor measure of script performance.
_____________________
Argent Stonecutter - http://globalcausalityviolation.blogspot.com/

"And now I'm going to show you something really cool."

Skyhook Station - http://xrl.us/skyhook23
Coonspiracy Store - http://xrl.us/coonstore
Darien Caldwell
Registered User
Join date: 12 Oct 2006
Posts: 3,127
07-05-2009 13:42
From: Voodoo Lubitsch
Hi All

I'm working on a project which seeks to measure sim performance.

However my understanding is that when a sim is struggling it will reduce the time given to scripts rather than affecting dilation measures. Therefore is it possible that my sim will be running at 0.99 dilation and yet the time given to scripts be reduced ?

If this is the case then isn't dilation now a poor measure of sim performance and is there any other more appropriate measures which can be reported "out" of the sim (to a MySQL database).

Any thoughts / comments / help would be greatly appreciated.

Voodoo


Actually I would say dialation is a great measure of sim performance. If it's dipping below 1.0, then the sim has to have some serious performance issues. You're correct the sim will take away from script time to make up for poor performance up to a point, but it can't shut out script execution completely. Once the frame time hits 24 ms, and the scripts are being throttled as much as they can, the sim has little other choice but to start choking on the load, and dilation will begin to occur. So It's simply another piece in the puzzle to look at. I wouldn't ignore it.
_____________________
Voodoo Lubitsch
Registered User
Join date: 25 Jan 2008
Posts: 11
07-05-2009 13:49
From: Darien Caldwell
Actually I would say dialation is a great measure of sim performance. If it's dipping below 1.0, then the sim has to have some serious performance issues. You're correct the sim will take away from script time to make up for poor performance up to a point, but it can't shut out script execution completely. Once the frame time hits 24 ms, and the scripts are being throttled as much as they can, the sim has little other choice but to start choking on the load, and dilation will begin to occur. So It's simply another piece in the puzzle to look at. I wouldn't ignore it.


Thanks for the response...

How does the script throttling occur. ? ..I've got 34 ms of scripts (to cause problems deliberately)...How would the sim handle that in practice ?
Rygel Ryba
Registered User
Join date: 12 Feb 2008
Posts: 254
07-05-2009 14:14
Bear in mind that script times aren't particularly accurate - especially now...

If an avatar is sitting on something, it adds up their script time AND the script time of the thing it is sitting on - and then it shows it twice on the list - once as a person and once as the object they are sitting on.

Scripts also do not run with a constant amount of processor time. A script might do a scan every 5 seconds - and you won't see that large spike unless you happen to ask for the list of active scripts at that very half second.

So, sadly - while the time dilation and script times are handy indicators, you can't really get and reliable and solid data from them.
Void Singer
Int vSelf = Sing(void);
Join date: 24 Sep 2005
Posts: 6,973
07-05-2009 14:24
you can get a slightly more accurate view of script time throttling by comparing llGetTime, to llGetUNIXTime... but it's only granular to seconds.
_____________________
|
| . "Cat-Like Typing Detected"
| . This post may contain errors in logic, spelling, and
| . grammar known to the SL populace to cause confusion
|
| - Please Use PHP tags when posting scripts/code, Thanks.
| - Can't See PHP or URL Tags Correctly? Check Out This Link...
| -
Voodoo Lubitsch
Registered User
Join date: 25 Jan 2008
Posts: 11
07-05-2009 15:19
From: Void Singer
you can get a slightly more accurate view of script time throttling by comparing llGetTime, to llGetUNIXTime... but it's only granular to seconds.


Could you tell me a little more about this please ?
Void Singer
Int vSelf = Sing(void);
Join date: 24 Sep 2005
Posts: 6,973
07-05-2009 17:22
From: Voodoo Lubitsch
Could you tell me a little more about this please ?

llGet Time is a counter that measures script time in seconds since start, and is affected by the time dilation code on the server... unix time is the actual server clock, and is unaffected by the dilation code... so when you start up, you store those, then check (in a timer) how many seconds have passed in each... unix time will ocasionally be a second or few faster, and actual script dilation will be (in seconds difference since last polling time) (script time difference / unix time difference) for that polling interval... you'll find it mostly close the the time dilation amount returned by the function of that name.
_____________________
|
| . "Cat-Like Typing Detected"
| . This post may contain errors in logic, spelling, and
| . grammar known to the SL populace to cause confusion
|
| - Please Use PHP tags when posting scripts/code, Thanks.
| - Can't See PHP or URL Tags Correctly? Check Out This Link...
| -
Voodoo Lubitsch
Registered User
Join date: 25 Jan 2008
Posts: 11
07-06-2009 01:26
From: Void Singer
llGet Time is a counter that measures script time in seconds since start, and is affected by the time dilation code on the server... unix time is the actual server clock, and is unaffected by the dilation code... so when you start up, you store those, then check (in a timer) how many seconds have passed in each... unix time will ocasionally be a second or few faster, and actual script dilation will be (in seconds difference since last polling time) (script time difference / unix time difference) for that polling interval... you'll find it mostly close the the time dilation amount returned by the function of that name.


That is great and gives me something to work on...Thanks a lot for your help