您的位置:程序门 -> 硬件使用 -> 网络设计与维护



几个udp通信的网络游戏延迟故障的排查及疑问


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


几个udp通信的网络游戏延迟故障的排查及疑问
发表于:2007-03-02 23:57:27 楼主
*************************   一.   故障发现及症状     **************************

-----------先是在玩卡丁车时发现的-----------

a.单人进行计时赛,还有考驾照,完全正常,没有卡的迹象;

b.多人游戏房间里也很正常,说话在自己看来也是即时的;

c.一旦多人游戏开始后就出现延迟了(游戏开始前的几秒钟说话自己看来也不卡):延迟大概是4s

(一)出发时:
    倒计时321一般数到2就看到其他人都出发了

(二)开的过程中:
    刚开始可以跟别人碰撞,但开一会儿就发现别人一闪一闪的
    (玩矿山玩的比较多,一般都在进洞不久就开始闪)
    那些一闪一闪的人没办法对我产生影响,撞我也撞不动
    但我似乎经常可以把他们撞飞...

(三)冲线完成时:
1.我不是第一,落后较远,远远看着别人先冲线
    很明显的看出,第一个人冲线瞬间,即时排名上的名字马上就变色了
    但倒计时却在这之后3-4s才开始,而且倒计时一般在6或者5就结束了
    按时间本来能完成的经常因此未完成.
  (未完成的情形下从来没有通讯出错断线过)

2.我落后不远,能完成的话
    完毕后排名次,会按我的实际时间计算名次
    往往我在别人后面到达,但因为出发的晚,实际用的时间比他短,结果排名会比冲线名次好
    1)有时我跟第一距离很近,他冲线后我还没听到倒计时的声音我也冲线了
        这样的情况十有八九我是第一
    2)如果距离稍微远了一点,他冲线后我正好听到倒计时或者倒计时到9,8时我冲线
        这种情况下一般我是第二,但和他时间相差不多;
  (印象中断线好像都是在2)情况下发生的,而且大部分发生在 "他冲线后我正好听到倒计时 "这种情形下)
3.我第一个冲线
    (这种情形下断线较少)
    1)后面赶来的一闪一闪的人从正后方撞上我时
      我完全不动,他硬却生生被我撞停下来,而且他碰撞后并不会弹回
    2)本来不可能完成的人却完成了  
      比如我1:31到,按理1:41之后的无法完成,但常常有1:45的人完成了...

--------后来的排查过程中,我陆续试了一些游戏希望找出故障的共同点--------

1.我发现qq堂,泡泡堂也有类似的延迟情况
  如qq堂中
    1)炸出道具后,人物走过大概4s道具才会消失,你才得到道具
        这4s内如果别人从那里走过都会被别人得到这个本应是你的道具,这样总是抢不过别人;
    2)使用道具如叉子时,也有4s延迟,往往在这4s被别人踢破水泡;
    3)自己在别人面前放水泡挡路,却发现别人无视刚放下的挡路水泡,从上面安然穿过...
        只有提前几秒放置挡路水泡才能挡住别人.
    ...

2.玩其他大部分游戏网速都很正常,比如cs和war3

3.上网浏览网页,用bt   em下载东西速度都很正常;上qq聊天也很正常

************************     二.   硬件与软件环境     ************************

-----------主要硬件信息-----------

中央处理器:   intel   pentium   4   northwood   processor(0.13μm)
bios:   phoenix   technologies,   ltd   6.00   pg
主板:   micro-star   international   co.,   ltd   p4m266-8233
主板芯片组:   via   technologies   inc   vt8751   prosavageddr   p4m266   system   controller
内存:   kingston   ddr   256mb   *   2
主硬盘:   wdc   wd800bb-22fja0
显示卡:   radeon   9200   se   family   (microsoft   corporation)
显示器:   即插即用监视器
音频设备:   via   ac '97   audio   (wave)
网络适配器:   via   rhine   ii   fast   ethernet   adapter
键盘:   标准   101/102   键或   microsoft   自然   ps/2   键盘
鼠标:   hid-compliant   mouse

-----------主要软件信息-----------

操作系统:   microsoft   windows   xp   (service   pack   2)
    windows   版本:   5.1   build   2600   (service   pack   2)
