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玩家
但是这每一个数字设定都有我自己研究\推测而来的道理
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记住数字是三
你会看到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
这个问题本来就不是新问题了,如果是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
所以清楚自己的连接情况,并且针对设置,那么会有一些好的改善