顯示廣告
隱藏 ✕
看板 SuperTree
作者 dick51207 (SuperTree.bbs@bbs.csie.fju.edu.tw)
標題 Re: [三國] 反延遲真的沒鬼嗎?
時間 2013年04月03日 Wed. PM 02:18:43


※ 本文轉寄自 SuperTree.bbs@bbs.csie.fju.edu.tw

發信人: dick51207.bbs@ptt.cc (dick51207.bbs@ptt.cc) 看板: SuperTree
標  題: Re: [三國] 反延遲真的沒鬼嗎?
發信站: 2010/06/17 Thu 00:44:29

看板 WarCraft
作者 sitos (麥子)
標題 Re: [三國] 反延遲真的沒鬼嗎?
時間 Tue Jun 15 22:06:59 2010


※ 引述《gunhow (剛好)》之銘言:
: 反延遲程式其中一點試出來了
: 就是  "他跟改善網路速度一點關係都沒有"

反延遲程式要是連網路速度都可以改善的話,就應該拿出來賣錢,
讓我用 1M/64K 的網路直接升級光世代,中華電信就只能哭哭了。
想也知道反延遲程式跟網路速度一點關係也沒有,
既然是作給魔獸三用的,當然跟魔獸三本身的運作方式有關係。

: 剩下的待測試
: 他縮減的是指令跟指令之間的延遲!!

反延遲程式減少的應該是「下指令」到「指令產生作用」之間的延遲。
那麼為什麼下指令跟指令產生作用之間會有延遲,主要是因為魔獸要保持狀態的一致性。
先前在本板 #169j3p-2 已經略為解釋過這個延遲出現的原因,但可能不完全正確。

基本上遊戲的狀態,只能夠有一份正確的版本,所有其它人看到的遊戲狀態,
都必須要跟這一個正本一模一樣,才能確保所有的人的遊戲狀態是正確的。
而這一個正本,就由 Host ,也就是開房者保有。因此所有的指令,在下達指令之後,
並不會直接在玩家的電腦上產生作用,而是先送給主機。主機收到指令以後,
會再把這個指令傳給所有的玩家,當然也包括一開始發出指令的玩家。
這時候收到指令的各個玩家上的魔獸三,才會真的進行這個指令的動作。

因此我們可以看到,在這邊有兩次的傳送,因此會有兩次的延遲。
第一次是本地端的電腦在從鍵盤滑鼠收到指令以後,多久會把這個指令傳送出去。
第二個是主機端在收到指令以後,多久會把這個指令傳送出去。
我現在不太能確定的是,是不是兩段都會影響遊戲品質,還是只有第一段會影響。
如果從對遊戲狀態正本的作用來看,應該是只有第一段會影響,
不過對玩家操控上的感受來講,應該兩段都會有影響。

: 他不會改善任何網路速度...
: 所謂延遲設定  一般來說是為了讓網路遊戲可以順暢
: http://www.yulv.net/archives/485/
关于魔兽争霸联机主机优势的相关解释 | 雨律在线
**************************************************************************************** 版权归 雨律在线 - YuLv.Net - JiaJia 所有** 转载请务必注明来源于 http://Www.YuLv.Net**************************…… ...
 
: 一般戰網設定是250MS  區網設定是100MS
: 也就是說  指令跟指令之間是有延遲的!!

而這個設定值,因應不同的網路狀態,B.net 是每 250ms 傳送一次,
而 LAN 則是每 100ms 傳送一次,因此在 B.net 下進行遊戲,
從下達指令到動作被玩家看到,大概就會有 1/4~1/2 秒的延遲。
而這個數值是寫死在魔獸三當中的,無法被玩家自行修改。
但是可以透過修改記憶體的方式,直接改寫這個值。

: 當指令間的延遲越小時~~除非網速非常非常好(基本上不可能)
: 不然主機優勢更明顯  在戰網上250MS 改80MS
: 可以想見主機威能...