系统组件版本
    common   control:   5.82  
    internet   explorer:   6.00.2900.2180
    outlook   express:   6.00.2900.2180
    windows   media   player:   11.0.5358.4827
    directx:   4.09.00.0904
    opengl:   5.1.2600.2180  

网络接入:   adsl   1m宽带连接
网络防火墙:   windows默认防火墙
杀毒软件:   东方卫士2007
    病毒库版本:   2007.02.27
    注册表问题库版本:   2006.10.20
    漏洞库版本:   2007.01.13
    主程序版本:   2006.09.30
     
更多详细信息,在文后附上.

**************************     三.   排查尝试     **************************

1.排除了网络防火墙和病毒防火墙的问题
    关掉windows网络防火墙,关掉病毒防火墙东方卫士...问题依旧;

2.排除了跑跑卡丁车本身的问题
    重新下载了跑跑卡丁车最新版本,安装,更新...问题依旧;

3.关掉一切可能造成网络占用的其他进程...问题依旧;
    用传说中的偏方:将游戏目录下nmservice.exe改名...问题依旧;

4.将网卡禁用后在启用...问题依旧;

5.排除了windows   xp系统使用时间过长导致的系统破坏,软件冲突等问题
    重装系统:windows   xp   pro   sp2
  (安装驱动时将显卡驱动和网卡驱动换成较新版本,其他驱动用清华同方提供原驱动)
    尝试1-4的方法...问题依旧

6.排除了单纯由于xp   sp2系统引起的问题
    装了一个双系统,在windows   98   se下做类似尝试...问题依旧;

7.排除了adsl连接问题:
    用别人的笔记本电脑接我的adsl(改笔记本mac费了番功夫)...完全没有问题.

8.一定程度上排除了网卡问题:
    把别人的独立网卡插到我的主板上...问题依旧.
  (我说一定程度是因为,我插别人的独立网卡测试时忘了在biso中屏蔽我的板载网卡)

***********************     四.   一些想法及背景     ***********************

◎泡泡堂和跑跑卡丁车都是韩国nexon公司的产品,而qq堂几乎可以说是泡泡堂的复制品.
这几个显著表现出延迟的游戏据我所知,有个共同点,就是在游戏连接后以udp协议作为主要通讯手段.

◎卡丁车的通信类型是tcp+udp,建立连接前tcp,建立连接后游戏中主要通过udp传输数据

◎udp是无连接的传输协议,因此可靠性较差,如果出现丢包,会导致游戏中的不正常现象(延迟,人物闪烁,倒计时不完全等)

◎经过上面的排查,如果网卡本身没有问题
   
    结合下面这个类似的例子,我很怀疑是主板方面的原因...


**************************     五.   类似病例     **************************

天下网吧联盟的一个帖子,摘要如下:

======================
---叶纷飞---
某网吧的2200sp   cpu   的机器玩泡泡堂
常掉线,有的时候玩两个小时不掉     有时候每玩必掉
另一半     赛扬1.7的都不掉       都是2000       系统出自同一人之手
为了解决过个问题   2200sp的机器已重新做了几次
不知还有哪位大遇见过呢?

---hjm607---
是不是集成的网卡?换个单独的8139看看

---叶纷飞---
是集成的网卡
刚试了8139       果然还是一样,还是掉线啊   啊啊啊啊啊啊啊啊啊啊

---搞不好---
我觉得问题不在网络上,不然别的游戏也会掉啊。cpu应该也不会。
考虑主板驱动吧。如果是nv的首先考虑磁盘驱动,其他的先考虑声卡驱动。

---最深的蓝---
估计是nf2的主板!

---叶纷飞---
没错   是nf2的主板     除了泡泡堂掉线外     其他游戏完全没问题(测试一个月)
不知道怎么办  

---treecom---
nf2主板问题,到网上搜搜,好像关闭coms里的一个东东就可以解决

---hjm607---
nf2主板玩泡泡特容易掉
我当时的解决办法是刷最新的bios
在bios里屏蔽了集成的网卡
外加的8139网卡
现在什么问题也没有

---大师兄---
amd的系统和非英特芯片的主板常遇到这类问题.有时很多莫名其妙的问题.
特别是用了加速器或是外挂类的东西就更明显了.
从这方面来说我喜欢赛扬点.最少游戏多开方面较好.

---最深的蓝---
进bios把apic关了!
不过要重装系统!
应该可以解决部份游戏断线的问题

