由 Riot Games 所開發的戰術射擊遊戲《VALORANT》,除了主打快節奏競技玩法,對技術表現也有極高要求。尤其在這類比反應速度的遊戲中,伺服器處理延遲(Server Tick)可能是玩家輸贏的關鍵。Riot 在開發者技術部落格中,分享了他們是如何把伺服器的處理時間從原本的 50 毫秒壓縮到 2 毫秒以內,這不只是硬體堆疊,而是一整套系統級的優化戰略。
Tick rate 128 的背後,其實每回合只有 2.6ms 可用
《VALORANT》伺服器每秒進行 128 次處理,也就是每 7.8ms 就要完成一次資料更新。不過為了節省成本,Riot 選擇讓 一個 CPU 核心同時處理 3 場比賽,等於每場遊戲只能分到 2.6ms 的計算時間。這代表所有與遊戲同步相關的邏輯,包括動畫、碰撞、狀態變更等,都必須在 2.6ms 內完成。

但早期版本的伺服器,其實一輪處理會花掉超過 50ms。為了解決這問題,開發團隊將遊戲邏輯拆分成 10 個模組來進行效能診斷,例如 Replication(資料同步)、FoW(戰爭迷霧)、Physics(物理引擎)等等,找出瓶頸後進行重構與優化。


關鍵瓶頸:從 UE4 的屬性同步,轉向 RPC 呼叫
其中最耗時的模組是 Replication,也就是像「角色被打中要同步血量」這類的資料交換。原本使用 Unreal Engine 4 的屬性同步機制(Property Replication),處理時間高達 4.54ms。後來改用 RPC(Remote Procedure Call)方式重寫,大幅縮短到 僅需 0.45ms,處理效率提升超過 10 倍。
除了程式碼優化,開發團隊還針對一些「非必要時段」進行選擇性關閉。例如在購買階段暫停伺服器端的動畫處理,因為這些畫面主要呈現在使用者端,根本不影響判定。

與 Intel 合作硬體層優化,放棄舊 Xeon 架構
Riot 甚至還找來 Intel 協助進行硬體分析,發現伺服器所用的 Xeon E5 系列處理器,由於使用「包含式快取(Inclusive Cache)」,導致每次 L2 更新都會同步進 L3,反而增加了延遲。後來改採非包含式的 Xeon 新平台,不變更時脈的前提下就讓效能提升約 30%。

除此之外,還針對作業系統層面、排程機制、記憶體使用方式進行微調,最終讓每次處理控制在 2ms 以內,達成目前《VALORANT》的低延遲伺服器架構。
Riot 團隊最後也提醒開發者,效能優化最關鍵的是量測與驗證,而不是從網路上隨便抓幾個「技巧」就套用。他們建議:設計可重現的測試場景,量化每項優化效果,才能確保在自己應用環境下的真實效益。
請注意!留言要自負法律責任,相關案例層出不窮,請慎重發文!