什麼是壁蝨?
我聽說過許多使用壁蝨的實例。例如,人們會說,演示以16節拍記錄,服務器以64節拍運行,但真正好的服務器將以128節拍運行。
我不完全了解什麼是節拍。為什麼擁有更高的2的冪會更好?我已經看到很多關於要求Valve添加更高報價服務器的線索,但是更高的“報價”能為您帶來什麼呢?
什麼是壁蝨?
我聽說過許多使用壁蝨的實例。例如,人們會說,演示以16節拍記錄,服務器以64節拍運行,但真正好的服務器將以128節拍運行。
我不完全了解什麼是節拍。為什麼擁有更高的2的冪會更好?我已經看到很多關於要求Valve添加更高報價服務器的線索,但是更高的“報價”能為您帶來什麼呢?
什麼是滴答?
要首先了解滴答的含義,您需要對遊戲循環有較高的了解。在標準遊戲循環中,您具有三個主要功能:
這些將在整個遊戲中反复循環。循環上有控件,因此2種不同的硬件(例如PC)不會以不同的速率運行循環。這在服務器客戶端設置(例如Counter-Strike)中也很重要,這樣所有客戶端都可以同步運行。節拍率用於控制遊戲狀態的更新頻率。滴答率為60將每秒更新遊戲狀態60次。您經常會看到此數字表示為 ticks
, tickrate
,每秒ticks
和 tps
。
請注意,屏幕上的渲染通常以不同的方式進行控制(通常看到每秒 60幀
或 60fps
)。複雜的循環嘗試使跳動速率和幀速率脫鉤,以便更長的處理時間不會導致圖形跳變。儘管鏈接在一起,但重要的是要了解遊戲更新(由每秒點擊數
控制)與屏幕更新(由每秒幀數
控制)不同。
某些在線遊戲,例如《泰坦隕落》(Titanfall),其滴答率
要低得多(20)。這意味著遊戲世界每秒更新20次並渲染到屏幕60次(假設 60 fps
)。
我已經看到很多關於要求Valve添加更高的滴答服務器,但是更高的“滴答”能為您帶來什麼呢?反映在遊戲狀態 more 常規中。但是,對您的機器/服務器和潛在的客戶端網絡的要求更高。
對於較高的滴答率,較低端的機器可能會遇到困難。另外,根據網絡代碼(可能針對60個而不是100個以上的代碼進行了優化),您可能還會看到其他具有同步,浮點問題的錯誤。
因此,簡而言之,如果客戶端可以跟上(使用CPU和帶寬)。如果不這樣做,他們將比60節拍服務器經歷更多的滯後/問題。此外,服務器運行更高的報價速度的成本會更高(加上帶寬成本,因為您會更頻繁地更新客戶端)。
其他帶有專用服務器的遊戲的報價速度將比更低60,既增加了受眾(使更多的人能夠毫無問題地奔跑)又降低了成本。遊戲的響應速度不像較高的時鐘頻率遊戲/服務器,這是非常小的,考慮到我們正在談論每秒20或60次更新速度。無論如何,您在一秒鐘內可以單擊鼠標多少次?
進一步閱讀:
簡單地說,“滴答”表示遊戲引擎處理的時間最短–即一秒鐘內游戲可以移動多少個不連續的步驟。滴答率越高,遊戲物理效果可能看起來更平滑或更現實,但這是以處理能力為代價的。
換句話說,它是對您從(理論上)實際場景中獲取的“樣本”數量的計數。您採集的樣本越多,數據跳動就越少。
服務器的 tickrate是服務器在一秒鐘內處理的遊戲幀數。有時也稱為服務器FPS,由於服務器仍然具有 max_fps
命令。
每個遊戲框架,遊戲都會調用實體的GameFrame方法( (如果有的話)進行任何遊戲邏輯處理。對於彈丸,播放器,門等,這包括物理處理。遊戲此時還執行內部邏輯...並且任何Valve Server插件(VSP)(例如MetaMod:Source和SourceMod)也可以掛鉤具有自己的GameFrame調用(對於SourceMod,這用於SourceMod計時器以及具有以下功能的任何插件
您可能已經猜到,設置的跳動速率越高,遊戲將使用的CPU能力就越多。
它不一定總是要具有一定的能力。之2。實際上,某些CS:GO服務器所有者發誓以102 / 102.4滴答作答,而不是默認的64和128滴答率。他們聲稱它可以使服務器的性能更加一致,並減少CPU峰值。
但是,隨著Valve更新遊戲,情況可能會有所改變。
請記住,單獨設置較高的滴答頻率不會改善玩家體驗。您還需要確保針對可用帶寬量正確設置了速率。
對於Valve的其他遊戲,很多遊戲都使用鎖定的報價:
66每秒遊戲幀數並不總是鎖定在66。Valve在更改遊戲代碼後不久又對此進行了更改。這些變化使某些遊戲(尤其是TF2)對滴答率變化更加敏感...將其設置得太高或太低都會改變開門和關門的速度,並引起問題。
在每次滴答期間,服務器處理傳入的用戶命令,運行物理模擬步驟,檢查遊戲規則,以及更新所有對象狀態。模擬刻度線之後,服務器將決定是否有任何客戶端需要世界更新,並在必要時拍攝當前世界狀態的快照。較高的滴答率可提高仿真精度,但同時還需要更多的CPU能力和服務器和客戶端上的可用帶寬。
一秒鐘,遊戲引擎就會處理所有動作(無論是來自用戶還是來自AI或其他內部流程),並相應地更新世界上所有對象的狀態和位置。渲染引擎獲取所有狀態和位置,並使用您在世界上的位置將對象顯示在屏幕上。對於獨立遊戲,通常有一個每筆渲染。對於在線遊戲,關係取決於遊戲-例如。您的《魔獸世界》客戶端會從服務器接收狀態和位置信息,而您的本地計算機只是按照自己的進度渲染對象。