关于CS弹道的详细分析(强烈推荐) 第2篇

社区服务
高级搜索
猴岛论坛CSGO反恐精英关于CS弹道的详细分析(强烈推荐) 第2篇
发帖 回复
倒序阅读 最近浏览的帖子最近浏览的版块
6个回复

关于CS弹道的详细分析(强烈推荐) 第2篇

楼层直达
guns100

ZxID:1019553

等级: 少尉
枪神
举报 只看楼主 使用道具 楼主   发表于: 2004-08-21 0

3.
首先,肯定下面两点官方说明是正确的。
cl_cmdrate控制一秒钟内客户端向服务器提交的数据次数, 也就是客户端告知服务器玩家在一秒内干了什么
cl_updaterate控制一秒钟内服务器向客户端提交数据的次数, 也就是服务器告诉玩家现在整个地图中的变化情况(队友的行动, 敌人的行动)


那么在游戏中我们打开net_graph 3来测试。
很显然,IN和cl_updaterate有关,out和cl_cmdrate有关。


调低cl_updaterate,IN数据流量降低。
调低cl_cmdrate,IN和OUT数据流量同步降低。
调低FPS,IN和OUT数据流量同步降低。


第一种情况很正常。
第二种情况我想应该是由于客户端向服务器提交数据次数降低,那么服务器判定客户端
的带宽比较低,因此也降低了对客户端的传输数据频率。
第三种情况也很容易理解,每秒客户端画面刷新率降低,相应要求的数据量肯定要降低。


我想所有的玩家关心这些参数的原因是这些参数改动是否能够影响自己CS的水平,会不会改变弹道?会不会增大延迟?会不会。。。?


按骗人不眨眼兄的说法,9发子弹有可能只起到3发的效果,我觉得是不可能的,从我掌握的情况来看,U-DRAGOON的说法是基本正确的。


U-Dragoon 在 Re:....updaterate和cmdrate的实验报告------!!!看不得!!! 中提到:
我认为cmdrate控制的每次发送数据都相当于一个关键帧,而子弹的发射都是存在于关键帧上,那么,cmdrate降低带来的数据流量减少应该是游戏细节的损失,子弹发射这样的关键数据不应该被省略掉。损失的细节则由服务器来进行插值计算。




为什么呢?我想大家应该有注意到这一点,CS中主木仓开一发(甚至两发)以最快速度切换到手木仓,你再切换回来,会发现你的子弹“没有打出去”,弹夹中的子弹数量和你开木仓前是一样的。而你打的那一木仓有没有效呢?事实证明,那棵子弹完全有效。这种情况只出现在别人做SERVER,你加入的情况下。如果你做了一个listenserver,几乎不会出现这种情况。因为你自己是SERVER,自己和自己传输数据,不用那么曲折吧?但这里为什么说几乎呢,因为我试了20次,还是有一次成功了(如果不是我看花眼的话)
如果你JOIN到别的SERVER,那么这个试验成功率高达70%。很遗憾,在cl_cmdrate 10和
cl_cmdrate 100的情况下成功率差别不大。


造成这个BUG的原因,我想应该是由于有关数据包是先后发出的,1.打出子弹.2.切换.3.换成手木仓4.子弹数目-1。前三个步骤的数据包都发出去了,第四个数据包被忽略了。由此看出,计算子弹数目的数据包优先级是很低的,而有关子弹发出的数据则是关键的。
再看另外一个BUG,如果你在别人的SERVER里,用USP+AWP对着墙打就可以发现。如果以尽量快的速度猛扣3木仓USP再马上切换出AWP开一木仓,你会发现AWP一木仓打出了2-3发子弹,墙壁上有5-6个弹孔。而实际上应该发出了4发子弹。原因呢,请各位思考一下,但和上面的例子不尽相同。
我举这个例子是为了说明子弹发射作为关键帧的重要性盖过了其他的数据。


再举一个证明服务器进行了插值计算的例子,如果你有录过DEMO就会发现,如果cl_cmdrate和cl_updaterate比较低的话,虽然你玩的时候感觉画面是平滑的,但用playdemo播放你录的DEMO就会发现,DEMO一顿一顿的。但是你用VIEWDEMO播放呢,感觉如何了?又变平滑了。这就是因为VIEWDEMO对DEMO的播放过程进行了插值计算,使其变的平滑。
同理,你打的时候之所以平滑也是因为服务器进行了插值计算。实际上,你的DEMO才真正反映了你当时的情况,只不过你被“幻象”所蒙蔽了。那么由此可想而知,你的木仓瞬间在你眼里是指在他身上的,但是在服务器的“眼里”是吗?那就难说了。


