枪神纪吧 关注:893,564贴子:57,488,686

伪科普延迟v2.0

取消只看楼主收藏回复

谈谈降低游戏PING和防止丢包的可能性
延迟/PING 服务器 丢包 speed hack detected 有线/无线(热点)连接 加速器



IP属地:江苏1楼2020-05-31 18:13回复
    更新日志(?再放送事故)
    时隔近三个月,从中发现了一些勘误,因而推陈出新(并不是想氵贴)。针对太长难以理解的反映,精简了一些内容以提升各位看官的阅读体验。


    IP属地:江苏2楼2020-05-31 18:14
    收起回复
      目录
      1 引言
      2 延迟和网速的定义和基本原理
      3 网络数据传输过程
      4 网游加速器原理
      5 网络优化建议
      6 结语
      7 参考


      IP属地:江苏3楼2020-05-31 18:14
      回复
        1 引言
        15-20年的主吧好像没有帖子系统讲延迟这个东西,前期查找资料时看到论坛好多人抱怨服务器延迟高打游戏卡,最后只是得到先解决自己问题的反馈。因此想写一个工具帖,用于大家某天打游戏延迟高上贴吧查找延迟问题的解决方案。如果这篇帖子启发了你,欢迎点赞、收藏、评论或者转发给更多的人。


        IP属地:江苏4楼2020-05-31 18:14
        回复
          2 延迟和网速的定义和基本原理
          首先贴一下延迟的定义:延迟是指数据从网络的一段传送到另一端所需要的时间,亦称时延。在游戏玩家群体中,延迟和PING含义基本同化。单位:毫秒(ms),1秒=1000毫秒。
          平常我们在打枪枪时,电脑上的本地客户端通过发送数据(例如位移、伤害判定等)到TX服务器,服务器处理,最后原路回到本地客户端进行反馈,这样就完成了一次数据交换。
          简单来说,我们在战绩面板上看到的PING数值是数据在本地客户端与服务器做往返过程所需的时间,即[我→服务器→我]的时间长短,而不是单一的[我→服务器]。


          IP属地:江苏5楼2020-05-31 18:14
          回复
            延迟包含四个部分:发送时延、传播时延、处理时延、排队时延。
            下面我用白话配合说明这四个部分:
            假定你在香榭丽舍拿猴子打了一枪
            发送时延:这一枪的数据从你的电脑本地客户端发出,在主机或路由器中被打包好发送出去的时间。
            传播时延:这一枪的数据从家里到TX服务器的时间。
            处理时延:服务器反馈给我们这一枪的数据,在主机或路由器上解包处理的时间。
            排队时延:在数据传播时,网络繁忙(晚上),通信量很多(我猴子打了一枪,你奶妈扔了个奶包,他工程升级炮台),在路由器上就要排队等待处理的时间,甚至有时会出现排队时间过长被丢包的现象。


            IP属地:江苏6楼2020-05-31 18:15
            回复
              结合以上延迟的四部分我们可以设计一个情景:
              白天打游戏,战绩面板上我的PING是100ms,除以2就是单程的时间50ms,这里的50ms=5ms的发送时延+40ms的传播时延+5ms的处理时延,除此之外如果在晚上玩可能还有10ms的排队时延,那么我打游戏单程的延迟会在50~60ms、往返总延迟则在100~120ms浮动。


              IP属地:江苏7楼2020-05-31 18:15
              收起回复
                而在其中,传播时延对于我们的延迟高低影响最大。
                那么传播时延怎么计算呢?
                传播时延=信道长度/电磁波在信道上的传输速率。
                如果我们把信道长度划分为家到服务器的物理距离,并且电磁波传速速率近似于光速。
                那么换算如下:
                延迟≈到服务器的距离/光速


                IP属地:江苏8楼2020-05-31 18:16
                回复
                  由此我们可以得出一个结论:
                  光速固定不变,即在其他上网环境因素相同时,几乎决定大家延迟高低的是[物理距离]。本人上网的地方离服务器越远,延迟越高。
                  假定电信服务器在深圳,广州的玩家PING为30ms,哈尔滨的玩家可能就是130ms,游戏体感注定是不同的。


                  IP属地:江苏9楼2020-05-31 18:16
                  回复
                    讲完产生延迟的基本原理,有些小伙伴们肯定会有这样的疑惑:我可以理解物理距离决定延迟,如果我把网速从1m/s提到10m/s,这样我打游戏数据传得也快,物理距离远可以用网速快来补足,这么做行不行?


                    IP属地:江苏10楼2020-05-31 18:16
                    回复
                      在回答这个问题之前,我想先引入两个概念。
                      大多数人现在普遍说的网速,包括测速软件上测得的速度,指的其实是速率。例如我正在下载一个1G的电影,下载软件上显示为10mb/s。
                      而速率又分为下载和上传两类,上网冲浪看视频、听音乐、下载安装包等看下载;视频通话、上传种子还有打游戏等主要看上传,如果出现丢包、断连应该首先查看自己的上传资源的占用情况。


                      IP属地:江苏11楼2020-05-31 18:16
                      回复
                        接下来回到问题:
                        提网速对降低延迟意义不大,因为我们惯常认知中的网速并不是之前传播时延公式中的电磁波在信道上的传输速率,网速和延迟没有绝对关系。


                        IP属地:江苏12楼2020-05-31 18:17
                        回复
                          请大家设想这样一个情景,你在水库输送100L水,水库管理员给了两种闸让你选择,第一种闸的口很小,每秒可以输送1L水;第二种闸的口很大,每秒居然能输送10L水。我用第一种闸要100s才能取完,而第二种10s就可以取完了。


                          IP属地:江苏13楼2020-05-31 18:17
                          回复
                            如果把上述的输水情景比作网络传输过程,100L水比作我们要下载/上传的文件数据,那么这里的闸口每秒的输水量标准就是我们认知的网速,可近似理解为闸口粗细,它的最大值即电信联通等互联网服务供应商(ISP)宣传的带宽。传播时延公式中的电磁波在信道上的传输速率才是输水过程中的水流速度,它近乎光速不可变。而在整个传播时延中,我们的水流速度都是一样的。


                            IP属地:江苏14楼2020-05-31 18:17
                            回复
                              打游戏虽然需要实时上传同步我们的数据,但其传送给服务器的数据非常小。如果我们把水的输送换成向服务器上传自己本地客户端数据的过程,无论是10M带宽还是100M带宽,每个可能就几KB的数据包都能正常完整等速通过闸口。游戏时,如果我们上传的闸口被其他正在传输的资源所挤压,那么必然会出现不稳定的情况,丢包甚至断开连接也有可能。
                              因此,打游戏的延迟基本与我们上行的稳定有关,网速和延迟没有绝对关系。


                              IP属地:江苏15楼2020-05-31 18:17
                              回复