題:
什麼是tick
korrasaur
2015-03-18 00:27:45 UTC
view on stackexchange narkive permalink

什麼是壁蝨?

我聽說過許多使用壁蝨的實例。例如,人們會說,演示以16節拍記錄,服務器以64節拍運行,但真正好的服務器將以128節拍運行。

我不完全了解什麼是節拍。為什麼擁有更高的2的冪會更好?我已經看到很多關於要求Valve添加更高報價服務器的線索,但是更高的“報價”能為您帶來什麼呢?

吸血昆蟲。當大量遇到時,您會遇到多重問題,這可以解釋很多問題。
-1
計數秒時,模擬時鐘發出的聲音。
五 答案:
user101016
2015-03-18 01:15:34 UTC
view on stackexchange narkive permalink

什麼是滴答?

要首先了解滴答的含義,您需要對遊戲循環有較高的了解。在標準遊戲循環中,您具有三個主要功能:

  1. 處理用戶輸入
  2. 更新遊戲狀態
  3. 渲染到屏幕
  4. 這些將在整個遊戲中反复循環。循環上有控件,因此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次更新速度。無論如何,您在一秒鐘內可以單擊鼠標多少次?

    進一步閱讀:

眾所周知,《 EVE Online》是一款實時遊戲,每秒運行1刻,在服務器緊張的情況下,速度會減慢至1/10刻(發生在同一地點數千名玩家互相搏鬥的情況)。但這並不是什麼大問題,因為快速反應優先於出色的戰術和長時間的戰鬥準備。在TBS遊戲中,“滴答”可能在數分鐘內完成,因此並非所有遊戲都受益於較高的滴答率。
@Ordous我懷疑即使TBS遊戲也沒有跳動率,即使玩家的動作並不直接與它綁定:如果沒有其他東西,渲染漂亮的動畫也是需要的。
Sean Allred
2015-03-18 03:11:14 UTC
view on stackexchange narkive permalink

簡單地說,“滴答”表示遊戲引擎處理的時間最短–即一秒鐘內游戲可以移動多少個不連續的步驟。滴答率越高,遊戲物理效果可能看起來更平滑或更現實,但這是以處理能力為代價的。

換句話說,它是對您從(理論上)實際場景中獲取的“樣本”數量的計數。您採集的樣本越多,數據跳動就越少。

Powerlord
2015-03-18 01:26:50 UTC
view on stackexchange narkive permalink

服務器的 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的其他遊戲,很多遊戲都使用鎖定的報價:

  • 30個遊戲幀
    • 第4死的人
    • 第4死的第2人
  • 每秒66個遊戲幀
    • 擊敗日:來源
    • 反恐精英:來源
    • 團隊要塞2

66每秒遊戲幀數並不總是鎖定在66。Valve在更改遊戲代碼後不久又對此進行了更改。這些變化使某些遊戲(尤其是TF2)對滴答率變化更加敏感...將其設置得太高或太低都會改變開門和關門的速度,並引起問題。

附帶一提,服務器的滴答率和客戶端的滴答率可能不同。客戶端可以限制它從服務器接收幀的頻率(“ cl_updaterate”)。話雖如此,服務器可以為這些設置(sv_minupdaterate和sv_maxupdaterate)設置最小值和最大值。無論您將這些最小值和最大值設置為什麼,服務器都會每秒處理“ -tickrate”遊戲幀,直到最接近的毫秒數(即66fps為1000/66或15ms)。
因此,在閥門服務器上進行演示的情況下,高報價價格如何轉換回較低的報價價格(顯然所有演示都以16個報價完成)。
@0-framelinks客戶端.dem文件包含客戶端接收到的所有數據包,因此將以客戶端使用的任何“ cl_updaterate”記錄(假設它們的“ rate”足夠高以維持它)。在服務器端使用SourceTV / GoTV創建的服務器端.dem(使用`tv_record`)包含更多信息,因為它記錄了地圖上每個遊戲幀中發生的所有事件,並且沒有固定的視角。
請注意,跳動速率和幀速率通常是分離的。許多遊戲的FPS都比TPS高得多,而DwarfFortress的TPS比FPS高得多。
TheFaster
2015-03-18 00:30:28 UTC
view on stackexchange narkive permalink

反恐精英論壇中:

在每次滴答期間,服務器處理傳入的用戶命令,運行物理模擬步驟,檢查遊戲規則,以及更新所有對象狀態。模擬刻度線之後,服務器將決定是否有任何客戶端需要世界更新,並在必要時拍攝當前世界狀態的快照。較高的滴答率可提高仿真精度,但同時還需要更多的CPU能力和服務器和客戶端上的可用帶寬。

請註明您的出處。
什麼是模擬精度?我不太明白
好了在剪貼板中有它,只是忘了鏈接。謝謝。
@0-framelinks好吧,如果每秒進行更多的計算,您將獲得更準確的模擬,對嗎?
因此,從根本上說,從客戶端向服務器中繼的信息的準確度是多少?
@0-framelinks是的。本質上,減少了玩家的行為與世界所反映的行為之間的任何滯後。
Valid
2015-03-19 01:15:02 UTC
view on stackexchange narkive permalink

一秒鐘,遊戲引擎就會處理所有動作(無論是來自用戶還是來自AI或其他內部流程),並相應地更新世界上所有對象的狀態和位置。渲染引擎獲取所有狀態和位置,並使用您在世界上的位置將對象顯示在屏幕上。對於獨立遊戲,通常有一個每筆渲染。對於在線遊戲,關係取決於遊戲-例如。您的《魔獸世界》客戶端會從服務器接收狀態和位置信息,而您的本地計算機只是按照自己的進度渲染對象。



該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...