因為這個修改主機跟玩家都可以修改,因此所謂的主機威能可能並不存在。
雖然我自己沒有在使用這個程式,不過先前強者 kloer 在開發類似程式的時候,
測試的結果是,就算主機沒有用,連線進去的玩家自己改,也一樣可以改善延遲。
因此我想有需要的人大可以自己用,讓自己的指令早一點送到主機那邊去,
應該對於指令到動作之間的延遲就會看到改善的效果。

不過其實我看不太懂你這段話寫的是什麼... anyway

: 我開單機測試  當設定250MS 時
: 就算我是主機(沒對外連線 單機模式)  只要我手速大於250MS
: 指令操作是無效的  測試方式很簡單
: 手速夠的話,操作人物左右走動會發現他只往一個方向走!!
: 因為超過250MS的操作是無效的
: 雖然我左右點
: 可是他只認定一個指令有效,結果就是人物直直走
: 當我設定80MS時  一樣的操作就看到人物左右搖擺
: 以上跟網路封包一點關係都沒有~~
: 光是這點  就知道為何追打很難拉開距離了
: 難怪我射2箭...人家可以射到4箭...
: 這根本是圖利主機.....有人說是加速器也有道理~~
: 他只有加速主機的功能是確定的~~但是其它人就自己燒香拜拜~~
: 他縮減了指令間的延遲時間  而透過LAG造成主機威能更強大
: 戰網上250MS主機都很威了  還設到比區網小的80MS時....

也許你該測測如果主機跟你都設到 80ms 是不是一樣也會有效果。
但基本上要圖利主機實在是太簡單了,雖然從來沒有發布過,
不過我有寫過可以延後處理使用者送來指令的程式,當主機的時候,
只要用下去,不管你的網路再好,你的動作就是幾秒以後才會出來。
基本上只要遊戲開始過了二十分鐘,等你死一次再用,
就算你叫 lag 也不會有人理你的...

圖利主機方法百百種,其它人就算燒香拜拜也沒用,只有自己當主機最實在。

: 所以不要再說反延遲可以改善網路速度了!!
: 這程式最多只適用區網(區網都不見得延遲低於100MS)
: 拿來上網打根本是占人家便宜...
: 其實這也很有道理
: 若是一個程式就可以改善網路速度~~那誰要付錢買頻寬~~
: 很確定的是  他絕對不會改善LAG.....
: 只會讓網速好的更強  網速差的更慘~~
: 因為可操作性差異更大!!
: (以上是要打!DR的那個加速程式)
: PS.在單機玩時我發現當設定 550MS 時 就會發生主機移動時一格一格在動
:    所以他的縮減指令延遲方式還是個謎...單純縮減指令延遲
:    是不會發生LAG的~~因為我只下一個移動指令
:    該怎樣動就怎樣動
:    但是透過更改遊戲速度來改善指令延遲就.....
:    這樣一來與其說是反延遲   不如說他是主機加速器...

其實並沒有修改遊戲速度,遊戲速度還是一樣,只是看這個指令多久以後要生效。
我以前以為主機的動作應該是下達立即生效,不過現在看你這樣的測試,
看起來就算是主機,指令生效仍然會受到這個設定值的影響,
也許是這樣要保持遊戲狀態的一致性所需要的時間戳記更少吧。

--

我實實在在的告訴你們,一粒麥子不落在地裡死了,

              仍舊是一粒,若是死了,就結出許多子粒來。

                                約翰福音 12:24

--
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 60.248.178.71
p740914:麥子大仙推1F 06/15 22:07
jumbotest:所以會不會影響遊戲公平性咧?2F 06/15 22:12
jumbotest:真的會追人打一下變成追人打兩下嗎~?
sitos:對細微的操控應該是會有影響,我記得 blizzard 似乎有抓過4F 06/15 22:14
sitos:不過影響遊戲公平性的東西那麼多,也不差這一樣了。
KMSNY:正本在主機那想改啥就改啥6F 06/15 22:17

你改了以後跟大家不一樣,其它人通通都會斷線喔。 :)

