查看: 475|回复: 0

传奇sf开新区一条龙脚本死循环和定时器使用和游戏卡的问题讲解

[复制链接]

4783

主题

5079

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
18913

最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

发表于 2022-4-29 00:29:14 | 显示全部楼层 |阅读模式

gee引擎关于脚本挂循环
    下面给大家说说脚本挂循环问题(引擎-功能设置-其他控制内),很多GM习惯把脚本挂循环设置到非常大,正常来说脚本循环次数设置不要超过999,一般来说200就足够使用,不要看到脚本挂循环报错就一味的将循环次数设置超级大,甚至设置到99999,要知道挂循环报错是需要达到并超过限制次数才会报错,设置太大后也许还没等报错引擎就崩溃了,比如一秒钟时间刷几十几百条报错,这个肯定是脚本问题,要解决问题根源,而不是掩耳盗铃!!!

    设置循环次数的目的是给一些脚本本身需要比较大次数而用的,而不是让用来掩饰报错的!!!! 特别当循环次数设置200内那些一秒刷N条挂循环报错的脚本就必须修复!!!!

    关于定时器使用和游戏卡的问题
    个人定时器最忌秒级执行大量复杂脚本,这样在线人越多引擎CPU占用就越大,服务器-任务管理器-进程中m2的CPU占用达到单核最大CPU占用游戏会卡,计算引擎最大CPU占用方式:比如任务管理器有8个格子,那么引擎最大CPU占用13%,算法为:100除以8 ,达到12%基本就很卡了,如果是16核CPU(16个格子),那么就是100除以16 大约7%也就是说达到6%就卡,引擎的负载能力取决CPU主频,主频越高承载能力越强,而不是多少核来决定的,因为目前市面上所有的引擎都是单核允许,当游戏出现卡的时候,首先排除网络,再排除引擎是否CPU满载,如果CPU满载人数没过千人,那么就是脚本引起的。

    脚本排查主要排查定时器,特别是秒级定时器,挂循环等频繁执行和部分脚本命令使用问题(比如lockAbil和LOCKUPDATEABIL引用不当,相关功能命令文档下方有注意事项讲解)的脚本,如果确定是引起CPU满载造成的卡,可以进行排除,首先排除QM,其次排除QF,排除方式为,清空QM并重新加载,如果CPU下来了就表示是QM内的脚本造成,这个时候恢复QM脚本然后一段段的删除并重新加载,目的是找到是那段脚本造成。

    然后针对脚本修复优化,这就是排除方式,如果QM没问题就QF,反正造成引擎CPU高的原因只有大规模的频繁执行脚本才会导致,如果引擎的CPU有空闲依然卡的话,就需要更换IOCP多线程网关来解决卡的问题,多线程网关对游戏封包处理速度比普通网关高很多倍,流畅度也极大提升!!!如果引擎CPU没问题,网关也是多线程,游戏速度限制也没问题,还卡的话就换IDC吧!
【GM论坛[www.gmbbs.net]免责声明】
1、本站提供的所有资源仅供参考学习使用,版权归原著所有,禁止下载本站资源参与商业和非法行为,请在24小时之内自行删除!
2、本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。
3、若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。 我们不承担任何技术及版权问题,且不对任何资源负法律责任。
4、论坛的所有内容都不保证其准确性,完整性,有效性。阅读本站内容因误导等因素而造成的损失本站不承担连带责任。
5、用户使用本网站必须遵守适用的法律法规,对于用户违法使用本站非法运营而引起的一切责任,由用户自行承担
6、本站所有资源来自互联网转载,版权归原著所有,用户访问和使用本站的条件是必须接受本站“免责声明”,如果不遵守,请勿访问或使用本网站
7、本站使用者因为违反本声明的规定而触犯中华人民共和国法律的,一切后果自己负责,本站不承担任何责任。
8、凡以任何方式登陆本网站或直接、间接使用本网站资料者,视为自愿接受本网站声明的约束。
9、本站以《2013 中华人民共和国计算机软件保护条例》第二章 “软件著作权” 第十七条为原则:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。若有学员需要商用本站资源,请务必联系版权方购买正版授权!
10、本网站如无意中侵犯了某个企业或个人的知识产权,请告之,本站将立即删除。
   提问发帖求助请点此发帖 https://www.gmbbs.net/
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表