hijacker 发表于 2014-3-12 13:14:32

关于心跳的进一步思考——提高长串指令响应速度、争取先手的一点技巧

网络状态真差啊,这标题我打了3次,希望这次能发上来

北大侠客行MUD,中国最好的MUD

hijacker 发表于 2014-3-12 13:18:37

本帖最后由 hijacker 于 2014-3-12 02:01 PM 编辑

(打完标题后想去冲杯咖啡,结果手一抖倒进去半瓶咖啡伴侣~~~~(>_<)~~~~ )
OK,其实这次的内容跟心跳没什么关系。
这些内容其实本来没打算发,但有朋友把我之前写的关于心跳那贴顶上来了,觉得不写点什么对不起大家的厚爱,在此分享一下心跳贴成文后的一些新思考和发现。

比较有经验的人都知道,就长串指令构成的alias而言,游戏服务器提供的to alias是其中响应速度最快的,没有之一。mudos代码没见过,我们来做个简单的测试证明:


第一张图是模拟客户端的alias效果,第二张图是服务器端的to alias效果。那些数字是通过print(utils.timer())显示的精确时间。从中我们可以计算出,客户端alias响应速度*大约*是服务器端to alias的响应速度的(43503.797412289-43502.997311595)/(43458.056768395-43458.03704069)=40.56倍——当然这个数值受网速影响浮动很大,感兴趣的朋友可以在自己的电脑上测试下;其实我平时测的结果大约是20倍左右,懒得重新截图了,大家将就看吧。

所以,想要输入长串指令,to alias是最快的。而读过我的《【梦话连篇】第四辑:灵台方寸,斜月三星——论心跳》一贴的同学应该对如何抢先手有点印象,其中口总(ftd,我没认错吧?表示有人脸识别障碍症:)提出“避免指令之间产生间隔其实可以用to alias”——对此我表示认同,但是我当时在讨论中并没有提到这一点,原因是我认为to alias不够灵活:就好像很多科研项目虽然研究的内容很前沿,但并不适合大量投入生产一样,to alias很难大规模用在机器人中。原因显而易见,一来系统的to alias数有限制,二来它本身对通配的支持特别少……所以不如客户端alias实用。

那怎么办呢?to alias既能减少指令响应时间,又能帮我们抢到先手,有没有什么办法让它能灵活地为我们所用呢?

hijacker 发表于 2014-3-12 13:18:45

占楼

hijacker 发表于 2014-3-12 13:41:05

本帖最后由 hijacker 于 2014-3-12 02:15 PM 编辑

插楼的某人,我看见你了hz1

好吧,先坑着吧,反正论坛这网络也够闹心的

yunlan 发表于 2014-3-12 15:08:20

谁插楼了?没看见呀

mfan 发表于 2014-3-12 15:53:04

插楼的某人,我看见你了

好吧,先坑着吧,反正论坛这网络也够闹心的
hijacker 发表于 2014-3-12 01:41 PM http://pkuxkx.com/forum/images/common/back.gif


    钓鱼执法啊这是

suxxx 发表于 2014-3-12 15:57:31

快写,快写,赶紧写完

lincoin 发表于 2014-3-12 17:23:49

没下文了,太监了?节操节操

pinkagaric 发表于 2014-3-12 20:57:56

擦,技术贴啊,加精~~~~

basara 发表于 2014-3-12 21:54:21

呃,捡个肥皂还要争先手。。。
页: [1] 2
查看完整版本: 关于心跳的进一步思考——提高长串指令响应速度、争取先手的一点技巧