icer
发表于 2024-3-1 14:18:16
其实看你的秒耗时3898,离3500很近了,也许降到2.5或者3秒一次,就可以降到3500以下,即使上榜也不受限制
qrz
发表于 2024-3-1 14:19:44
xue的效率低啊,我已经挂了几个小时了,200级的易筋经学到250级。
你们系统这么设计的,我也没办法。
holygb
发表于 2024-3-1 14:37:33
看他每秒执行指令次数已经很少了,远低于wiki里的要求,只是xue消耗的时间较多,可这是服务器代码执行效率的问题,不能由玩家来承担后果
icer
发表于 2024-3-1 14:52:23
holygb 发表于 2024-3-1 02:37 PM
看他每秒执行指令次数已经很少了,远低于wiki里的要求,只是xue消耗的时间较多,可这是服务器代码执行效率 ...
wiki里说的是每秒耗时3500以下不受限制,他这个是稍高,不是远低。
如果你说的每秒发送的命令数,确实很低,实际上已经低到即使受限,也不会影响他学习速度。但正如你所说,这是由于xue的复杂性带来的问题,一个命令50次循环,每次循环都要判断很多条件,不是单一的点数*次数就行的。相关代码已经优化过多次,要达到需要的功能效果,必须付出这么多计算代价。
玩家是命令的发出者也是结果的受益者,也学到了特殊师傅带来的超高技能等级,需要的只是比jxj多付出一些时间代价。
话说回来,“服务器代码执行效率问题,不能由玩家来承担后果”,这句话对于mud来说是万金油,因为跟动辄十几个G的客户端,还要几千块显卡的端游不同,mud所有代码都是在服务器上跑的,mud客户端实际只承担收发和显示文字的功能。但如果所有玩家都不计后果的狂发命令,最终的后果还是所有玩家一起承担。
icer
发表于 2024-3-1 15:46:14
qrz 发表于 2024-3-1 02:12 PM
其实学的很慢,2秒一次。xue最多只能学50次,学的效率还很低。
┌───北侠活动家榜──┬───┬─── ...
│ 113.31.116.192:65001│ 799 │ 2747297 │ 3447│ 15:25:04│ 15:38:20
│ 113.31.116.192:65001│ xue │ 359 │ 2473017 │
│ 113.31.116.192:65001│ yun │ 359 │ 252457 │
│ 113.31.116.192:65001│ drink │ 33 │ 6818 │
│ 113.31.116.192:65001│ eat │ 33 │ 6455 │
│ 113.31.116.192:65001│ sk │ 1 │ 4445 │
│ 113.31.116.192:65001│ response │ 13 │ 2243 │
│ 113.31.116.192:65001│ top │ 1 │ 1862 │
秒耗时3447,这个速度即使上榜也完全不受限了,命令数也仅仅比之前降低了一点点
holygb
发表于 2024-3-1 16:01:53
icer 发表于 2024-3-1 02:52 PM
wiki里说的是每秒耗时3500以下不受限制,他这个是稍高,不是远低。
如果你说的每秒发送的命令数,确实很 ...
每秒2次的指令怎么也说不上狂发命令。再说我没见过xue 50处理的源码,不知道是不是真的有50次循环。如果有的话,我觉得没有必要,可以根据玩家的精神、技能上限、到下一级的值等条件计算出最多学多少次,算好了执行一次就可以返回了。反正玩家xue 50只是尽量学多点,学几次服务器说了算,玩家不在乎。还有我看其他mud的源码里xue的时候会有精神消耗和获得点数的随机数,这个也没必要,xue的次数够多后累计值基本不会偏差多少,白白消耗性能。
newstart
发表于 2024-3-1 16:15:10
我也建议可以研究一下xue的服务器端实现,看看有没有可能优化的空间
icer
发表于 2024-3-1 16:23:00
holygb 发表于 2024-3-1 04:01 PM
每秒2次的指令怎么也说不上狂发命令。再说我没见过xue 50处理的源码,不知道是不是真的有50次循环。如果 ...
简化是可以,但xue中的各种判断是简化不掉的,不单单是一个计算点数的事。而且你确定简化之后的效果是你想要的?
系统消耗不是看命令数多少,而是看cpu占用,这也是为什么要用top cmd而不是简单的命令数统计来进行限制的原因。稍微想想就明白,一个response和一个当铺的list,消耗的cpu相差了几百倍。
oakbai
发表于 2024-3-3 10:16:56
icer 发表于 2024-3-1 04:23 PM
简化是可以,但xue中的各种判断是简化不掉的,不单单是一个计算点数的事。而且你确定简化之后的效果是你 ...
这样能解决问题么?额外增加一个命令,带一个消耗系数n。每次学习相当于调用了n次learn。
dtp
发表于 2024-3-3 10:26:16
oakbai 发表于 2024-3-3 10:16 AM
这样能解决问题么?额外增加一个命令,带一个消耗系数n。每次学习相当于调用了n次learn。 ...
不行。因为武功是武侠类 mud 的重要数据,相关处理必须慎之又慎,一些限制也是重要的游戏设定。
如果按照你这个建议,那么就很容易冲过某个限制,让你学到不该学的等级。
建议不要再建议了,你们能想到的,wiz 都想过了。