WarCraft 板


LINE

再仔细地偷看一次 Warcraft III 的封包发现, LAN mode 会比较顺是必然的。 特别是在网路好的时候差距会更加明显,因为网路不好同样会顿到爆炸。 若是游戏当中有任何指令, Host 会马上传给其它 Client , 告诉它们发生什麽是,理论上会付上一个 timestamp (时间邮戳), 告诉 Client 这件事是什麽时候发生的,因此 Client 就知道, 现在的游戏时间已经到了这里,在这里之前所有发生的事都知道了。 就把游戏的状态更新到该时间点。 在 Bnet mode 底下, Host 每 0.25 秒会送一个同步化封包出去。 告诉 Client 在接下来(没错,接下来) 0.25 秒之内没其它别的事了 因为如果所有的使用者都没有做任何事,那麽 Host 就不会送动作给 Client , 就没有 timestamp 让 Client 更新游戏的状态,为了让游戏顺利进行, Host 在没事的时候也会周期性地送封包给 Client 说「没事」。 我们现在来看看两种不同情况的 lag 。首先若是 Client 都有送出封包, 但是 Host 很慢才收到,假设 Client 送出 A 封包是在 T[0] (第零秒), 但是 Host 在 T[2] 才收到封包,因此在 T[0] 到 T[2] 之间, Host 都说没事, 因此 Client 收到也只能照做,在这段时间不论做什麽动作都不会有反应, 直到两秒以後动作才被 Host 收到, Host 收到动作後马上传回给 Client , 因此在游戏时间中 T[2] 该动作就被做出来了,这就是延迟两秒的情况。 若是 Client 都有送出封包,但是根本收不到 Host 送来的封包, 连「没事」也听不到的话, Client 就无法更新游戏状态(免得状态不一致), 此时游戏当中的角色都会卡在原位,动也不动,直到收到 Host 的封包。 这种情况大致上就是「突然很顿」的情况,一时间人物完全都没有动作。 这麽来看,即使真的「完全都没事」 Client 也得要等 0.25 秒才能更新状态, 在这 0.25 秒之内做的动作就算做了,等到 Host 送回来也会比现在的「没事」封包晚, 因此 0.25 秒左右的 delay 在 Bnet mode 恐怕是免不了的。 0.25 秒也是电话通话品质当中可以接受的上限,单程 delay 超过这个大小, 人就会很有感觉,讲国际电话有时候话常打架,就是因为这个原因。 然而对於比讲话更细密的撑线游戏, 0.25 秒的感受其实满明显的。 那为什麽 LAN mode 会比较顺呢? 因为在 LAN mode 下 Warcraft III 预设更好的网路, 在 LAN 里面比较不用担心流量过大(尤其是 Bnet 的 ladder 是 server 在撑), 因此对於「没事」封包更加大方,它每 0.1 秒就会送一次, 也就是 delay 可以压到 0.1 秒左右。这个量已经符合多数人神经敏感度的极限, 和一般人作尺反应测定的时间差不多,因此这个量是可以接受的。 若是网路状况良好,让 Bnet mode 跟 LAN mode 都可以正常运行, 其 delay 的状况大致就是 0.25~0.5 秒之间与 0.1~0.2 秒之间, 当然越好的网路越接近最佳值,只不过即使都在最佳值,还是有 2.5 倍的差距。 知道这件事以後我曾尝试要把 Bnet mode 的同步化封包量提高, 不过限於无法直接修改 Warcraft III 的程式,所以经过一个晚上的努力完全失败。 所以还是好好修改 ULan 把帐密系统、部族系统、黑名单系统弄出来比较实际。 (因为我昨天睡觉前想到一个好方法,其实这篇文章重点只有最後一行) -- --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.31.132
1F:推 Wayne7878:推,谢谢你的认真回应...我走错版了...歹事... :) 04/19 10:19
2F:推 jack0204:刚好最近学到....又上了一课 04/19 10:33
3F:→ chigi:楼上在上计网概? 04/19 10:36
4F:推 YouCantGetME:就叫你先做该做的事喔- -+ 软工没学好XD 04/19 10:37
5F:推 kikijuice:感谢你的认真回硬 糟 透露出我是西斯洨众了 04/19 10:43
6F:推 sitos:YCGM 要是有做出来就造福所有 Bnet 的使用者ㄟ... 04/19 10:56
7F:推 YouCantGetME:不能再架pvpgn了啦T___T 不然GGC早就被我自己out掉了 04/19 11:01
8F:推 YouCantGetME:ㄟ...sorry我想太深了 我懂你怎麽做了 XD 04/19 11:03
9F:→ YouCantGetME:把已完成跟未完成的计划加在一起 就变超级外挂= =... 04/19 11:06
10F:推 Lushou:高手 浅显易懂 04/19 12:01
11F:推 FrostMaiden:推一个 :P 04/19 12:11
12F:推 jhunfong:太专业 看不懂XD 04/19 12:20
13F:推 Achillean:推认真文,真研究生无双 04/19 13:09
14F:推 snowpoint:呃...Warcraft不是p2p吗@@? 04/19 13:39
15F:推 sitos:是 p2p ,那只是指玩的时候不经过 server 04/19 14:38
16F:→ sitos:但是还是有 host 来确保指令的顺序没错 04/19 14:38
17F:推 AriesJ1M:source code!!(伸) XDDDDD 04/19 15:18
18F:推 sitos:什麽东西的 source code? 04/19 15:41
19F:→ sitos:对了 因为要写新东西 ULan 这边我暂时关掉 04/19 15:42
20F:推 AriesJ1M:随便喊喊 dont mind XDDDD 04/19 16:57







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:BabyMother站内搜寻

TOP