11

主题

10

回帖

649

积分

优秀创作者

积分
649
发表于  2023-5-26 17:30:46 | 显示全部楼层 |阅读模式 6982 1
local blocker = {}
function OnTick(deltaTime)
    local id = game_api.get_owner_role_id()
    if blocker[id] or deltaTime == 0 then
        return
    else
        y3.timer.run_single_timer(1, function ()
            blocker[id] = nil
        end)
        blocker[id] = 1
        y3.ui.display_system_information_message(y3.player(id), '当前帧数' .. math.floor(1 / deltaTime, 0), 2, false)
    end
end

==============
没有几行,直接上代码

11

主题

10

回帖

649

积分

优秀创作者

积分
649
发表于  2023-5-26 17:43:09 | 显示全部楼层
不用lua的T作者也可以用。直接在地图目录/script/main.lua 中粘贴代码即可。如果没有该目录和文件,可以自行新建
当游戏进程非前台状态下一段时间,会自动切换到30fps的节能模式,可以看到OnTick算的大致帧率也会随之切换
============

如果想提高刷新率的统计更新时间,自己减少定时器执行时间即可,例如

y3.timer.run_single_timer(0.5, function ()
     blocker[id] = nil
end)