遊戲 Lag 白皮書 › L2 用戶端 OS 與裝置
Wi-Fi 背景掃描 Periodic Wi-Fi background scan
原因 ID co-wifi-scan · 主要負責 外部(外部) · 協同 遊戲開發團隊(用戶端開發)
在含圖解與實驗的完整版中開啟卡片 →
OS 為了尋找周圍的 Wi-Fi,會定期切換到其他頻道,這段期間通訊會短暫停止。
為什麼 OS 或驅動程式以固定週期搜尋周圍的 Wi-Fi → 於是 搜尋期間收送短暫停止 → 畫面上 ping 以非常固定的間隔(例如每 60 秒)飆高
- 症狀
- 卡頓, 瞬移
- 因素
- 抖動
- 誰會遇到
- 只有我
- 何時
- 固定週期
- 負責單位
- 主要負責 外部(外部) · 協同 遊戲開發團隊(用戶端開發)
- 遊戲開發團隊要做的事
- 在遊戲中要求減少無線掃描的模式(Android 為低延遲 Wi-Fi 模式 WIFI_MODE_FULL_LOW_LATENCY,Windows 為 WlanSetInterface 的媒體串流模式。依裝置與驅動程式不同,有時沒有效果)。
- 外部要做的事
- 引導玩家改用有線連線、調整定位服務與 Wi-Fi 自動搜尋設定、更新無線網路驅動程式。
- 數值參考
- 通常每次數十~數百 ms。規律得太過頭時,先懷疑這個原因。
- 圖表上
- 固定週期飆高 · 到分享器的 RTT
- 查看位置
- 在遊戲中用 ping /t 量測分享器位址(ipconfig 顯示的預設閘道)幾分鐘,記下飆高的間隔。再改用有線做同樣的量測
- 符合的跡象
- 到分享器的 ping 以非常固定的間隔(例如 60 秒)飆高數十~數百 ms,改用有線就消失
- 不符合的跡象
- 飆高的間隔不規則時,是「Wi-Fi 干擾與訊號減弱」。到分享器都正常、只有分享器之後的區段飆高時,問題在線路或電信業者區段
- 確認方式
- 在玩家端環境確認
出處
- WDI low latency connection quality Microsoft
掃描與漫遊會讓無線晶片離開目前連線的頻道,所以低延遲模式會限制離開頻道的時間與掃描 - WlanSetInterface function (wlanapi.h) Microsoft
在 Windows 上開啟或關閉背景掃描(wlan_intf_opcode_background_scan_enabled)與媒體串流模式的 API - Wi-Fi low-latency mode Android (Google)
低延遲模式會關閉 Wi-Fi 省電,掃描與漫遊設定的最佳化則依裝置製造商的實作而不同 - ping Microsoft
/t:持續送出 echo 要求,直到手動停止 - ipconfig Microsoft
不加參數執行時,會顯示各介面卡的 IPv4、IPv6 位址與預設閘道
相關原因
同一層:L2 用戶端 OS 與裝置
同一症狀(卡頓)在其他層的原因
查看含圖解與實驗的完整版卡片