暴雪在2.32补丁内加入了修改延迟问题的改动——不过毕竟2.32不知道还要测试多久。刚好mmo-champion上介绍了一个方法,并且有人翻译了,我就顺便转来方便大家,咯咯。
先申明,由于是注册表的修改,只会双击游戏快捷方式和开浏览器开QQ的计算机盲请慎重考虑,如果因为误操作导致系统崩溃或者其他不可挽回的损失责任自负。另外此修改是全局修改,可能会影响部分其他程序(虽然本人目前没有发现其他程序有任何问题),请大家斟酌后再决定是否一试。
国际网延迟的修复
延迟,如果你在离自己国家稍远的服务器玩,那并不是什么新鲜事,不过别担心现在有有效方法能改善这种情况。在所有的方法里,一个于Elitistjerks论坛上发布的似乎效果不错。
请先读一下条例
方法:
1 - TcpAckFrequency - 注意如果你使用Windows Vista,这个修改不会有任何作用。这个修改只作用于Windows XP
在开始->运行内输入"regedit"打开注册表编辑器。
然后找到HKEY_LOCAL_MACHINE_SYSTEM_CurrentControlSet_Services_Tcpip_Parameters_Interfaces
你会发现有许多下层目录,找到你用来连接网络的那个,通常名字比较长,比如{7DBA6DCA-FFE8-4002-A28F-4D2B57AE8383}。点击每一个,正确的那个会有许多设置项并且你会在其中找到你的IP地址。
右击右边空白处,新建一个DWORD值,命名为TcpAckFrequency(请复制红字防止打错),然后右击修改其值为1。
如果稍后你发现这个修改影响你其他TCP请求的运作,你也可以修改成2(默认值)。这个值告知windows在发送ACK前要等多少TCP包。如果它的值是1,windows将会在每收到一个TCP包后发送ACK。
2 - TCPNoDelay
这个修改很简单
在开始->运行内输入"regedit"打开注册表编辑器。
然后找到HKEY_LOCAL_MACHINE_SOFTWARE_Microsoft_MSMQ_Parameters
右击右边空白处,新建一个DWORD值,命名为TCPNoDelay(请复制红字防止打错),然后右击修改其值为1。
点击确定关闭注册表编辑器,然后重启。
基本上,这个修改使Nagle运算法则无效化来增进你的ping。如果你不想这么做你可以等2.3.2补丁。
修改前后效果:

即使这里说的是该修改可以降低非常厉害的延迟,它似乎也对低ping(100ms上下)有效(降低到20或者30左右)
以上是引用和翻译。就我个人的情况,如最后一句话所说,虽然标题说是国际网络延迟的问题但是其实哪都一样,本地也完全起作用。我做了2步修改后,连美服的速度从原本的180-260ping降低到70-90;连接台服的速度从原本380-430降低到200上下。效果是很明显的,目前来看没影响任何其他东西,包括网页浏览和下载。不过还是再次重申下,一切都是自愿滴,有啥问题的话还是自己改天去多烧烧香吧XD。
最后希望本帖能对广大为延迟困扰的朋友带来帮助,另外我也只是照做和翻译,具体技术问题没办法回答,毕竟不是专业,谢谢。 |