[閒聊] LAN mode 比 Bnet mode 順的原因
再仔細地偷看一次 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
推
04/19 10:19, , 1F
04/19 10:19, 1F
推
04/19 10:33, , 2F
04/19 10:33, 2F
→
04/19 10:36, , 3F
04/19 10:36, 3F
推
04/19 10:37, , 4F
04/19 10:37, 4F
推
04/19 10:43, , 5F
04/19 10:43, 5F
推
04/19 10:56, , 6F
04/19 10:56, 6F
推
04/19 11:01, , 7F
04/19 11:01, 7F
推
04/19 11:03, , 8F
04/19 11:03, 8F
→
04/19 11:06, , 9F
04/19 11:06, 9F
推
04/19 12:01, , 10F
04/19 12:01, 10F
推
04/19 12:11, , 11F
04/19 12:11, 11F
推
04/19 12:20, , 12F
04/19 12:20, 12F
推
04/19 13:09, , 13F
04/19 13:09, 13F
推
04/19 13:39, , 14F
04/19 13:39, 14F
推
04/19 14:38, , 15F
04/19 14:38, 15F
→
04/19 14:38, , 16F
04/19 14:38, 16F
推
04/19 15:18, , 17F
04/19 15:18, 17F
推
04/19 15:41, , 18F
04/19 15:41, 18F
→
04/19 15:42, , 19F
04/19 15:42, 19F
推
04/19 16:57, , 20F
04/19 16:57, 20F
WarCraft 近期熱門文章
PTT遊戲區 即時熱門文章
-15
27
40
80