畅玩网游之优化攻略,解决玩游戏掉线,卡的问题

如今互联网已经深深的影响了普通人的生活,特别是对于年轻的一代,闲暇时间玩会游戏放松放松也在常理之中。相比于单机游戏,网络游戏由于其特殊性,影响用户体验的因素更多。玩会斗地主,好不容易摸手好牌,竟然掉线了,你有木有遇到过这样的情况?亦或是杀一会三国杀,眼看就要干掉主公了,突然掉线了……亦或是玩个像魔兽这样的低配游戏,都卡的受不了……原因在哪呢?其实最主要影响因素无非是电脑性能和网络状况。本文主要是介绍如果在不改变硬件的情况下,通过优化系统和软件设置,获得更好的游戏体验。

对于大多数人来说,对网游影响最大的因素就是网络延迟,就是通常所说的掉线、网络卡。首先,我们先来了解一下网络延迟是怎么产生的。我们现在的网游主要有BS模式和CS模式。 BS即浏览器—服务器模式,也就是现在网页游戏;CS即客户端—服务器模式,现在大型游戏都是采用这种模式,客户端大小一般都在5G-20G左右。不管是采用何种模式,它有一个过程,就是数据从电脑传送到服务器。最终的数据(比如等级、经验、装备)还是保留在服务器里面,客户端只是把各种模型放在一起。如何放?放哪里?存在多长时间?等等这些东西还是由服务器说了算。你从电脑发送一个指令,它先要通过路由器、交换机等各种网络设备的处理转换、然后经过网线传输、再转换一下传输到服务器。看似简单的一个动作,其实中间可能经过多个节点的信号放大、中转。如果是跨网(比如说网通和电信之间),网络延迟会更大。

如果用一个公式来表达,网络延迟=发送时延+传输时延+处理时延。延迟一般用ms(毫秒)表示,1秒=1000毫秒。通常10ms-30ms为最佳; 50ms-100ms还凑合;大于100ms对游戏体验就有很大影响了。如何知道自己的延迟呢?通常情况下,客户端游戏里面有命令可以查看延迟,常见方式就是在聊天窗口输入:/ping(不同游戏不一定一样)。我们也可以在windows的dos窗口下查询。具体方式就是:开始—运行—输入cmd(会弹出一个黑色窗口)—输入ping+服务器ip地址+参数(例如:ping 153.123.21.243)。通常咱们所用的网络延迟测试工具,测试的都是与咱们最近的电信/网通机房的延迟。也在一定程度上反应了当前的网络状况。

传输时延很容易理解,就是传输距离/传输速度。传输速度主要是取决于传输介质。咱们常见的网线有双绞线、同轴电缆、光纤。通常情况下,城市里面的小区都是光纤接入,但是“最后一公里”往往都是双绞线为主,双绞线分不同品质的,质量越好的信噪越低,信号衰减就越少。所以说,对于这点我们能做的就是:更换好的网线、查看网络线路有木有老化、断裂的迹象。传输距离指信号传输所要经过的物理距离,通常情况下就是指你和游戏服务器所在地之间的距离。毫无疑问,距离越远,所需时间越长,传输时延越大,网络延迟也就越大。而且传输距离往往是影响网络延迟最大的因素。为此,游戏运营商也有相应对策。比如说:一般区服都是以地区划分的,常见的华东电信、江南电信服务器一般都在江浙一带(上海、杭州);华中电信服务器一般都在两湖地区(武汉);西南电信一般设在重庆、广州一带;东北网通、和华北网通往往设在京津地区。

这主要也是由于中国地大,各地区之间距离太远。但是运营商不可能每个城市都设置一个服务器,所以你要选择一个服务器离你最近的大区。如果说你家在东北,你却玩西南电信的区,延迟不用说一定很高。通常情况下,最好不要跨网玩,天津电信玩天津网通的服务器延迟都很高很高,这是运营商之间的问题,没辙,中国特色。如果你非得玩的话也有对策,后面会说道。选择离自己最近的服务器是降低延迟的最好方式。

肯定有人由于各种原因玩了一个离服务器自己比较远的大区,这又咋办呢?有人说,我已经离服务器很近,但是延迟还是很大。咱不可能为了玩个游戏搬家(话说如果你要体验一下个位数延迟,可以查查你玩的游戏服务器在哪(一般都托管在电信/网通的机房),然后在隔壁租个房子……)。此时就要用到网游加速器了,网游加速器的功能就像是在拥挤的大城市里面开通一条绿色通道,能够大大的减少网络传输延时,网游加速器网上太多了,有收费的也有免费的。比如迅游、迅雷、netpas、ip加速器……推荐大家一个个试用,总有一个适合你的(不同的人的网络环境不同,很难说哪一个加速器最好用,毕竟技术原理都一样)。

发送时延和处理时延一般取决于你自己电脑网卡、cpu性能、游戏服务器的网卡、cpu性能。甚至包括传输过程中使用的猫、路由器、交换机的性能。游戏运营商用的服务器质量垃圾、接入带宽不足(人多的时候)很容易导致掉线、延迟。对于游戏运营商的问题咱没办法,最多打几个电话骂骂。咱们能做的就是优化好自己的电脑。如何优化?

