Board logo

標題: [教學] L4D2 網絡參數優化 [打印本頁]

作者: Crasher    時間: 2012-4-19 23:06     標題: [教學] L4D2 網絡參數優化

如果你希望直接取得優化,
不想花時間了解最適合自己的設定,
請建立一個autoexec.cfg(Left 4 Dead 2\left4dead2\cfg內),並輸入以下指令:
引用:
rate 30000; cl_cmdrate 30; cl_updaterate 30; cl_interp_ratio 2; cl_interp 0.067
如果你至少希望了解一下上述指令如何幫助提升你的遊戲體驗,請繼續閱讀。




為什麼要優化網路參數?
這裡說的優化網路,其實不是說降低PING值等等的事,
而是透過更改幾個遊戲內置參數而達至以下目的:

1. 提高你推HUNTER,推JOCKEY的成功率
2. 縮短你能看見一隻從牆後冒出來的喪屍的時間




原本的網路參數有什麼問題?
要了解這點,各位首先要認識遊戲內的兩個元素:
1. Hitbox
在螢幕上隱藏著,帶領著Model移動的物件,是遊戲世界的真實情況。
2. Model
你在螢幕上看見的Hunter,Smoker,喪屍等等,都是Model。

Model是跟隨著Hitbox移動的,但兩者並不一致,
Model是有延遲的,

延遲的時間則由網絡品質和參數決定。
兩者的具體情況請參考下列影片:
http://www.youtube.com/watch?v=vF25ZnMWPn0
http://www.youtube.com/watch?v=brJmVOLgz9Q

從上述影片,大家應該得知很重要的一點:
在生存者的近戰攻擊中,只有擊中Hitbox,系統才判定為擊中。
(射擊有另一種判定機制)
有些人覺得Hunter十分難推,
其實就是由於Hunter的Hitbox與Model分離很遠的原故。
而此情況正是由L4D2預設的網絡參數所引致。




說的究竟是哪個參數?
那個參數就是本文要說的最主要的一個參數:
cl_interp




什麼是cl_interp?
cl_interp就是控制Hitbox與Model之間延遲時間的參數
簡單來說:
cl_interp愈高 = 延遲愈大
cl_interp愈低 = 延遲愈少

L4D2預設的cl_interp是0.1,
表示你看見的所有Model都是比HitBox慢100毫秒 (0.1x1000),
你在看的遊戲世界其實都是在重播100毫秒之前發生的事,

100毫秒延遲,對於高速移動的物件,尤其是你要去推的Hunter,
其實是一個太長的延遲。




那是不是設得愈低愈好?
不一定。
cl_interp值愈低,的確愈能令螢幕的畫面貼近正在進行的遊戲世界,
但由於某些原因,亦同時會帶來更鈍的遊戲畫面,
「鈍」就是不流暢,你或許會感到喪屍輕微一卡一卡地移動的情形。
cl_interp的高低必定是「流暢畫面」和「貼近遊戲世界」之間的取捨。

但每人的感覺和接受能力都不同,
因此最好的設定其實就是最適合自己的設定。





更改這個東西是不是一定能幫助我?
當然不能保證。
你可能習慣了原本的延遲,或者說你在預設延遲下已是一個神手,
那這修改不一定對你有幫助。
但就人性化的角度來看,推一隻看得見的Hunter總比推空氣簡單,對不?
長遠來說我相信對你的技巧會有所幫助,尤其是在對抗這種節奏急速的遊戲中更能體會它的重要性。




有沒有什麼設定可供參考?
本文開頭記載的一組設定就是最安全的設定,
使用它可以在不引致卡屍的環境下,得到最大程度的延遲縮短。
引用:
rate 30000; cl_cmdrate 30; cl_updaterate 30; cl_interp_ratio 2; cl_interp 0.067
如希望更進一步縮短延遲,可嘗試:
引用:
rate 30000; cl_cmdrate 30; cl_updaterate 30; cl_interp_ratio 1; cl_interp 0.033
但請別忘記低數值的副作用。

你亦可測試各個設定,找出自己最能接受的平衡點。

有一條公式要記住:

cl_interp的最低可行值 = cl_interp_ratio / cl_updaterate

要進一步降低interp值,必然要提升cl_updaterate或降低cl_interp_ratio,否則遊戲不容許你更改。
但請注意,某些伺服器有對cl_updaterate值作出限制。




.
Interp值 0.1 與 0.033 的對比圖




.
.



[ 本帖最後由 Crasher 於 2012-10-11 10:02 編輯 ]
作者: anthonyij    時間: 2012-4-20 18:09

:handshake 幾正好似
作者: Crasher    時間: 2012-4-21 02:11