而如果cl_cmdrate和cl_updaterate足够高,你的DEMO也会达到正常的平滑程度。也就是说,你可以做到更精确。


说了这么多,其实以最简单的思路来看。以上两个参数低,则每秒接受和发出的数据量都低,那么就必定有数据被忽略,就必定会影响游戏的效果和精确度。
而现在你也知道FPS对你CS水平的影响不仅仅在于准心回复的速度了吧?
所以我建议cl_cmdrate和cl_updaterate还是在100的好,fps_max呢,如果你的显卡和CPU足够好(MX400至少要搭配athlon 1600xp,显卡再高档呢,CPU就可以降),设置为100,但如果不够好,比如你是tnt2那就60好了,MX200用71比较合适,否则得不偿失哦。


---------------------------------------------------------------------------


4.
cs的网络参数调整指南!
一,512/64ADSL:
cl_updaterate和cl_cmdrate的差是要看网路的特性来调整,当你在开net_graph时你应该会看到有几个跳动非常快的数字in、out,你会看到in後面的数字跳动的非常快!!而out比较稳定比较少变动,in就是你看到其他人传给你的资料(敌人的位子敌人开木仓),out就是你传给其他人的资料,(你开木仓你的位子);你一定会想说那HL几乎都是"射击"游戏应该out要比in多,不可能敌人走路比我开木仓还快吧!!造道理来说应该是这样不过以"电脑的特性""网路的特性"来说不太一样.


512/64ADSL我的设定
fps_max 100
rate 16383.999023
cl_latency -71.000977
cl_updaterate 30
cl_cmdrate 30
ex_interp 0.05


其实cl_updaterate和cl_cmdrate要设定成一样的数字,如果cl_updaterate设的稍低一点的话,你net_graph里面的out就有可能大过in,当上面的情况发生就是你网路接受的资料不足!!(接受的资料就是敌人的位子)这也就是LAG。


像56k在HL里是传输很慢的网路(几乎都是在下载),所以cl_updaterate和cl_cmdrate要设定一个"差"才可以让56k有一点上传,所以56k的设定是20和30。


但是ADSL是一个高速传输的网路,虽然台湾特有64ADSL把上传限制的很低64k,不过整体上下传是很快的,所以如果你照的56k的设定20和30你会发现,很多时候你的out会大过in,所以应该要补正成30、30。


cl_cmdrate这个参数是控制你整体网路的上下传,如果你是56k的话设定成30而512ADSL上传也只有64k(事实上是不到),所以512/64ADSL的cl_cmdrate设定成30然後为了要补正ADSL的网路特性所以把cl_updaterate加大到30(跟cl_cmdrate一样),因此得出:


512/64ADSL:cl_updaterate 30、cl_cmdrate 30
------------------------------------------------------------------------------------------------


二,1.5M ADSL:


上传好像可以达到384k(还是一样实际上是不到)就可以把cl_updaterate和cl_cmdrate设定到40,但是以ADSL特性的话顶多到40如果是Cable就可以设定的更高50 50 (甚至再更高)....LAN的话就可以像CPL设定到101 101。
------------------------------------------------------------------------------------------------


三,教你怎麽在有设sv_maxrate的server上面玩进量不得到choke!


再来是如何上有设定sv_maxrate的server尽量不得到choke,有设定sv_maxrate几乎都是设定在8000以内。


之前就有提到过rate後面小数点设定成0.000521这是一个会自动改变的数字,我测试的结果在rate 8100上下....後面的0.000521会改变成不同的数字,像我的电脑rate 8100以上的话0.000521会改变成0.000977,如果是以下的话0.000521会变成0.000488;


所以当一个server sv_maxrate是8000的话把rate设定成7999.999521,7999.999521会自动改变成7999.999512。


0.000521 + 0.000488 = 1


