守望先锋延迟和丢包解决方案

2016-08-04 讲点正事儿

守望屁股,守望先锋是最近特别火爆的游戏,暴雪出品必为精品。然而我在玩的过程中却发现,左上角经常有闪电和三片图标出现,具体表现就是游戏里队友走太空步,等缓过来的时候自己早已被杀死。大概会有两成遭遇战遇到这个问题,已经非常影响游戏体验了。在网上搜了下有不少网友都有这个问题。

先从美国暴雪搬运一些解释吧,中文暴雪居然没有这么一个类似说明书的文档,真心Pathetic。

文章的一些解释来源:美国暴雪

首先看一下按住shift+ctrl+r按出来的左上角的数值

FC07LSCL5O551463498524072
FC07LSCL5O551463498524072

FPS: Frames Per Second,这个不用说了,帧数。
TMP: Temperature (GPU),这个是GPU的温度,或者理解为显卡温度。
PNG:Ping,这个就是我们常说的ping值了,基本可以理解为联通时间。
RTT: Round Trip Time,这个是说,你在游戏里进行了操作,接收到服务器响应的时间,如果这个时间很长,说明你的操作很久才能被服务器接收,自然在别人看来你就『慢』一些。
IND: Interpolation Delay,这个是暴雪的一个机制,让联机玩家之间有平滑的前端显示的一个缓冲时间,50-60毫秒为正常。

more

按住shift+ctrl+n可以调出网络状态图,一大片,遮盖了整个屏幕,我为了调查问题,顶着这样的屏幕还勉强拿了一局击杀金牌。这个图能看到网络延迟和丢包状况。我自己试了很久,发现其实并没有丢包。我也用ping的方法发现自己并不丢包。

Overwatch Network Graph
Overwatch Network Graph

最后就是这两个图标,

P4V5EI9J9YIZ1463523434253
P4V5EI9J9YIZ1463523434253
表示客户端有点时间没有听到服务器响应了,
Q6UIU89V7NK51463523481387
Q6UIU89V7NK51463523481387
表示丢包。

基于我的卡顿状况,大概看到网上有这几种解决方案:

  1. 玩的时候关闭战网客户端,因为可能存在下载和上传。这个对我并不适用,因为卡的时间几乎是全时的,每过一段时间就会卡,然而并没有都在下载,并且我也验证了关闭不会解决卡顿。

  2. Asus华硕的电脑,要删除一个叫Rog Game First的软件,或者禁止进程。这个说是网络优化,就是动了最底层的解决方案,有时候会劣化也是说不准的。但我是组装机,虽然是华硕主板,但并没有类似的软件或者进程。并且这个症状的主人,大多有高延迟的问题,删除后延迟降低,而我一直延迟非常低,数据很好,却会不时的卡顿丢包。

  3. 第三个方案是最终起到了效果的方案,就是调整MTU(最大传输单元)。为了这事儿我还真研究了好久什么是MTU。数据都是一个包一个包上传的,至于这个包长什么样子,就不用了解了吧……然而包从你的主机丢到路由器,再由路由器丢到服务器,再由服务器丢回来,是有大小尺寸的,这个MTU就是这么一个尺寸。假如你本机的单位包体积很大,就需要拆分成两个往上传,下一环节接不迭了,导致延迟或者丢包。但如果体积过小,就像你用针管呲水进大水缸,会造成性能浪费,所以这个时候就需要找到一个最合适的包大小,路由器、本机、和宽带供应商(电信网通)保持一致的MTU。

设置MTU的方法网上一搜一大把,我就不搬运了,直接说一些你可以套用的结论,电信一般是1492,你也不用测了,按照网上的方法最终测出来的就是1464+28=1492。这个时候把路由器和本机的MTU都设置成1492就可以了。路由器或者光猫一般在拨号上网的界面设置,本机要使用管理员账号运行-CMD,然后复制这行代码
netsh interface ipv4 show subinterfaces 查询到目前系统的MTU值。
然后
netsh interface ipv4 set subinterface "本地连接" mtu=1492 store=persistent
回车,再输入第一行代码查一下改好了没就行了。

经过两天的测试,我之前感官上20%的卡顿,基本上现在在5%左右。我家里用的是100M电信光纤,华硕AC66U路由器,TPLINK的PCI网卡,都是一流的民用级无线设备,不存在性能问题,这样调整以后,似乎是好了很多。

最后发一个感慨,这些小东西的设定会很影响到我们真正关心的游戏、应用内容上,一般的用户却很难应对,有种『永无宁日』的Pathetic!

Comments
Write a Comment
  • Shanjing0 reply

    所以……你没插网线?

    • @Shanjing0 是。。。啊,最后用大钻头开墙洞拉了网线。。。