.
Interp值 0.1 與 0.033 的對比圖




.
.


作者: donaldhen    時間: 2012-4-21 17:18

想請問射擊系統如何計算是中的@_@
作者: Crasher    時間: 2012-4-21 17:24

引用:
原帖由 donaldhen 於 2012-4-21 17:18 發表
想請問射擊系統如何計算是中的@_@
同近攻相反
用Model判定
所以改interp不會對你的槍法有影響
但對怪物的實質位置掌握必須大大提升
舉一個例 如果你interp值高
你射一隻正在向你飛撲的hunter
可能響你以為仲有機會開槍的情況下轉眼間已經比人撲中左
被撲前一剎你睇到隻hunter仲好遠

[ 本帖最後由 Crasher 於 2012-4-21 17:42 編輯 ]
作者: tommyin1010    時間: 2012-4-22 15:22

rate 30000; cl_cmdrate 30; cl_updaterate 30; cl_interp_ratio 1; cl_interp 0.033依兩個數值又係改咩

如果改到hitbox同model完全一樣會點
同埋點顯示個hitbox

[ 本帖最後由 tommyin1010 於 2012-4-22 15:30 編輯 ]
作者: Crasher    時間: 2012-4-22 22:08

引用:
原帖由 tommyin1010 於 2012-4-22 15:22 發表
rate 30000; cl_cmdrate 30; cl_updaterate 30; cl_interp_ratio 1; cl_interp 0.033依兩個數值又係改咩
如果改到hitbox同model完全一樣會點
同埋點顯示個hitbox
rate : client最高可以向server接收的bytes/second
cl_cmdrate : client向server傳送的command/second  (開槍,移動等command)
兩值同interp無關, 但修改後可以有正面影響
cl_update : client要求server傳送的update/second


hitbox同model唔會完全一樣, 只能盡量減低延遲
而因為l4d2的engine內部限制了最高server tickrate為30
(不管你設updaterate有多高,server向你傳送的update都不會超越30/s)
所以l4d2高程度使用了interp去製造流暢遊戲畫面
當你interp愈低,又沒有足夠update的情況下,
畫面理論上就會愈卡,
但先前都說過, 卡可以是個人主觀感覺
只要自己覺得不卡就可以


這是0.016的畫面, 一般server可以達到的最低值
可以看見這次hunter是連接著hitbox


[ 本帖最後由 Crasher 於 2012-4-23 20:12 編輯 ]
作者: tommyin1010    時間: 2012-4-23 19:41

updaterate最高為30, 但係>30會唔會影響到interp的數值
(以cl_interp的最低可行值 = cl_interp_ratio / cl_updaterate 的公式計算)
eg:
cl_updaterate 30; cl_interp_ratio 2 = cl_interp 0.067
cl_updaterate 60; cl_interp_ratio 2 = cl_interp 0.33?/0.067?
作者: Crasher    時間: 2012-4-23 20:11

引用:
原帖由 tommyin1010 於 2012-4-23 19:41 發表
updaterate最高為30, 但係>30會唔會影響到interp的數值
(以cl_interp的最低可行值 = cl_interp_ratio / cl_updaterate 的公式計算)
eg: 
cl_updaterate 30; cl_interp_ratio 2 = cl_interp 0.067
cl_updaterate 60;  ...
條數照係咁計
只係updaterate即使超過30亦不會向server接收超過30update/s
(依個正是造成卡屍的原因)
即係updaterate高過30唯一作用就係進一步降低interp
作者: tommyin1010    時間: 2012-4-23 20:22

咁降低cl_interp_ratio依個數黎降低 interp 有咩後果?
作者: Crasher    時間: 2012-4-23 21:26

引用:
原帖由 tommyin1010 於 2012-4-23 20:22 發表
咁降低cl_interp_ratio依個數黎降低 interp 有咩後果?
依個值單獨無影響
主要係睇cl_interp同cl_updaterate
假設 cl_updaterate=20 , 每秒向server接收既update=20
代表傳送model位置既data每個需時 = 1/20 = 0.05 = 50ms
若果 cl_interp=0.1, 用以製造流暢畫面既model延遲 = 0.1 = 100 ms
代表每個data有100ms時間可供傳送
即使第一個data傳送失敗,仍有50m時間可供傳送第二個後備packet
預設參數畫面最流暢就係咁解
作者: leoalex911    時間: 2012-4-23 21:36

正,不過其他D特感可唔可以咁樣,我想練秒Charger好Q耐,  HUNTER同JOCKEY EASY JOB,好易推  
作者: Crasher    時間: 2012-5-14 21:34


作者: kwi000521    時間: 2012-5-15 22:25

