网络诊断
测速正常,并不代表网络没有延迟。
很多玩家发现,一边下载游戏、一边观看视频,或者有人在家里上传文件时,游戏突然变得很卡。这种现象很多时候与 Bufferbloat(缓冲膨胀)有关。
Bufferbloat 是指网络设备中的数据排队越来越长,导致新的数据必须等待前面的数据发送完成。
对于网页浏览来说,这种等待通常不容易察觉;但对于网络游戏、语音聊天或实时应用来说,即使只增加几十到几百毫秒,也可能明显影响体验。
因此,测速正常、带宽很高,并不能代表游戏一定流畅。
可以把网络想像成收费站。
平时车辆不多,每辆车几乎不用等待。
当大量车辆同时进入收费站时,即使道路没有封闭,每辆车仍然需要依序排队。
Bufferbloat 与此类似。
网络中的数据并没有全部丢失,而是因为等待时间越来越长,导致延迟不断增加。
测速软件主要测量的是网络能够传输多少数据。
游戏更关心的是每一个操作能不能尽快送到服务器。
如果网络一直在排队,即使测速显示几百 Mbps,游戏操作仍然可能晚几十甚至几百毫秒到达服务器。
因此,高带宽和低游戏延迟并不是同一件事。
网络游戏发送的数据其实很小。
真正影响体验的不是数据大小,而是数据有没有及时送达。
如果游戏下载、影片串流或云端同步已经把网络排满,新产生的游戏数据也只能一起排队。
于是玩家可能感觉到角色动作延后、技能释放变慢、人物瞬移,或者操作反应不像平时那么即时。
这些情况都可能让网络开始排队,增加实时应用的延迟。
很多人认为只有上传才会影响游戏,其实下载一样可能造成 Bufferbloat。
当下载占满网络时,大量数据持续进入家庭网络设备,新的游戏封包同样需要等待处理。
因此,一边下载大型游戏、一边玩游戏,经常会出现 Ping 突然升高的情况。
许多家庭宽带的上传速度远低于下载速度。
因此,当上传影片、备份照片或同步云端文件时,更容易把上传方向塞满。
上传一旦开始排队,游戏发送到服务器的数据也会一起等待,因此操作延迟往往会更加明显。
不完全一样。
因此,一个网络即使没有丢包,也可能因为 Bufferbloat 而让游戏感觉很卡。
如果这些现象经常出现,就值得进一步检查是否存在 Bufferbloat。
避免让网络长时间跑满,是最直接的方法。
如果问题长期存在,也应该进一步判断是否来自家庭网络、运营商或更远端的网络路径。
很多玩家看到测速结果很好,就认为网络一定没有问题。
实际上,实时网络体验除了带宽,还受到延迟、排队时间、丢包和线路稳定性的共同影响。
Bufferbloat 最大的特点,就是让网络"还能用",却越来越不即时。
判断游戏为什么变卡时,与其只关注下载速度,不如观察网络是否长期处于排队状态,以及是否在下载、上传或多人共用网络时才开始出现问题。