cl_cmdrate 101;cl_update 101 rate 20000 fps_max 99max_shell 0e_eax 1net_graph 0fps_show 0sensitivity x.x而对于ex_interp这个参数,一直都有争议,因为像cpl等著名的大赛都禁止用这个参数,否者会被认为是作弊
cl_cmdrate:
这个参数决定了每秒钟你--即客户端发给服务器多少个数据包。很显然,这个值越高,服务器对你执行的命令的响应就越快。如果你拥有宽带网并且是其唯一使用者,把此值设高对你没什么坏处。如果你和你的朋友在一处上网打CS,并且能感觉到经常出现延迟的现象,那么这个命令就是罪魁祸首。大多数的宽带(主要是ADSL)并不提供足够的上传带宽,而这恰恰是“cl_cmdrate”所需要的。
cl_updaterate:
“cl_updaterate”和“cl_cmdrate”颇为类似,只是反其道而行之。它控制的是每秒钟你从服务器端接收的数据包的数量。因此,它依赖的是你的下载速度。你的“cl_updaterate”值越高,你和服务器的同步率就越高。既然只有服务器能决定你是否打中了,你当然希望收到足够多的数据包以保持和服务器同步。
sv_maxupdaterate:
如同“cl_updaterate”控制每秒钟客户端发给服务器端的最大数据包数量,“sv_maxupdaterate”就是每秒钟服务器端允许客户端接收的最大数据包数量。因此,把“cl_updaterate”设置的高于“sv_maxupdaterate”是毫无意义的。
sys_ticrate:
这个参数设定的是每秒钟服务器将计算出的帧数。默认值是100。为什么服务器的FPS(每秒钟的帧数)重要呢?这个参数本身决定了你在这个服务器上的感觉。我肯定我们都有过这种经验:有些服务器好像是架设在“深蓝”(或者曙光?龙芯?呵呵)上,而我们就好像是在局域网里打比赛一样。
“sys_ticrate”只是设定你服务器的最大FPS。一般来说,你的服务器不会达到这个值,因为你的操作系统并不允许你这样。有很多种不同的方法来提升服务器的FPS,但是其中很多种都需要服务器提供商的合作。请记住,提高服务器的FPS会导致服务器提供商的机器CPU加重负担,因此多半服务器供应商们不会这么做。(出于某种原因,在de_inferno和de_aztec上提高服务器的FPS会导致CPU过载)。基于Windows的“半条命”服务器的默认FPS是64,而基于Linux的服务器的默认FPS是50。某些情况下,你可以把服务器FPS提高到512。是否使用如此之高的服务器FPS现在还有争议,但是就我个人的经验,通常在200FPS下你的游戏感觉会有明显的改善。
稳定性是关键。FPS在100和512之间跳来跳去只会使你的游戏感觉更糟糕,因此当你的服务器一般状态下是150FPS的时候,不妨把“sys_ticrate”设成150。
如果你有服务器的远程控制权限并且想知道服务器当前的FPS,那么就在命令台中输入“rcon stats”。要检查你的服务器有没有被提升过,暂时把“sys_ticrate”设成10000,并输入“rcon stats”。如果你的服务器FPS大于100,那么你的服务器就是被提升过了。
ex_interp:
开始之前,韦氏大辞典如下定义“interpolate”(插值):
Main Entry: in·ter·po·late (主要词条: interpolate)
3:to estimate values of (a function) between two known values (3:估计两个已知函数值中间的函数值)
intransitive senses : to make insertions (as of estimated values) (不及物动词: 插入(在估计值的时候))
你不可能完全和服务器同步,因为你只是每秒钟接收到一定量的数据包。比如:图所示。随着数据点的增加,插值图形将越来越接近原本的圆。CS中我们可以认为这个圆就是一个玩家中在一秒钟不同的位置。从服务器的观点来看,它就是一个完美的圆,而客户端不得不通过插值来预测两个数据包中间的空档。
这就是“ex_interp”出现的原因。两个数据包之间的空档,就要由“半条命”的预测机制来决定了。“ex_interp”设置的是在两个连续数据包之间隔多长时间插值一次,其单位是秒。如上图所示,这些小的时间段就对应了插值多边形的边。因为插值是由客户器端做出的,他和服务器端的判断并不是完全一样。没什么东西能替代真正的数据包,但是插值预测大多数情况下都做得不错。
对于在线游戏的推荐值:
rate:
我已经确认过rate最高是20000,设成20000以上是没有任何意义的,甚至有可能会降低性能。
推荐值:
rate 20000
sv_maxrate:
这个值通常会被设成0。对于在线游戏来说,这并不是最优值。“sv_maxrate 0”会自动监测所有玩家的连接速度,并满足每个人的要求。假定“半条命”允许玩家使用超过20000的“rate”值,如果一个玩家疯到把“rate”设成999999999,服务器会满足他的要求。这不仅导致了带宽的浪费,也导致了服务器过载。因此我推荐一个更安全的值“20000”。事实上,“sv_maxrate 0”和“sv_maxrate 20000”有可能效果是相同的,但是预防措施总是没有坏处的。
推荐值:
sv_maxrate 20000
cl_cmdrate:
这个参数的理想值应该是和服务器的FPS一样(而不是原来大家认为的客户端FPS)。如果你向服务器端发出的更新超过服务器本身的FPS,通常那些多余的数据包就会被丢弃掉。因此,“cl_cmdrate”设置过高没有什么大坏处,但是它浪费了你的带宽。
推荐值:
cl_cmdrate 等于或者大于服务器FPS
ex_interp:
把这个值设成0。CS会自动把你的“ex_interp”设成“1/cl_updaterate”(你的命令台会告诉你“ex_interp”被强制设成XX毫秒。原文“ex_interp forced up to xx msec”)。这是因为两个数据包之间的时间间隔就正好是1/(每秒更新次数),这就是你需要客户端做出插值预测的时间长度。调整“cl_updaterate”会自动调整“ex_interp”(当“ex_interp”设成0的时候)。我建议你只修改“cl_updaterate”,而让你的CS来自动修改“ex_interp”。你现在不能把“ex_interp”设置的低于“1/cl_updaterate”,而把它设高则导致了你射击对手的时候不得不瞄准出现在你屏幕上的人的后方,这种行为通常被认为是作弊(原文exploit,因为欧美比赛中exploit也算是作弊的一种,因此这里就直接翻译成作弊了)。比如,如果你的“cl_updaterate”是101,你“ex_interp”的正确值就是“1/101=0.009”(9毫秒)。而使用默认值0.1就形成了前述的“作弊”(又是exploit,我ft)
推荐值:
ex_interp 0
cl_updaterate:
很长时间以来的做法是让“cl_updaterate”从101开始下降,降到你可以接受的“choke”值。可以用命令“net_graph 3”来查看“choke”。对我来讲,“choke”是我最后才关心的一个数值。事实上得到“cl_updaterate”的最优值是更为复杂的。CAL比赛服务器端设置都是“sv_maxupdaterate 101”,所有有人可能会觉得“cl_updaterate”应该设成101。理想状态下,这是对的,但现实中这并不正确。美国大部分的服务器并不能提供100FPS,这就意味着每秒钟服务器不可能发出100次更新。因此“cl_updaterate 101”除了让你的“ex_interp”变成0.009之外,并不能保证你每秒钟都收到100次更新,这就导致了玩家们的游戏感觉不断在变。既然没有(除非有远程控制权,“rcon stats”)知道服务器FPS的方法,我们就不得不猜测“cl_updaterate”的最优值。你可能说:“不妨把“cl_updaterate”设成101,这样就保证了能尽可能多的接收到数据包”。这样做的问题是忽视了“cl_updaterate”对“ex_interp”的影响,而实际上你的“ex_interp”应该设的更高。
为了找出最优的“cl_updaterate”值(记得把“ex_interp”设成0),将其值从101开始下降直到游戏中的人物只有非常轻微的抖动。“轻微的抖动”的程度只是个人的偏好而已,只要你的“ex_interp”等于“1/cl_updaterate”,游戏中的人物就应该是在正确的位置上。你必须针对每个服务器来调整你的“cl_updaterate”。别害怕使用低于50的“cl_updaterate”值。预测机制会发挥它的作用。注意:大多数公众服务器会把“sv_maxupdaterate”设成30,这时“cl_updaterate 30”就是最正确的。
请注意“cl_updaterate”从低向高调整是行不通的。一旦你的“cl_updaterate”设置到了一个较高的值,“ex_interp”并不会自动调整,而你不得不一次又一次的手动输入“ex_interp 0”。下面是我写的一个调整“cl_updaterate”的很方便的脚本:
调整更新速度的设置文件
推荐值:
“cl_updaterate”应该等于服务器的FPS,而且不应该超过服务器的 “sv_maxupdaterate”值。
sys_ticrate:
寻找合适的“sys_ticrate”值需要做一些试验。首先,如果你的服务器fps没有被提高到100以上,那么把这个值设成大于100是毫无意义的。如果你碰巧租到的是一个高性能服务器(即FPS被提升过),那么你就可以对“sys_ticrate”做点什么了。尽管越高的FPS是件好事,但是把“sys_ticrate”设置的超过200通常不是件好事。比如你把“sys_ticrate”设成9999, 你的服务器FPS则会随着当前地图上的战况而在150到1000之间晃悠。因此把它设置的低于200,会提供一个更稳定的游戏环境。通常,服务其提供商的每台计算机都会运行多个“半条命”服务器,所以如果所有这些服务器的“sys_ticrate”很高的话,就会占用极大的CPU资源。而使得每个“半条命”服务器上的玩家都感觉不爽。(并且多半你的服务器供应商还会增加月租金)。
最后,服务器的FPS只能是某些特定的数。比如,我的服务器只能工作在85、102、128、170、256等几个FPS下,而且不会出现其它的FPS值。如果你把“sys_ticrate”设成100,你的服务器会自动选取小于100的那个工作值(上面情况下,将是85)。所以请试着在你想要的FPS上加上20到50,来设置“sys_ticrate”。
推荐值:
sys_ticrate 110-180, 取决于你服务器的质量。
美国的两大摄影作品收藏巨头宣布联手合作,正式推出世界上最大的免费进入的摄影图片库,Photomuse.org。两大巨头是罗切斯特的乔治·伊斯特曼图片库(GeorgeEastmanHouse)和纽约的国际摄影中心(InternationalCenterofPhotography)。两家的合作始于1999年。乔治·伊斯特曼图片库是世界上最古老的摄影博物馆,拥有40万图片和底片;国际摄影中心较年轻收藏较少,但在纽约脉络广泛。两者在收藏和地缘上相互合作,近年来已合办了许多有影响力的展览。新近两者的雄心再度膨胀,“欲创造世界上最大的主流免费摄影图片库”,面对所有的摄影专业人士和爱好者开放。这会让众多的摄影爱好者享受丰富的免费资源。Photomuse.org这一网站刚一开通就因为流量太大而服务器瘫痪。按照计划,到2006年春天,该站点的图片数量将达到20万份。两巨头正和众多图片版权所有者谈判,图片数量将进一步增加。更重要的是,该站点的图片将力求经典且主流,因此丝毫不缺乏大师杰作,比如阿尔弗雷德·斯蒂格里茨、维加、路易斯·海因等人的传世作品。另外,这个网站的检索方式将会非常丰富。比如,路易斯·海因的描绘一对意大利移民夫妇的摄影作品就可以通过“移民”、“意籍美国人”、“艾黎斯岛”和“城市生活”等词条查到,还可以通过该图片参加过展览的名字查到,甚至还可以通过图片材质种类和拍摄所用镜头种类搜索到。初期的很多图片将会比较小,以后将逐渐改善。现在网络上已经有很多数字化图片库,比如Corbis和GettyImages等,但是全都是商用目的,普通人无法进入。而人们已经把Photomuse与美国国会图书馆、美国大都市博物馆、美国国家摄影博物馆的数字化巨大免费收藏相提并论。现在这一网站的初期投资预算已达80万美元。不过计划还面临两大难题,第一是两家的大量图片数字化整理并录入同一个电脑系统。乔治·伊斯特曼图片库大约要数字化14万张,国际摄影中心3万张。这是一个庞大的工程;第二,要继续和太多的摄影家版权所有者谈判。其中一个负责人说:“有些版权所有者很慷慨,懂得这个计划的益处;有些则担心减少收入,犹犹豫豫。而我们所有人都在学习使用网络。”欢迎分享,转载请注明来源:夏雨云
评论列表(0条)