(1)禁用不需要的服务。玩游戏的时候把其它的软件都退出,什么杀毒软件,占cpu和内存的软件都退了。也可以用如360游戏优化器,gamebooster等软件来实现。
(2)通过修改注册表降低延迟。
第一步:开启Microsoft Message Queue (MSMQ)服务

步骤:控制面板→程序→打开或关闭Windows功能→找到MSMQ服务器,勾选,确定安装,重新启动。

第二步:修改网络延迟
1.按下开始—运行–输入”regedit”按确定,打开注册表编辑器。

2.在注册表编辑器里寻找下面字串内的位置
[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MSMQ/Parameters]按右键修改TCPNoDelay的REG_DWORD(64位系统下是REG_QWORD)值输入数值为1,如果没有请自行新增名为TCPNoDelay的REG_DWORD(REG_QWORD)值。找到文件夹位置,然后再右边修改相应的值。

3.查找以下的位置[HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Tcpip/Parameters/Interfaces/]在该文件夹下面,查找与你相应ip的项目点击每一项,观察右边中与你相同ip的,就是你要找的那个项目。新增名字为TcpAckFrequency的REG_DWORD(64位系统下是REG_QWORD)值,并输入数值为1;如果想恢复效果,将以上的值删掉即可。

4.找到【HKEY_LOCAL_MACHINE\System\CurrenControlSet\Services\Tcpip\Parameters】子键
在右边键值区中,找到或新建一个名为 “GlobalmaxTcp WindowSize”的DWORD(64位系统下是REG_QWORD)键值项,
将其数据值数据设为“256960”(十进制),关闭注册表编 辑器,这个更改的原理是:通常情况下, TCP/IP默认的数据传输单元接受缓冲区的大小为576字节,要是将这个缓冲区的大小设置得比较大的话,一旦某个TCP/IP分组数据发生错误时,那么整个数据缓冲区中的所有分组内容,都将被丢失并且进行重新传送;显然不断地重新进行传输,会大大影响ADSL传输数据的效率。为此,设置合适缓冲区大小,确保ADSL传输数据的效率始终很高,将会对ADSL传输速度有着直接的影响!

5.优化MMCSS服务:

设置QoS策略

QoS是什么呢?QoS(Quality of Service)服务质量,是网络的一种安全机制,是用来解决网络延迟和阻塞等问题的一种技术。对关键应用和多媒体应用十分必要。当网络过载或拥塞时,QoS能确保重要业务量不受延迟或丢弃,同时保证网络的高效运行。简单说就是提高游戏程序的网络优先级别从而达到降低延迟的目的。

小贴士:家庭普通版和家庭高级版Windows 7是无法使用组策略功能的,这一点大家请注意。

步骤:按下windows键,在搜索框(运行)里输入gpedit.msc,然后回车,打开组策略。找到“基于策 略的Qos”这一选项,右键选择新建一个策略,这里我们命名为“ABC”,然后设置DSCP值为63(最大63),点击下一步。选择将此Qos策略运用于“仅限具有此 可执行名称的应用程序”,然后在下面的栏中输入程序XXXXX.exe(游戏的客户端下的可执行文件)的完整路径。再点击下一步。选择默认即可最后点击完成。

禁用MMCSS服务

如果上面的方法 设置QoS策略不能解决问题,我们也尝试另外一种方法,删除MMCSS服 务。MMCSS服务的全称是Multimedia Class Scheduler,这个服务的功能是“运行于服务宿主Svchost.exe文件中,它自动提升音视频播放的优先级,以防止其他软件过分占用播放软件应得到的CPU时间。这样一来,分配在网络上的CPU时间自然会少了,进而会影响网速”,所以我们可以尝试禁用这个服务来达到降低游戏延迟的目的。

首先在搜索窗口中输入“regedit”进入注册表【HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Audiosrv】这个项,双击打开右侧的DependOnService项目,把其中的MMCSS删除,保留另外2个,然后点击确定,重启电脑。然后再右键点击“计算机”,在 服务项中找到“Multimedia Class Scheduler”,先停止这项服务,然后再将启动类型设置为“禁用”即可。

上面这么多字,有人看了头就晕了!我也晕。有一个小软件可以到达类似效果,就是:Leatrix Latency Fix 1.23。这也算不上软件,只是一个类似于插件的东西,点击之后会自动修改注册表。

还有一点,带宽和延迟的关系不大,不是说我4M的宽带延迟一定比2M的要低。因为一般情况下,游戏需要传输的数据量很少很少,你们自己开流量监控软件看看就知道了。优化的不好,给你100M宽带也枉然。网游主要要求的就是及时性,就是我一个指令发送过去,服务器立马要给反馈回来。就比如我玩斗地主,我在电脑上点了出牌,但是由于网络问题,数据没有发送成功或者被延迟了,服务器就无法接收到数据,更不会给你反馈了,就会默认判定你没有出牌,你就悲剧了………

通常来说,应该先从软件上找问题,然后再从硬件入手。如果说,上面那些优化方法加上优化软件都没法解决延迟问题。你可以考虑考虑找找硬件问题了。以上方法基本上能解决游戏中常出现的延迟掉线问题、跳ping问题。

发表评论

邮箱地址不会被公开。 必填项已用*标注