← 全部文章

測速跑分很高,遊戲還是LAG?測速沒測到的那段路

你跑了一次測速,結果好幾百 Mbps,遊戲照樣瞬移。那個結果從來就不是關於遊戲的證據——它測的是另一個量,走的是另一條路徑,連的是另一台伺服器。下面講清楚遊戲真正會對什麼起反應,以及你該用哪些數字取代剛才那一個。

先對號入座

你看到的現象最可能的原因下一步做什麼
跑分很高,所有地區都LAG本地問題:Wi-Fi、上行被占滿,或電信業者線路改用有線、暫停上傳,再測一遍全部地區
跑分很高,只有部分地區差通往這些地區的路由,不是你的網路換一個測起來乾淨的地區玩
一個人玩正常,有人直播就LAG上行被占滿,遊戲封包在排隊空閒時測一次,負載時再測一次,對比
平均延遲不高,手感依然發飄被平均值蓋住的延遲跳動看延遲區間,不要只看中位數
瞬移、按鍵被吞封包遺失先排除 Wi-Fi,再橫向比較地區
網路指標全都乾淨,還是一頓一頓不是網路問題查幀時間、裝置負載、遊戲本身的服務狀態

測速回答的是另一個問題

Mbps 說的是你的線路每秒能搬多少資料。遊戲要的是一個小封包過去再回來要多久,單位是毫秒。它們單位不同,因為它們本來就是兩個問題。

測速報告的遊戲真正依賴的
到附近測速伺服器的峰值吞吐量到遊戲伺服器地區的往返時間
幾秒鐘的大量傳輸半小時一場對戰裡的穩定性
線路空閒時測出的 Ping線路同時在做別的事情時的延遲
管子夠不夠粗每個小封包是否都到了、是否準時到

下載是在灌滿一根管子:管子越粗,大檔案越快傳完。而一場對戰發的是每秒幾十次的小封包細流,每一個都很急。把管子加粗並不會讓某個封包更早到達,就像給路加車道並不會讓路變短。所以一條線路可以測出 500 Mbps,同時依然把你的那一槍送遲——出問題的從來不是頻寬這一環。

測速替你挑了最近的伺服器,遊戲不會

這是最多人被絆住的地方,而且它是結構性的,不是運氣不好。

測速會替你挑一台伺服器,挑選標準是近——通常是最近的那台,往往就在你自己電信業者的網內。作為衡量線路頻寬的設計這完全正確,但這也表示整場測試沒有離開過你所在的城市和電信業者。

遊戲伺服器不是這麼挑的。它固定在某個地區,你的封包必須穿過你與它之間的一切中轉和互連。於是,真正決定你能不能玩的那一段路——跨地區中轉、壅塞的互連點、電信業者把你繞了遠路——恰恰是測速從來沒碰到的那一段。跑分乾淨只說明第一哩是健康的,而LAG通常住在它後面。

想看清這件事,辦法是同時測多個地區,把結果並排放在一起。單獨一個數字沒有參照物;八個數字擺在一起,你的路由形狀立刻就顯出來了。

平均值蓋住的,恰恰是讓你輸掉一波的那兩件事

測速報告的是幾秒大量傳輸的平均值。平均值用來衡量吞吐量是對的工具,用來衡量遊戲就是錯的,因為毀掉一次交火的從來不是平均值,而是其中的某一個瞬間。

  • 一個遺失的封包。 你的線路可以穩穩地平均在 30ms,同時弄丟承載你那一槍的那個封包。在遊戲裡,它表現為瞬移、按鍵被吞,或者命中判定慢了半拍。
  • 一次尖峰。 一直 30ms、偶爾跳到 150ms 撐個幾分之一秒,比全程 60ms 難受得多。遊戲是圍繞穩定的時序做出來的,而平均值恰好把不穩定抹平到看不見。

這也是單次測試之間互相打架的原因,以及這裡的測量為什麼是衝著抓住那些瞬間去設計的,而不是把它們抹平。每個地區先送出 3 個預熱封包並丟棄,然後按固定 50ms 的節奏送一輪 20 個——之所以固定節奏,是因為等上一個回應再送下一個根本填不滿佇列,會系統性地少報封包遺失。只要遺失哪怕一個封包,或者這一輪往返時間跳動過大,該地區就會自動補測 2 輪,並用全部 60 個樣本評分。20 個封包只能以 5% 為級距分辨遺失,60 個封包能把級距降到 1.67%,這就是「下結論」和「用猜的」之間的差別。

線路夠快,占滿了照樣排隊

頻寬高在這裡甚至可能幫倒忙。當上傳、雲端備份或者家裡另一個人的直播占滿上行時,你的遊戲封包就排在這些流量後面等——而設備裡的緩衝區越大,等得越久。延遲往上爬,有時爬得很多,而事後在空閒線路上再測一次速,結果看起來完美無缺。一家人說LAG、一小時後誰都重現不出來,這是常見原因。