hadessage:主機+17F 06/15 22:17
kidc:推這篇8F 06/15 22:19
WWWOOOXX:請問反延遲帳面上說法 不是說是調玩家 不是調室長的嗎9F 06/15 22:23
WWWOOOXX:我自己是主機 我若是開250MS 會感覺指令很慢 可是加別人
WWWOOOXX:的就沒有調成250ms這麼慢...

不曉得你是在 B.net 使用 dr 還是在 LAN 使用 dr?

如果你是在 B.net 用的話,調之前應該就是 250ms ,調成 250ms 應該跟沒調一樣。
如果你是在 LAN 用的話,因為調得比原本設的值更大,的確有可能感覺起來更慢。

假設從下指令到玩家送出指令這段時間稱為 A ,
從指令送出到主機收到指令稱為 B ,
從主機收到指令到主機處理這個指令並送出稱為 C ,
最後從主機送出指令到玩家收到指令稱為 D 。
A + B + C + D 應該就是下達指令到動作出來的時間。

其中 B 跟 D 取決於網路的速度,如果網路不好會有延遲,是在這兩段發生的。
而 A 跟 C 則是反延遲程式修改設定時會改變的數值。
主機當中 A/B/D 可能都是 0 ,唯一的延遲就是批次處理這個動作的時間,
從 gunhow 板友的測試可以推測主機也許不是在接到指令後馬上處理。
如果將這個時間設為 250ms ,最長的延遲可能就是 250ms 。

但如果是在 LAN 下,預設是 100ms ,當網路狀況很好時假設 B/D 是 0 ,
而主機也沒有特別設定,則 C 也是 0 ,那總共最長的延遲是 100ms + 100ms = 200ms 。
的確可能比自己當主機把時間設為 250ms 還要來得快一點點。

不過如果你的測試是說,你自己設成 250ms ,但加別人比自己當主機還要快,
這我就不太能理解為什麼了。因為如果這樣的話,過去在 B.net 的主機優勢,
就很難解釋得通了。

WWWOOOXX:至於主機跟80ms 100ms的差別 說實在話 我感覺不出來...12F 06/15 22:25
WWWOOOXX:還有 請問自己改 加別人的 就可以順利的減少延遲嗎
WWWOOOXX:還有 主機改 其他玩家有效果嗎.. 囧 我問題好多 @@

80ms 跟 100ms 能不能感覺跟每一個人對細微時間的掌握有關,我也感覺不出來。
所以我沒有在用這種工具,反正我的手很慢,就算中間傳快一點我還是會被殺爆。

至於之前 kloer 測試的結果是顯示,自己設也是會有效果的。
但主機設可能是作用在上述 C 段,自己設則是作用在上述 A 段。
如果是這樣的話,主機改的好處會所有玩家都有感受到。
而自己改的好處則是自己感受到。如果兩邊都改,也許是最好的。
事實上我們可以將 LAN 模式視為兩邊都將這個值改成 100ms ,
而虛擬區網的好處我相信多數的人應該都有體驗過了。

tattyHATE:意思應該是 只要你的"遊戲內容"跟大家不一樣就會斷 但是15F 06/15 23:17
tattyHATE:你的延遲與否 是主機可以掌控的XD 包括讓你斷線!
alinmoai:但最後一段有說 他只下了一次移動指令 但人物移動速度變17F 06/15 23:51
eks9527:好強大的麥子Q.Q18F 06/15 23:51
alinmoai:城一格一格的走 應該是指變慢了吧? 這樣的話 你的回答並19F 06/15 23:51
alinmoai:沒有辦法完全解釋這件事情

的確如此。不過變慢也無法解釋,因為變慢的話,動作應該還是 smooth 的。
不過一格一格動不符合這個條件。這個現象之後再來測測看。 :)
也許是時間的同步化上面因為不合理的設定值而出現異常。但我沒什麼把握。

aug32:主機改了全部都可以感受到 玩家自己改效果好像比較差21F 06/16 00:14
※ 編輯: sitos           來自: 60.248.178.71        (06/16 02:03)

--
※ 看板: SuperTree 文章推薦值: 0 目前人氣: 0 累積人氣: 36 
分享網址: 複製 已複製
r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