其實問咁多無乜用...知道點改,然後入game慢慢試,試一個自己最習慣既lerp仲好
作者: wow189    時間: 2012-6-16 22:03

你好我想問下
唔調hitbox嗰d  
純粹想降低loss同choke
有咩辦法??
現時設定(rate 18000 cl_cndrate 60 cl_updaterate 30)

15M download/1m upload
作者: Crasher    時間: 2012-6-17 01:08

有loss同choke唯一對策就係降updaterate同cmdrate
loss=你自己電腦/上網慢
choke=server慢
作者: .hE1    時間: 2012-6-17 01:43

請問
如果想降低PING值
咁有冇方法?
作者: Crasher    時間: 2012-6-17 01:59

引用:
原帖由 .hE1 於 2012-6-17 01:43 發表
請問
如果想降低PING值
咁有冇方法?
關哂其他程式 如msn,bt
唔好用wireless
作者: .hE1    時間: 2012-6-17 02:16

引用:
原帖由 Crasher 於 2012-6-17 01:59 發表

關哂其他程式 如msn,bt
唔好用wireless
sorry 我電腦白痴黎
請問wireless係咩黎?
仲有我而家上網只係用緊6M 會唔會唔多唔小有啲影響?
作者: Crasher    時間: 2012-6-17 02:22

引用:
原帖由 .hE1 於 2012-6-17 02:16 發表

sorry 我電腦白痴黎
請問wireless係咩黎?
仲有我而家上網只係用緊6M 會唔會唔多唔小有啲影響?
wireless=無線上網

6M真係慢左D
或者唔入得多人場, rpg場依類
作者: .hE1    時間: 2012-6-17 02:27

引用:
原帖由 Crasher 於 2012-6-17 02:22 發表

wireless=無線上網

6M真係慢左D
或者唔入得多人場, rpg場依類
屋企有個wifi算唔算?
作者: Crasher    時間: 2012-6-17 06:21

引用:
原帖由 .hE1 於 2012-6-17 02:27 發表

屋企有個wifi算唔算?
你部電腦直線插LAN線上網=唔係無線
作者: bboo520    時間: 2012-7-29 22:21

本身有個autoexec.cfg咁點?
作者: 22029205    時間: 2012-7-29 22:27

引用:
原帖由 bboo520 於 2012-7-29 22:21 發表
本身有個autoexec.cfg咁點?
照copy落去就得
如果本身有果D指令就自己改
唔想煩既copy去最低就一定run到
作者: bboo520    時間: 2012-7-29 22:29

COPY rate 30000; cl_cmdrate 30; cl_updaterate 30; cl_interp_ratio 2; cl_interp 0.067落去?
作者: 22029205    時間: 2012-7-29 22:31

引用:
原帖由 bboo520 於 2012-7-29 22:29 發表
COPY rate 30000; cl_cmdrate 30; cl_updaterate 30; cl_interp_ratio 2; cl_interp 0.067落去?
無錯
作者: bboo520    時間: 2012-7-29 22:33

THX你..........
作者: slim_AHH    時間: 2012-8-31 19:50

GOOD 對抗好難推HUNTER  單機打專家就易D
作者: Ʀεβǿя₦    時間: 2012-10-7 15:57

其實玩開coop果d人都無乜需要去改lerp,因為coop hun都係直撲
作者: l4d2468    時間: 2013-1-20 01:11

我想問 有咩指令可以睇到個hit box
作者: +TunG×°    時間: 2014-6-21 16:24

放係邊個位置? :L
作者: 恨死    時間: 2014-6-21 19:25     標題: 回復 31# 的帖子

我認為你吾需要知道放係邊個位置
因為你根本冇睇完樓主打既內容
作者: kaloccm    時間: 2014-6-22 00:51

重溫當年既SERVER config. 懷念

同埋sm_cvar cl_updaterate , sm_cvar cl_cmdrate 可以行到100
只要你改下個network DLL檔就得, 係SERVER SIDE改就得唔洗SYNC番落client side

個DLL檔年半前就有, 可以上網搵下,
試過係VLAN 同朋友HOST過, 順到好似單機咁, 不過應該食好多resource,多人SERVER未必夠推
作者: +TunG×°    時間: 2014-6-22 10:44

引用:
原帖由 恨死 於 2014-6-21 19:25 發表
我認為你吾需要知道放係邊個位置
因為你根本冇睇完樓主打既內容
我睇完啦 我有建立一個autoexec.cfg(本身冇)
但感覺上冇咩分別先問下係咪放錯




歡迎光臨 IPvE vLan 遊戲平台|網吧系統 (https://www.ipve.com/bbs/) Powered by Discuz! 6.0.0