刚好补正到8000满server最大的rate你就会得到最少的choke,记住小数点後三位要是0.999後面的521才会变成512;我实验的解果是没有0.999的话7999.000521就会变成7999.000488,因为server有调节/限制!!....所以就算别人传给传给你最大的资料也只会有8000。


如果你还是有得到choke的话.....不是server有特别另外设定过,不然你就要调整你的cl_updaterate降低。


------------------------------------------------------------------------------------------------


四,如何在有限定的服务器调整参数:


如果你512/64ADSL有设定好的话你会"非常明显"!!!的看出一个server有没有动过手脚和有没有超出负荷,你把ex_interp 设定成0.05..........等server人数全满+一个回合的一开始(就是每有一个人死每一个人都在动作)时,你就会看出不同的异状@@


net_graph下面蓝色一直跑的杠应该都要在标准以下,不应该有突出变成红色的!!一个红"越凸出"代表LAG越严重


像我看到有些动过手脚的server,就算server只剩两个人那个红色大丁(LAG)特别凸出还是持续着,这样的一个很小的LAG方式是在游戏中感觉不到的,如果那红色的凸出比较小的话


一个红色的LAG代表的是...........ping突然变高一点,进来的资料in变少一点!!这是很严重的!!


因为HL server要收集server上每一个玩家的资料,在传送到每一个玩家的电脑,所以你看到其他人的资料都是经过server再传送给你,HL的网路新技术server已经占了很重要的地位,以前的HL server就只是像proxy server,现在的hl server会处理一个玩家们的资料,让ping比较高的玩家(如ADSL玩家)得到更公平的Game,一般server是比较不会有很严重的大丁LAG(就算是有超出一点server负荷)..........会有很严重的大LAG几乎都是有人在server上动手脚。


如果你的cl_updaterate和cl_cmdrate没有设定好的话,你是"绝对"绝对看不出一个server的网路状况。
------------------------------------------------------------------------------------------------


五,综合说明:


有几个参数是要调整的
fps_max
rate
cl_latency
cl_updaterate
cl_cmdrate
ex_interp


而台湾特512/64 ADSL(我SEEDNet)设定如下:
fps_max 100
rate 16383.999023
cl_latency -61.000977
cl_updaterate 30
cl_cmdrate 40
ex_interp 0.05


我不敢保证这个适用於每一个512/64ADSL玩家,但是这每一个数字设定都有我自己研究、推测而来的道理:P


fps_max 100
我想这参数大家应该都知道才对,这是HL引擎最高fps张数,这个跟你的萤幕更新率也有关
以前叫别人把显示卡个"垂直同步"关闭....其实是错误的(会让眼睛看不清楚),


rate 16383.999023
为什麽会有这麽奇怪的一个数字??就是你CS进入Internet Game选单右上角的下拉选单
这就是rate,HL预设只有几个选项...而且都是整数...要调到像我一样有小数点的请选择Custom。


再到console里面自己输入
cl_latency -61.000977
这是一个到HL引擎开发出网路新技术之後才有的一个参数(前身好像是有两个参数组成的)
这个参数请使用"负"(不问为什麽)很多人都说这个数字是ping的负一或是负一半事实上是ping的最小值


是怎麽会有这一些数字的?首先你先连上一个internet server但是在连那一个server之前先点server info看看sv_maxrate 0是不是为零,确定进入游戏里面之後就要开始做一堆的反覆动作...
ESC
滑鼠点Resume
按 ~ 输入新的数字
ESC
滑鼠点Resume
按 ~ 输入新的数字


rate理论上是最大的下载bps但最大好像也只有25000.000000,我参考了很多别人的设定,一开始我先输入是25000.000521,出去选单再会来发现变成了25000.000000那个521不见了,一直往下降到17000.000521回来还是变成17000.000000;到了16000.000521回来之後发现变成了16000.000977,我知道数字就在16000和17000之间了......


尽量逼近17000但是要保留0.000521这个会自动改变的的其特殊数字,最後当我试到16383.999521时回来就变成了16383.999023这一个数字,如果我再往上加到16383.999900时....他就又变成16384.000000这不是我要的16383.999023这就是有小数点的最大rate!


再来要调整的是cl_latency,


当你打开net_graph 1时你如果有看到xx ms这个就是你的ping,一般在LAN或是Cable是不太会看到这个跳动的数字出现在net_graph,而这个ping会因为你的一些设定让它变低,有人说cl_cmdrate是你平均fps,但是我参考到的资料cl_cmdrate其实都固定是几个数字。