还有一种方法不要重装系统!
设备管理器-计算机-acpi   uniporcessor-更新驱动程序-从列表or指定位置安装-
不要搜索自己选择-advanced   configuration   and   power   interface(最长的这个)-安装
再进bios关apic
这样就不需要重装系统!

---叶纷飞---
对滴     请大家按“最深的蓝”所说的方法去搞定
实在谢谢

---天煞梦星---
我的是映泰的nf2板子,玩泡泡也有这情况,按最深的蓝把bios里的apic关了,系统就进不去了
把acpi驱动更新后也进不去系统,郁闷死了。

---最深的蓝---
楼上的!推荐在关了apic的情况下重做系统!
其实关了apic能解决泡泡堂掉线外!也能解决玩《传奇》游戏会出现“卡”或“退出”的现象!传奇世界过门卡的问题~~~
建议使用nf2主板的都关了apic!对系统性能不会有任何影响!

---最深的蓝---
apic   (高级可编程中断控制器)对计算机来讲有两个作用
一是管理irq的分配,可以把传统的16个irq扩展到24个(传统的管理方式叫pic),以适应更多的设备。
二是管理多cpu。由于nf2主板并不支持多cpu,所以,apic关闭直接的影响是减少了可用的irq。
不过,如果板卡不是非常多的话,关闭apic对系统是没有什么影响的。

======================
发表于:2007-03-03 00:03:201楼 得分:0
不知道有没有人遇到过类似的问题?
主板会不会引起这种现象?
出现这种网络故障到底接下来应如何排查?
使用sniffer抓包能否分析出什么端倪?

我所了解的相关知识不够,希望能够得到高人的指导~
发表于:2007-03-03 00:03:522楼 得分:0
下面附上其他一些系统信息:

-----------网络详细信息-----------

网络适配器:   via   rhine   ii   fast   ethernet   adapter
    适配器类型:   以太网(ethernet)
    ip   地址:   自动分配
    网关地址:   自动分配
    dhcp   启用:   是
    wins   启用:   否
网络适配器:   wan   (ppp/slip)   interface
    适配器类型:   端对端协议(ppp)
    ip   地址:   xxxx
    网关地址:   xxxx
    dhcp   启用:   否
    wins   启用:   否

网卡芯片:   via   vt6102   rhine   ii   fast   ethernet   adapter
    子系统id:   c01c1462h
    子系统厂商:   micro-star   international   co   ltd   (msi)
    中断:   irq   11,int#   a
    属性
        电源管理版本:   1.1
        当前电源状态:   设备运作,非节电模式
网络适配器
    via   rhine   ii   fast   ethernet   adapter
        协议:   ethernet   802.3
    ras   同步适配器
    数据包计划程序微型端口
        协议:   ethernet   802.3
    wan   微型端口   (l2tp)
    wan   微型端口   (pptp)
        协议:   广域网   (wan)
    wan   微型端口   (pppoe)
        协议:   广域网   (wan)
    直接并行
    wan   微型端口   (ip)
    wan   微型端口   (ip)
    数据包计划程序微型端口
        协议:   ethernet   802.3
    microsoft   tv/video   connection
    realtek   rtl8139   family   pci   fast   ethernet   nic
    数据包计划程序微型端口
网络客户
    microsoft   terminal   services
        状态:   不详
    microsoft   windows   network
    web   client   network