兩分鐘就能驗證:先在線路空閒時測一個地區,然後開一個大檔案上傳,再測同一個地區。如果延遲和封包遺失在負載下明顯跳升,該修的是路由器的佇列管理、或者把大流量挪到別的時間,而不是換更大的方案。

那該看什麼

四件事,按這個順序:

  1. 比較地區,不要只測一個。 一次跑完全部地區。全都差,指向你自己的網路;只有部分差,指向路由,而換個地區今天就能解決。
  2. 看區間,不要只看一個數字。 一個穩定在 28 到 34ms 的地區,和一個在 25 到 140ms 之間來回擺的地區,是兩回事,哪怕它們平均值一樣。
  3. 把封包遺失放在旁邊一起看。 延遲低但有遺失,照樣不好玩。任何遺失都值得再看一眼,這也是為什麼這裡只要掉一個封包就會觸發補測。
  4. 在你真正開黑的時段測。 尖峰時段的壅塞本來就是這個問題的全部,週日早上測出來的結果顯不出它。

真正在做事的是三個數字,它們被刻意分開顯示,而不是揉成一個總分。對於一般的即時對戰,中位數低於 25ms 是優秀,低於 50ms 是舒適,超過約 90ms 體驗開始下滑——競技射擊的標準比節奏輕鬆的類型更嚴格,而這幾條線是我們的工程口徑,不是任何廠商發布的官方分級。P10–P90 區間顯示樣本分散到什麼程度,它最能解釋「Ping 看起來不錯、手感卻發飄」是怎麼回事。封包遺失應該是 0%,達到或超過 5% 會讓評級明顯下滑。

還有第五條值得留在手裡:如果所有網路指標都乾淨,就別再在網路上花時間了。幀時間尖峰、著色器編譯、顯示卡過熱降頻或者遊戲服務本身吃力,產生的卡頓和延遲帶來的一模一樣。一份乾淨的多地區結果在這裡很有用——它告訴你不該繼續往哪裡找。

如果LAG的不只是你一個人,而是整隊人,問題的形狀就變了:你要找的是對最慢的那位隊友依然可接受的地區,而不是對最快的那位最優的地區。這套邏輯在揪團總有人LAG?5 分鐘選出對全隊最公平的伺服器地區裡。

這個測試測的是什麼

它測的是從你的瀏覽器到我們部署在 8 個地區的檢測節點的往返時間,走 UDP,在瀏覽器裡跑,什麼都不用裝。用這些數字來橫向比較方向:你的電信業者把哪些地區的路由走得好、今晚哪些地區值得避開、以及問題是到哪裡都跟著你還是只指向一個方向。遊戲用戶端裡顯示的數字才是某一場對戰的最終依據,因為用戶端走的是它自己那條通往廠商伺服器的路——而這裡給你的,是告訴你該走哪條路的那個比較。測速工具的延遲結果準不準?為什麼同一個伺服器測出來不一樣詳細講了測量本身。

別再拿測速去問遊戲的事了。把所有地區跑一遍,一分鐘之內答案就擺在你面前。

開始延遲測試

相關閱讀

常見問題

玩遊戲到底需要多少頻寬?

比現在任何一種光纖方案都少得多。一場對戰是每秒幾十次的小封包細流,在你用到帳單上那個數字之前,頻寬早就不是瓶頸了。真正決定手感的,是這些小封包到達伺服器地區要多久、到得穩不穩。

測速顯示 Ping 只有 8ms,遊戲裡卻是 90ms,哪個數字不對?

兩個都沒錯。8ms 是到一台特意挑得離你很近的測速伺服器的往返時間,它往往就在你自己電信業者的網內;90ms 是到固定地區的遊戲伺服器的往返時間,這段流量要真正穿過網際網路。橫向比較各個地區,就看得出這 90ms 裡有多少是換個地區玩就能省掉的距離。

升級更快的方案能降低延遲嗎?

通常不能,因為方案買到的是頻寬,而延遲由距離、路由和排隊決定。只有一種情況升級有用:你的線路經常被上傳或直播占滿,遊戲封包排在這些流量後面。付錢之前,先在線路空閒和繁忙時各測一次同一個地區。

為什麼只有晚上才LAG,測速卻一直正常?

晚間壅塞通常只壓在路徑中的某一段上,而不是壓垮你整條線路,所以測到附近伺服器依然乾淨。在你真正開黑的時段跑一次多地區測試:如果只有部分地區在尖峰時段變差,那壅塞就在通往這些地區的路上,而始終乾淨的那個地區就是眼下最快的解法。