这参数给我的感觉是......多少fps(动作)被网路传送出去......


cl_cmdrate 30是56k数据机
cl_cmdrate 40适用DSL
cl_cmdrate 50适用在区域网路LAN


大家都知道CPL的设定是cl_cmdrate 101大家也知道HL最高fps也只有100,所以这代表了你在CPL区网的电脑所做的每一个动作的完全的传送出去,就算是达到fps 100,这也代表了你电脑的fps不会被网路"牵制住"。
------------------------------------------------------------------------------------------------


六,网络参数对鼠标灵活性的影响:


1,有在家玩CS的玩家都感觉我的电脑配备明明很高档,但是为什麽用512adsl在家连到internet为什麽fps会依下子掉到很低,一下子又可以保持100,滑鼠都移动的不怎麽顺畅,准心都回缩的很慢,这时候你就要用cl_latency参数来补正你的game


fps_max + 1 - cl_cmdrate 就是这样 101 - 40 = 61


但是记住cl_latency -要使用"负数"


ok!设定成cl_latency -60感觉fps有回来一点点但是怎麽滑鼠还是不很不顺畅
你试试看滑鼠快速的转身,一直反覆!!你就会感觉转一转怎麽会有卡到一下的感觉!!虽然滑鼠移动有比较快了,但怎麽感觉射击敌人时还有不扎实的感觉,不是觉得敌人移动的比较快就是,自己滑鼠一下子快一下子慢。


其实HL网路新技术的引擎就是把自己的电脑每一个动作和网路紧密的连结在一起,不过世界上有太多不同的网路,所以没以办法做的一庞大的资料库自动一一校正


所以.......说这麽多.......就是设定成这样cl_latency -61.000977


0.000977这个数字在刚刚设定rate时很眼熟ㄝ!!16000.000521回来时变成16000.000977,在看看自己的rate 16383.999023,两个参数rate和cl_latency後面的小数点加在一起看看.....0.999023 + 0.000977 = 1,喔!!好特别再转转看自己的滑鼠,不会卡到了!!!


这说明rate和cl_latency两个配合已经把滑鼠和HL同步了!!也让滑鼠接到网路牵制的影响降到最低!!


2,再来是cl_updaterate和cl_cmdrate


cl_cmdrate就已经提过了DSL就是用40所以不改变,大陆而且是距离较近的服务器建议用40~80;开启net_graph 3记住数字是3!你会看到loss和choke看到如果有choke就是降低cl_updaterate而最高也只能到40(大陆而且是距离较近的服务器建议用40~80)注意要跟cl_cmdrate同样的数字。
------------------------------------------------------------------------------------------------


七,说说ISDN的调整:


512/64 ADSL下载可以高达50k但是上传只有6k.......这麽大的一个差距我想大概也跟isdn差不多了,台湾好像没有isdn但还是说说isdn的设定就是不对称的类似56k数据机。


isdn的设定是下面:
cl_updaterate 31
cl_cmdrate 35


如果是1.5M的ADSL我想就是定成40 40,如果是512adsl我实验的结果cl_updaterate 30,可以和一个敌人对射击时不会得到choke 1;但是在平常,每一回合的一开始,死亡後,走动间,瞄人实际都还会得到不等的choke!!


不过HL引擎真的利害,只要你一接近敌人时你的choke就会停止!真正和对方对射时才会开始计算。


那时你会不会得到choke?


看看ex_interp 这个参数预设值是0.1,你把他改成0.05,你打开net_graph 1你会看到下面蓝色一直跑的杠会变的比较整齐且接近填满,但不会超过。


下面这个网址有好坏网路的图表,把网路设定完成後...再去参考一下图表...你就会知道为什麽要输入0.05http://guides.barrysworld.com/cs/tweaking/,至於要怎麽把设定好的资料保存,让每次启动就是自动套用设定好的数值,首先
fps_max
rate
cl_updaterate
cl_cmdrate
这四个参数设定好後就会固定在config.cfg里面不会任意改变


cl_latency
ex_interp
这里个参数则是会关闭游戏後又会回复预设值!!!