网络协议
    msafd   tcpip   [tcp/ip]
        描述:   tcp/ip   protocol   driver
    msafd   tcpip   [udp/ip]
        描述:   tcp/ip   protocol   driver
    rsvp   udp   service   provider
        描述:   qos   rsvp
        状态:   不详
    rsvp   tcp   service   provider
        描述:   qos   rsvp
        状态:   不详
    msafd   netbios   [\device\netbt_tcpip_{826bb8fa-67ca-4b23-9c6c-c3c985f354f2}]   seqpacket   0
        描述:   netbios   interface
    msafd   netbios   [\device\netbt_tcpip_{826bb8fa-67ca-4b23-9c6c-c3c985f354f2}]   datagram   0
        描述:   netbios   interface
    msafd   netbios   [\device\netbt_tcpip_{b8547136-4c9e-4a88-b93d-88012119b3e8}]   seqpacket   6
        描述:   netbios   interface
    msafd   netbios   [\device\netbt_tcpip_{b8547136-4c9e-4a88-b93d-88012119b3e8}]   datagram   6
        描述:   netbios   interface
    msafd   netbios   [\device\netbt_tcpip_{69e0f0a6-4e7c-4ff8-a4e1-3b339263424d}]   seqpacket   3
        描述:   netbios   interface
    msafd   netbios   [\device\netbt_tcpip_{69e0f0a6-4e7c-4ff8-a4e1-3b339263424d}]   datagram   3
        描述:   netbios   interface
    msafd   netbios   [\device\netbt_tcpip_{8bbfc9d5-3bab-429d-b17f-c8a97b231cd1}]   seqpacket   1
        描述:   netbios   interface
    msafd   netbios   [\device\netbt_tcpip_{8bbfc9d5-3bab-429d-b17f-c8a97b231cd1}]   datagram   1
        描述:   netbios   interface
    msafd   netbios   [\device\netbt_tcpip_{39c6941b-205b-48e9-b32e-85ef3ba29e08}]   seqpacket   2
        描述:   netbios   interface
    msafd   netbios   [\device\netbt_tcpip_{39c6941b-205b-48e9-b32e-85ef3ba29e08}]   datagram   2
        描述:   netbios   interface
    msafd   netbios   [\device\netbt_tcpip_{f428a2ed-0e42-4798-b212-f8234d5712aa}]   seqpacket   4
        描述:   netbios   interface
    msafd   netbios   [\device\netbt_tcpip_{f428a2ed-0e42-4798-b212-f8234d5712aa}]   datagram   4
        描述:   netbios   interface
    msafd   netbios   [\device\netbt_tcpip_{c0d604dc-162a-4f11-b56b-48bd1846ab63}]   seqpacket   5
        描述:   netbios   interface
    msafd   netbios   [\device\netbt_tcpip_{c0d604dc-162a-4f11-b56b-48bd1846ab63}]   datagram   5
        描述:   netbios   interface
internet接入方式:   调制解调器
    活动的internet连接数:   1
    连接名称:   adsl
    设备类型:   pppoe
    设备名称:   wan   微型端口   (pppoe)
    动态地址:   219.xx.xx.xx
发表于:2007-03-03 00:04:073楼 得分:0
-----------处理器详细信息-----------
处理器:   intel   pentium   4   northwood   processor(0.13μm)
主频:   2.90   ghz
外频:   100   mhz
一级数据缓存:   8   kb,   4-way,   64   byte   lines,   sectored
一级指令缓存:   12   kb-uops,   8-way   set   associative
二级缓存:   512   kb,   8-way,   64   byte   lines
插座/插槽:   socket   478
升级接口:   zip   socket
主板支持的最高cpu主频:   2900   mhz
电压:   1.4   v
处理器个数:   1
处理器版本:   family   15   model   2   stepping   9
    型号:   intel(r)   pentium(r)   4   cpu   2.80ghz
    brandid:   9
    扩展版本:   ext.family   0;   ext.model   0
技术特征
    intel   mmx:   支持
    intel   sse:   支持
    intel   sse2:   支持
    intel   sse3:   不支持
    amd   mmx+:   不支持
    amd   3dnow!:   不支持
    amd   3dnow!+:   不支持
    超线程技术(hyper-threading   technology):   不支持
    多核心技术(cmp   legacy):   不支持
    ia-64   processor   capable:   不支持
    64位扩展内存(intel   extended   memory   64   technology):   不支持
    x86-64   long   mode:   不支持
    内建浮点运算协处理器(fpu):   支持
    虚拟模式扩展(vme):   支持
    调试模式扩展(de):   支持
    页面大小扩展(pse):   支持
    时间标记计数器(tsc):   支持
    特殊信号寄存器(msr):   支持
    物理地址扩展(pae):   支持
    计算机异常检查(mce):   支持
    比较并调换指令(cx8):   支持
    内建本地apic(apic):   支持
    快速系统访问(sep):   支持
    支持内存范围寄存器(mtrr):   支持
    整体页面启用(pge):   支持
    处理器检查架构(mca):   支持
    条件指令传送(cmov):   支持
    页面属性运算表(pat):   支持
    36位虚拟内存扩展(pse-36):   支持
    快速浮点保存与恢复(fxsr):   支持
    enhanced   intel   speedstep:   不支持
    thermal   monitor   2:   不支持
    lahf/sahf   指令(64位子模式下):   不支持


快速检索

最新资讯
热门点击