很多人都有这种经历,电脑连着网线,顺手把WiFi热点打开给手机用,结果游戏帧数没变,延迟却突然飙到几百毫秒,甚至直接掉线。问题不在运营商,也不在游戏服务器,恰恰出在你那台当成路由器的电脑上。
先说最核心的原因——你电脑的无线网卡正在干两份活。正常情况下,无线网卡要么收数据,要么发数据,顶多再扫描一下周围的信号。可当你开启热点,它就成了一个微型基站,一边要接收你手机发来的无线信号,一边要把这些数据转发给有线网络,同时还得把游戏服务器传回来的数据通过无线广播出去。这个收发转换的过程是有硬件开销的,每毫秒都在抢占CPU和总线资源。
更麻烦的是,WiFi本身是半双工通信,同一时刻只能上传或者下载,不能同时进行。你的手机在那头刷视频,下行数据占满了无线信道,你电脑的游戏数据包就得排队等着。帧间隔、确认帧、重传机制,这些在普通路由上由专用芯片处理的任务,现在全靠你的CPU和网卡驱动用软件方式去处理。一旦手机流量一上来,CPU中断频率暴增,游戏线程就被挤到一边去了。
还有个容易被忽略的点,就是信道拥堵带来的干扰。你把热点开在跟家里路由器同一个频段,两台设备在同一个信道里互相抢带宽。2.4GHz频段本身只有三个互不重叠的信道,周围邻居的WiFi、蓝牙设备、甚至USB 3.0接口的电磁干扰都能让丢包率明显上升。游戏需要的是低延迟,对丢包极其敏感,丢一个包就要等超时重传,延迟直接翻倍。
再讲驱动和系统层面。Windows的无线热点功能用的是“承载网络”模式,微软的实现并不算高效。很多网卡驱动在开启热点时,会自动降低信号灵敏度来保证发射功率,相当于你的无线网卡接收能力下降了一截。本来能稳定接收的弱信号,现在变成了连续丢包,游戏画面就会一顿一顿的。而且系统默认的省电策略可能会在负载波动时降低无线网卡的工作频率,进一步恶化了延迟表现。

如果你用的是5GHz频段开热点,情况也没好到哪去。5GHz虽然干扰少,但穿透力差,手机离电脑稍微远一点,信号强度掉得飞快,发射功率不够就得提高重传率,反而更卡。加上很多笔记本的无线网卡是M.2接口加上天线模块,两根天线既要负责收又要负责发,物理层面的串扰本身就存在。
还有个讨厌的地方就是TCP/IP协议栈的缓冲机制。游戏大多用UDP协议,不处理重传,但热点转发走的是系统协议栈,数据包要经过应用层、内核层、驱动层多次拷贝和排队。当无线网卡的缓冲区因为拥塞被填满,新来的游戏数据包就直接被丢掉,反映到游戏里就是人物瞬移、技能放出去没反应。
解决办法倒是简单粗暴,如果必须开热点让手机上网,优先给电脑插一个USB外置网卡专门跑热点,让原来的网卡专心处理游戏。或者把游戏切换到有线连接,用手机USB共享网络反向操作,再不然就降低手机端的下载任务,别让无线信道满负荷跑。实在不行就换块支持MU-MIMO的高端网卡,这类网卡在同时收发时能好不少。
说到底,你的电脑本来就不是路由器,让一块廉价网卡边打游戏边当基站,它忙不过来是正常的。下次再遇到开热点就卡的情况,先看看手机后台是不是有应用在偷偷跑流量。