登录
×
  • 首页
  • 传奇论坛
  • 传奇版本库
  • 传奇服务端
  • 传奇三端手游
  • 传奇素材网
  • 传奇客户端
  • 下载排行
  • 获取邀请码
  • 网络广告 风险自担
    71570

    [996引擎] 996M2手游引擎多线程负载功能使用说明!

     火... [复制链接]

    [996引擎] 996M2手游引擎多线程负载功能使用说明!

     火... [复制链接]
    趣游论坛

    1万

    主题

    9

    回帖

    11万

    积分

    管理员

    积分
    112172

    灌水之王活跃会员突出贡献优秀版主荣誉管理论坛元老

    趣游论坛 2023-3-17 08:53:24 / 显示全部楼层 /阅读模式
    71570
    注意事项:使用多线程切记不要操作全局变量的多次循环触发,比如while循环多次G变量或执行多次goto等!

    996M2手游引擎

    996M2手游引擎


    适用场景:
    1. 服务器配置3000元以上的(在低配服务器上开启,会适得其反)。
    2. 同地图负载过大,需要分流的,比如沙巴克、皇宫、活动地图,不影响其他地图玩家。
    3. 人数超过500,明显存在压力的。
    4. 对于目前承载有需求的,比如超变服。
    对于3000服务器,建议10条以内,一万服务器可以开启30+,注意:`多线程不是越多越好,线程之间存在资源竞争,尽量线程复用。

    开启方式:
    路径:Mir200\Envir\MapInfo.txt地图配置 。
    例如1:[3 盟重省]改成[3 盟重省 5]那么盟重省地图会在5号线程里面运行。
    不配置的地图默认都在0号线程里运行。同时也可以把多个地图指定在一个线程里运行。
    例如2:[0 比奇 5]这样 [比奇] 和 [盟重] 都在一个线程里运行。

    注意事项:
    * 线程数一定要控制在合理范围,避免资源浪费,从而导致效率下降。
    * 尽量线程复用,比如活动地图,时间不会集中在一起,可以把这几个地图,指定到一个线程。
    * 避免线程之间的文件读写 `文本操作类`,比如玩家分布在不同的线程里,
      但是去同时读写一个文件,这会导致严重的性能下降,可以指定不同的文件名去读写,比如用UserId做文件名。
    * 线程之间,变量尽量使用系统定义的:U,T,P,M..变量去操作,自定义变量存在切换时间,很少用到跨线程读写变量的,可以忽略。
    * 版本的一些配置,尽量在引擎启动@Startup 的时候加载,不要反复加载,
      例拾取配置,不要捡东西的时候,反复加载,这些都是多余的操作,造成CPU资源的浪费。
    * 系统提供的定时器,都在0号线程运行,如果有用定时器刷怪,建议改掉,换成(SetEnvirOnTimer),在对应的场景里,去做刷怪操作。
    * 地图切换触发时要注意,比如调用MapMove,Map 时,不会立刻取到要切换的地图名,建议放在对应的地图触发里执行 @EnterMap。

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    扫一扫加群沟通交流

    首页 论坛 !mobpost! 最新 我的