ゲームラグ白書 › L2 クライアントのOS・端末
Wi-Fiのバックグラウンドスキャン Periodic Wi-Fi background scan
原因ID co-wifi-scan · 主担当 外部・外部 · 副担当 ゲーム開発チーム・クライアント開発
図と実験のあるメインページでこのカードを開く →
OSが周囲のWi-Fiを探すために定期的にチャンネルを切り替えている間、通信が一瞬止まります。
なぜ OS・ドライバーが一定周期で周囲のWi-Fiを検索 → すると 検索している間、送受信が一瞬止まる → 画面では 正確に一定の間隔(例:60秒ごと)でPingが跳ねる
- 症状
- カクつき, ワープ
- 要因
- ジッター
- 誰に起きるか
- 自分だけ
- いつ
- 一定の周期で
- 担当
- 主担当 外部・外部 · 副担当 ゲーム開発チーム・クライアント開発
- ゲーム開発チームの対応
- プレイ中は無線の検索を減らすモードを要求(AndroidはWi-Fi低遅延モードWIFI_MODE_FULL_LOW_LATENCY、WindowsはWlanSetInterfaceのメディアストリーミングモード。端末・ドライバーによっては効果がないこともある)。
- 外部の対応
- ユーザーに、有線接続、位置情報サービス・Wi-Fiの自動検索の設定調整、無線LANドライバーの更新を案内。
- 数値の目安
- 通常は1回あたり数十〜数百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:停止するまでエコー要求を送り続ける - ipconfig Microsoft
パラメータなしで実行すると、アダプターごとのIPv4・IPv6アドレスとデフォルトゲートウェイを表示
あわせて読みたい原因
同じ層:L2 クライアントのOS・端末
同じ症状(カクつき)を起こすほかの層の原因
図と実験のあるメインページでこのカードを見る