所以你必须把这里个参数你必须另外写一个.cfg,最好让autoexec.cfg启动或是直接写在autoexec.cfg。


-----------------------------------------------------------------------------------


5.
以前一直用101,前一段时间给朋友一讲后,就开始了非常迷惑的修改过程!于是上google刮了大把的资料来看,国内国外都看个透了。谁知道,国内国外,各大论坛,各有各的说法!!!而且经常都是意见相反的(主要是关于update 和cmdrate这两个值谁大谁小的问题)。。。越看越糊涂。。。最后。。。


最后还是自己摸索出来的最好!!我现在把经验讲给大家。。。
(局域网的就不用讲了吧,rate 25000,cl_updaterate 101,cl_cmdrate 101)
rate设定值。这个不好说,因为个人感觉不怎么明显。反正我就是使用hlsw,启动参数里设置了set rate to max,他是将rate设定与服务器相同,具体根据服务器设定值而变,国内大部份都是adsl或者以上的宽带才玩cs吧,因此,大可将rate 设定到7500~9999间,反正我觉得具体数值怎么重要。
我要讲的主要是_updaterate和 cl_cmdrate这两个参数了。
其实这两个参数的修改很简单!但是,大家必须清楚一件事情:不同的服务器,这些参数的设定是不同的。 参考了那么多的资料,我的理解是通过这两个值的设置,使网络状况的 loss和 choke最小化(lag的感觉最小),但又不会让准星感觉飘或粘滞。
这两个参数的设定,会影响到cs里面ping值的显示数值。


如果这两个参数选择默认值(也算是最小值吧) (20,30),这时,你会发现,cs里面所显示的ping值最低,但打起来的感觉却跟高ping没两样。比如。我的adsl(2.5M)用ping命令ping一个服务器,其平均在4X左右,如果用这两个值的话,cs里面竟然显示2x~3x的ping值,但这明显是不是实际值,打起来也感觉画面粘滞感很厉害,跟ping高时差不多,因此这肯定不是正确的适当的值。
下面我就给大家讲讲详细值的设定方法。
首先把这两个值设定为101,然后连入服务器。使用net_graph 3查看网络状况,如果loss 和 choke都为0,那么,你尽可以使用这两个值玩!
当这两个值经常大于0时,就开始把这两个值改小:cl_updaterate 对应的是 choke,cl_cmdrate对应的是loss!!
也许是由于网络状况的原因吧,我所去的服务器loss绝大部分都是0,因此cl_cmdrate 也就大部份时间使用101;但choke就不同了,不同的服务器,变化很大。这时,你会发现,调整cl_updaterate可以明显改善choke值。具体值的设定方法,,比如,你用101有明显choke,你可以降到50试试,如果还有,就-5 这样一点点减少,如果降到50 choke一直为0了,就试着+5这样一点点增大,直到偶尔出现choke这样就最好了。因此,这两个值,谁大谁小,实际没有什么绝对对应关系的,真正确定谁大谁小的是你本身的网络状况。
最后,给大家说明的是:这两个值的设定,以最小的loss和choke,最大的数值为最好。换句话说,在尽量使得choke和loss为0的情况下,cl_cmdrate 和cl_updaterate的值越大,玩起了的感觉最顺畅。

七七_h

ZxID:1022150

等级: 新兵
举报 只看该作者 沙发   发表于: 2004-08-22 0

强啊~ up!!!

CS酷酷

ZxID:1019241

等级: 大尉
爱POPING的我
举报 只看该作者 板凳   发表于: 2004-08-22 0
看了
恋恋_h

ZxID:1024566

等级: 上校
爱喝可乐的猫猫
举报 只看该作者 地板   发表于: 2004-08-22 0
眼花 了。。
☆疾风知劲草~

ZxID:1017944

等级: 上尉
举报 只看该作者 4楼  发表于: 2004-08-22 0
眼晕了
非我莫属

ZxID:1026819

等级: 下士
不懂。。。
举报 只看该作者 5楼  发表于: 2004-08-25 0
[em06][em06][em06]
CS酷酷

ZxID:1019241

等级: 大尉
爱POPING的我
举报 只看该作者 6楼  发表于: 2004-08-26 0
关于CS弹道的详细分析(强烈推荐) 第2篇
看得不是很懂
« 返回列表
发帖 回复