Skip to content

时间系统(NTime)

获取时间

从引擎获取时间信息的接口。

接口名称返回值接口作用
GetDeltaTimefloat从上一帧到当前帧的间隔(秒)
GetFrameCountunsigned long引擎启动后的总帧数
SetFixedDeltaTimevoid设置每次FixedUpdate的间隔时间
GetFixedDeltaTimefloat自上次FixedUpdate开始以来的时间。
GetApplicationTimedouble应用程序启动第一帧后的时间
GetTimedouble获取系统时间

代码示例:

cpp
通过时间限制update帧数:
void NewScript1::Update()
{
    auto nowTime = NTime::GetDeltaTime();
    if (nowTime<0.0166)
    {
        return;
    }
    else
    {
    Dothing.....
    }
    // Called every frame if actor is enabled.
}

获取帧率

除了引擎自身获取帧数的接口外,开发者往往需求通过时间手动计算当前应用执行的帧数或是某一段代码执行的耗时统计,这对于调试应用性能非常重要,

代码示例:

cpp
//通过时间计算当前帧数:
void NewScript1::Update()
{
        // 获取当前帧的 Delta Time(两帧之间的时间间隔)
        auto nowTime = NTime::GetDeltaTime();
        // 计算 FPS(帧数 = 1 秒 / 每帧时间)
        float fps = 1.0f / nowTime;
        // 输出当前帧率
        NDebug::Log("Current FPS: %f",fps);
        // Called every frame if actor is enabled.
}