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.
|
|
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
|