CS2|延遲補償指令代碼分享

時間:2023-09-11
來源:5eplay
责任编辑:逍遥

近日,隨著CS2遊戲進一步給玩家開放測試資格,玩家們在近期發現了大量神奇的問題,其中,有很多人發現自己經常莫名其妙的在頭還沒露的情況下就被敵人擊殺,關於這個問題,有Reddit的用戶似乎找到了答案——這一切似乎都是因為cl_interp這個參數造成。

關於interp如何在一般情況下工作,請參見以下簡介:

插值時間由cl_interp_ratio/cl_updaterate或cl_interp中較高的值決定。

插值時間實際上是您的客戶端應用於屏幕上每個玩家的“延遲”。由於您每秒僅從敵人那裏收到64或128個數據包(加上您和敵人客戶端ping波動的各種數據包延遲),因此需要進行插值。

插值確保在這些數據包之間看到的內容是平滑而不是斷斷續續的。

從本質上講,延遲越高,在接收敵方數據包時允許發生的問題和掉線情況越多,而不會使該玩家看起來斷斷續續。缺點是您實際上會稍微晚一點看到所有內容。

當您在CS2中使用find命令查找cl_interp的描述和默認值時,它是這樣表述的:

cl_interp設置插值量(受服務器interp比率設置的限制)默認0.1(即100ms)

由於cl_interp似乎僅受updaterate和interp比率(與csgo一樣)的限制,因此0.1是一個有效且可接受的值。

默認情況下,cl_updaterate設置為20,與cl_interp_ratio 2結合使用也會創建一個插值值為0.1

由於遊戲采用這兩個設置中的最高值,因此它們都會將您的插值設置為0.1

cl_interp值為0.1為您提供100ms的有效插值量。在延遲補償中,插值量基本上會加到您的ping上,因為它補償了您在屏幕上看到的延遲。

因此,您其實是在延遲100ms的情況下看到一切,這並不好,並且導致一些人描述的“移動的武器”敵人,但這只是一半的原因,為什么您更頻繁地死在牆後(看起來自己似乎頭還沒露出去就被擊殺掉)。

您這樣做的原因是因為每個敵人也很可能使用該默認值,並且至少延遲100ms看到您,而您則看到每個人延遲100ms,總延遲為200ms。

死在牆後是不可避免的,但在與高ping玩家對抗時這樣的情況更為明顯。

由於插值在延遲補償中的表現與ping基本相同,因此您實際上是在與大量(總共200+ms)玩家對抗,這些玩家一直看到您仍然在開闊的地方,而實際上您已經在屏幕上的牆後了。

將cl_interp和cl_updaterate設置在您的一側不會(完全)解決頻繁死在牆後的問題,其他人也需要降低它。

建議和最可能的修複方法:

我建議將cl_interp設置為0.015625或0.03125(即大約15毫秒或31毫秒),這相當於64 tick服務器上的一個tick(0.015625)或兩個ticks(0.03125),以及128 tick服務器上的兩個(0.015625)或四個(0.03125)。

將cl_updaterate設置為128,以避免“覆蓋”cl_interp設置

在我看來,V社官匹premiere服務器上的兩個或四個ticks(似乎在128 tick上運行,但即使不是相同的情況也會適用)足以彌補玩家和服務器之間的所有非嚴重不一致。

警告

這些值在重新啟動cs2時會變回默認值,要解決這個問題,請在“X:\Program Files (x86)\Steam\steamapps\common\Counter-Strike Global Offensive\game\csgo\cfg”中創建名為autoexec.cfg的文件,並添加以下命令:

cl_updaterate 128

cl_interp_ratio 1

cl_interp "0.015625"

或者

cl_interp "0.03125"

如果您的網絡連接不太穩定,請使用0.03125。

在遊戲啟動時會自動加載這些指定值。

我特意簡化了這個主題,以讓大家更容易理解。

如果它在csgo中的效果與現在相同,我認為valve沒有理由不將其默認設置為0.03125或更低,類似於它在csgo中的設置。

備注:如果您在另一個路徑上安裝了csgo,請按照以下步驟查找:

右鍵單擊steam中的csgo,屬性,安裝文件,瀏覽。

然後,您需要轉到game/csgo/cfg以進入cs2配置文件夾

TLDR:cl_interp的默認值太高,而cl_updaterate的20太低。將它們中的一個設置為它們會導致您和敵人的屏幕延遲總計約200毫秒,請使用上面的建議。

免責聲明:文中圖文均來自網絡,如有侵權請聯系刪除,18183新遊發布此文僅為傳遞信息,不代表18183認同其觀點或證實其描述。
用戶評論