本文已有4年的歷史,可能包含過時的信息
對於外行來說,諸如“ tick速率”和“ NetCode”之類的詞很難理解 - 因此引起了專家的重生。首席工程師薩米·杜克(Samy Duc)解釋了一系列問題和常見情況Apex Legends,他們的原因以及開發人員正在做的修復在5,000字的博客文章中今天。
此外,DUC談到了一個高度爭議的話題:原因頂點以20 Hz的滴答速度運行,以及為什麼升級它可能沒有某些粉絲想像的那麼重大影響。
重生已經做了什麼並即將進行的升級
根據DUC的說法,Respawn已經推出了一系列工具,這些工具將增加其處理問題的能力,並且還有更多的方法。例如,在第六季中引入的性能指標菜單不僅僅是玩家監視其幀速率和ping的方便工具。
杜克說:“這些數字可以幫助您和我們 - 理解您在比賽時經歷的事情。” “換句話說,我們可以將您的感覺轉化為可行和技術信息。”
加上性能菜單,重生“開始跟踪玩家和服務器的關鍵性能指標”,這是為其團隊提供“個性化和有針對性的調查手段”的推動力的一部分。
該工作室在最近幾個季節中建立了該策略,每次收集自動數據並分析一個星期。 DUC說:“這種方法已經有所回報。” “一周又一周,我們可以自信地說我們的服務器機隊的健康狀況更好或更糟。”但是仍然有改進的餘地。
除了每週報告外,Respawn已轉向實時警報。這應該有助於簡化流程,並允許開發人員解決硬件問題並開始更快地調查。團隊還將添加一個唯一的服務器ID(SID),這將使玩家報告問題時更容易找到確切的服務器。這兩種變化都應在下一個賽季進行遺產。
服務器刻度率
DUC將刻度率定義為“服務器每秒運行的仿真數”。這頂點自遊戲推出以來,社區對20 Hz tick率的投訴一直是一個相當普遍的景象。
DUC解釋說,升級到60 Hz確實有好處。但是,據他說,“這並不是很大”,“它不會對與普通舊滯後(例如在封面中被槍擊),ISP級問題或蟲子(例如HIT REG和慢速MO服務器)相關的問題做任何事情。”
根據Respawn的計算,具有50毫秒ping的玩家將經歷75毫秒延遲(接收信息的全部ping量,以及當信息到達服務器時延遲的一半延遲)。這將導致玩家的輸入與其對遊戲的實際影響之間的五框架滯後頂點在60 fps。
使用相同的模型計算60 Hz的NetCode會產生三個框架延遲,這僅是在20 Hz下運行的兩個幀。 “因此,對於帶寬和CPU成本的三倍,您可以在該範圍內節省兩個幀的延遲最好的案例場景,”杜克說。
增加帶寬也是重生的因素。 DUC說:“保持遊戲的帶寬成本低於視頻流的重要性要重要。”流可以緩沖和下載速度可以振盪而不會產生太大影響,但是對於遊戲來說,“即使是幾個50毫秒的間隔也會開始感到不好”,而且當它們堆疊時可能會更糟。
常見問題
DUC談到了社區的一系列常見投訴 - 從失敗的命中註冊和慢動作服務器到數據包丟失和代碼:NET。開發人員討論了慢動作服務器,並透露,儘管有許多可能的原因,但“有時它與數據中心中的機器鏈接在一起。即將進行檢測的改進,定於在遺產中推出,應有助於遏制該錯誤的實例。
尖峰潛伏期也可能與重生的結尾發生有關。他說:“通常,這個問題與新功能一個季節引入的性能需求增加有關。”
為了監視這些要求,該工作室生產了一個稱為RPROF文件的工具,該工具“基本上是對服務器在每個幀中正在執行的操作的視圖”。根據DUC的說法,它應該有助於優化新功能,這些新功能隨著時間的流逝而添加到遊戲中,從長遠來看通常會減少延遲。
根據DUC的說法,數據包丟失是一個棘手的問題。有時,這個問題可能不在播放器的端或服務器上,而是在連接兩者的節點之一中。從兩個角度來檢測顛簸所在的位置需要追踪,這一過程可能“非常耗時且緩慢地解決”。
DUC說:“根據我們的發現,我們必須與世界各地的不同業務合作夥伴進行談判。”減少帶寬和實施自動化可以有助於解決問題。
在掩護後被殺死並不少見頂點它的發生與滯後補償有關。服務器必須重新分發玩家之間的信息,有時,兩個玩家的ping會大不相同。 “為了解決這個問題,我們的服務器不僅必須不僅要在那一刻和您的對手那裡看待什麼,而且還必須看待什麼曾是當時,從兩個角度來看,你們倆都輸入了您的行動。 ” Duc說。
頂點具有內在的權衡,可以降低低調球員在小規模衝突中的優勢。 “好處是你可以玩Apex Legends根據DUC的說法,即使您的潛伏期高於平均潛伏期,也相對出色。 “我們相信我們應該在每一個機會中減少“廢話”,但是當我們必須處理比理想的不那麼理想的經歷時,我們希望以對所有玩家平等而公平的方式做到這一點。”
最後,DUC涉及臭名昭著的代碼:淨問題及其變體。根據DUC的說法,該事件“是一條通用錯誤消息,每當您的遊戲時間到達服務器時,遊戲都會顯示出來的,並且可能是由連接兩端的問題引起的。
開發人員說:“實際上,我們發現一些最嚴重的代碼:網絡錯誤(以及相關的錯誤,例如代碼:葉等)可能與Respainn的服務有關支持遊戲的服務有更多的關係。”
儘管Respawn已經採取了預先實施的措施來減輕錯誤,但是如果您遇到代碼:淨問題,請與EA幫助聯繫是一種讓重生知道發生並將其修復的好方法。杜克說:“最近幾週我們已經成功解決了其中一些,但我們知道我們還有更多要做的事情。” “向我們報告問題,我們將盡快解決問題。”