找回密码
 注-册

QQ登录

只需一步,快速开始

查看: 1797|回复: 0

[技术] CS弹道的详细分析

[复制链接]
Leya 发表于 2008-6-7 22:53:33 | 显示全部楼层 |阅读模式
CS弹道的详细分析(1)
rate
  cl_updaterate
  cl_cmdrate

  这三个参数是影响到你NET GAME时弹道问题的最大原因。


  1.
  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的网络状况

  

  标题:[参数]512/64ADSL网络设定修正连接sv_maxrate server


CS弹道的详细分析(2)

有几个参数是要调整的
  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不会被网络"牵制住"

  有在家玩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同步了!!也让鼠标接到网络牵制的影响降到最低!!

  再来是cl_updaterate和cl_cmdrate

  cl_cmdrate就已经提过了DSL就是用40所以不改变

  开启net_graph 3记住数字是三



CS弹道的详细分析(3)


 
  你会看到loss和choke看到如果有choke就是降低cl_updaterate而最高也只能到40就是跟cl_cmdrate同样的数字

  512/64 ADSL下载可以高达50k但是上传只有6k.......这么大的一个差距我想大概也跟isdn差不多了

  台湾好像没有isdn但还是说说isdn的设定就是不对称的类似56k调制解调器

  isdn的设定是下面
  cl_updaterate 31
  cl_cmdrate 35
  dsl
  cl_updaterate 40
  cl_cmdrate 40
  如果是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.05
  http://guides.barrysworld.com/cs/tweaking/
  至于要怎么把设定好的数据保存,让每次启动就是自动套用设定好的数值
  fps_max
  rate
  cl_updaterate
  cl_cmdrate
  这四个参数设定好后就会固定在config.cfg里面不会任意改变
  cl_latency
  ex_interp
  这里个参数则是会关闭游戏后又会回复默认值
  你必须把
  这里个参数你必须另外写一个.cfg让autoexec.cfg启动或是直接写在autoexec.cfg

  2.
  这个问题本来就不是新问题了,如果是lan的话,cl_updaterate和cl_cmdrate
  在Ethernet lan中的标准设置都为101

  如果是Ethernet lan的话则可以设置为
  rate "25000"
  cl_cmdrate "101"
  cl_updaterate "101"
  如果说cl_updaterate=fps=101,
  那么
  服务端传送到client中的数据报率=client的刷新率
  那么,服务端对client的响应是刷新率所决定的。
  如果是lan, cl_cmdrate作为客户端传送到服务器中的速率与cl_updaterate相同,那么网络条件好的情况下,我们打cs是最流畅的

  我所说的cl_cmdrate=cl_updaterate=fps只是其中的一种情况(其实就是指lan,没有说清楚,引起误会,不好意思)

  如果针对不同的网络条件对服务器进行连接,那么可以有不同的设置情况。

  ADSL 64/128
  rate "9999"
  cl_cmdrate "35"
  cl_updaterate "45"


  ADSL 256
  rate "9999"
  cl_cmdrate "50"
  cl_updaterate "46"

  ADSL 512
  rate "9999"
  cl_cmdrate "100"
  cl_updaterate "60"

  ADSL 2MB
  rate "9999"
  cl_cmdrate "100"
  cl_updaterate "100"

  可见,网络条件越好,那么这两个参数就越接近,至于fps,要和cl_updaterate接近,我的意思已经很明白:服务器对客户端的响应与客户端显示刷新率同步,我们打cs才不会有一顿一顿的感觉。

  loss和choke在任何一台服务器都可能出现,只是出现的情况不一样,loss指的是掉包,与网络连接有直接关系,与网络的负载也有关系,通常出现在客户端端口,或者服务端的端口。choke指数据流拥塞,比如我们有两台机器,同时连到另外一台主服务器上,在服务器里,我们所进行的操作是同时的,或者是同步的,那么就可能产生拥塞,如果客户端带宽不能处理数据流时,越高的cl_updaterate,将产生越多的choke
  所以清楚自己的连接情况,并且针对设置,那么会有一些好的改善

  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的水平,会不会改变弹道?会不会增大延迟?会不会。。。?



CS弹道的详细分析(4)

按骗人不眨眼兄的说法,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一样),因此得出:


CS弹道的详细分析(5)

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之间了......


CS弹道的详细分析(6)

  尽量逼近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
  这四个参数设定好后就会


CS弹道的详细分析(7)

最后还是自己摸索出来的最好!!我现在把经验讲给大家。。。
  (局域网的就不用讲了吧,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的值越大,玩起了的感觉最顺畅。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注-册

本版积分规则

Archiver|手机版|小黑屋|DoDVip ( 桂ICP备14000730号 )

GMT+8, 2024-5-3 19:18 , Processed in 0.066878 second(s), 20 queries .

Powered by Discuz! X3.5

Copyright © 2001-2024 Tencent Cloud.

快速回复 返回顶部 返回列表