23

回帖

8111

金币

4254

积分

积分
4254
发表于 2025-8-9 10:56:44 | 显示全部楼层 |阅读模式

马上注册,下载996引擎,与更多游戏开发者交流。

您需要 登录 才可以下载或查看,没有账号?注册

×
本帖最后由 jerryjin 于 2025-8-9 10:58 编辑

当想实现新区活动、日常活动时,需要用到延迟执行和定时任务。
我的思路是新区活动都是N分钟后执行,所以用延迟执行。
每日活动是重复执行的,所以用定时任务。
翻阅了文档后发现有:机器人事件、系统延时回调、全局定时器、地图定时器、听说还有用buff触发、NPC计时这些来曲线定时的。
请问这些性能上谁高谁低?有些什么坑点。能不能科普一下?
感谢。
(听说定时器性能很差都不推荐用,到底差到什么程度?如果不推荐的话,官方推荐的方案是什么?)
最后回复时间:2025-08-19 09:58:52官方回复了此贴
回复

使用道具 举报

1万

回帖

3万

金币

2万

积分

积分
22342
发表于 2025-8-19 09:58:52 | 显示全部楼层
用任务定时器好一点  所有的只要不是高频的 效率是一样的
回复

使用道具 举报

23

回帖

8111

金币

4254

积分

积分
4254
 楼主| 发表于 2025-8-20 14:42:57 | 显示全部楼层
996技术-wang 发表于 2025-8-19 09:58
用任务定时器好一点  所有的只要不是高频的 效率是一样的

增加系统任务计时 dsfuncall

  1. --QFunction-0.lua
  2. function dingshicf_1(actor)
  3. end


  4. dsfuncall(actor,"dingshicf_1",10 * 1000 ,1 ,1)
复制代码


是这个吗?
回复

使用道具 举报

8

回帖

1677

金币

886

积分

积分
886
发表于 2025-8-20 16:56:39 | 显示全部楼层
--快捷键重载
GUI:addKeyboardEvent({ "KEY_CTRL", "KEY_TAB" }, function()
    SLrint("-GUIUtil重载-")
    Message:sendmsg(NetMsgCfg.sync)
    GUI:Win_CloseAll()
    for k, _ in pairs(package.loaded) do
        if string.find(k, "^ssr/ssrgame/") or string.find(k, "GUILayout") then
            package.loaded[k] = nil
            _G[k] = nil
        end
    end
    --重新启动
    SL:Require("GUILayout/GUIUtil", true)
    SL:ShowSystemTips('<font color=\'#ff0000\'>重载成功</font>')
end)
回复

使用道具 举报

23

回帖

8111

金币

4254

积分

积分
4254
 楼主| 发表于 2025-8-21 09:48:53 | 显示全部楼层
cholizz 发表于 2025-8-20 16:56
--快捷键重载
GUI:addKeyboardEvent({ "KEY_CTRL", "KEY_TAB" }, function()
    SLrint("-GUIUtil重载-")

咱们聊的不是同一件事吧?
回复

使用道具 举报

8

回帖

1677

金币

886

积分

积分
886
发表于 2025-8-21 12:28:02 | 显示全部楼层
jerryjin 发表于 2025-8-21 09:48
咱们聊的不是同一件事吧?

发错帖子了
回复

使用道具 举报