Difference between revisions of "LlGetRegionTimeDilation"

From Second Life Wiki
Jump to navigation Jump to search
m (<lsl> tag to <source>)
 
(12 intermediate revisions by 7 users not shown)
Line 4: Line 4:
|return_type=float
|return_type=float
|func_desc
|func_desc
|return_text=that is the current time dilation, between 0.0 and 1.0
|return_text=that is the current time dilation, the value range is {{Interval|gte=0.0|lte=1.0|center=time dilation}}, 0.0 (full dilation) and 1.0 (no dilation).{{Interval/Footnote}}
|func_footnote=Time dilation effects [[llGetTime]] and [[llGetAndResetTime]]
|func_footnote=It is used as the ratio between the change of script time to that of real world time.
|spec
|spec=Time dilation is a method the server uses to cope with simulator lag. Physics and script generated lag can result in time dilation. Time dilation slows script time & execution. When time dilation is zero script execution halts.
|caveats
 
=====Affects=====
*[[llGetTime]] & [[llGetAndResetTime]]
*Intervals of [[timer]] & [[sensor]] events queued as a result of [[llSetTimerEvent]] & [[llSensorRepeat]].
|caveats=*[http://community.secondlife.com/t5/Second-Life-Server/Region-Idling-FAQ/m-p/1535497 Region idling] lowers a region's framerate when no avatars are currently on or looking into the region. Scripts measuring time dilation with llGetRegionTimeDilation may report significant time dilation if the region is [[llGetEnv|idle]].
|constants
|constants
|examples
|examples=<source lang="lsl2">
// The beginnings of a region-info script.
string region;
string sim;
 
default
{
    state_entry()
    {
        llSetTimerEvent(1.0);
    }
    timer()
    {
        string here = llGetRegionName();
        if(region != here)
        {
            sim = llGetSimulatorHostname();
            region = here;
        }
        llSetText(
                "  REGION NAME : " + region +
              "\n  SIM HOSTNAME : " + sim +
              "\n TIME DILATION : " + (string)llGetRegionTimeDilation() +
              "\n    REGION FPS : " + (string)llGetRegionFPS(),
            <0,1,0>, 1.0);
    }
}
</source>
|helpers
|helpers
|also_functions=
|also_functions=

Latest revision as of 01:48, 22 January 2015

Summary

Function: float llGetRegionTimeDilation( );
0.0 Forced Delay
10.0 Energy

Returns a float that is the current time dilation, the value range is [0.0, 1.0], 0.0 (full dilation) and 1.0 (no dilation).[1]

It is used as the ratio between the change of script time to that of real world time.

Specification

Time dilation is a method the server uses to cope with simulator lag. Physics and script generated lag can result in time dilation. Time dilation slows script time & execution. When time dilation is zero script execution halts.

Affects

Caveats

  • Region idling lowers a region's framerate when no avatars are currently on or looking into the region. Scripts measuring time dilation with llGetRegionTimeDilation may report significant time dilation if the region is idle.

Examples

// The beginnings of a region-info script.
string region;
string sim;

default
{
    state_entry()
    {
        llSetTimerEvent(1.0);
    }
    timer()
    {
        string here = llGetRegionName();
        if(region != here)
        {
            sim = llGetSimulatorHostname();
            region = here;
        }
        llSetText(
                "   REGION NAME : " + region + 
              "\n  SIM HOSTNAME : " + sim + 
              "\n TIME DILATION : " + (string)llGetRegionTimeDilation() +
              "\n    REGION FPS : " + (string)llGetRegionFPS(),
            <0,1,0>, 1.0);
    }
}

See Also

Functions

•  llGetRegionFPS
•  llGetTime
•  llGetAndResetTime

Deep Notes

Footnotes

  1. ^ The ranges in this article are written in Interval Notation.

Signature

function float llGetRegionTimeDilation();