搜索
楼主: larnk

【求助】很奇怪的问题,关于choke

[复制链接]
发表于 2005-5-30 19:27:31 | 显示全部楼层 来自 中国–贵州–贵阳
我的服务器建了两个CS服务器来作网上训练。通过1个服务端程序建立2个不同端口的快捷方式来实现。
1#服务器的参数:
-game cstrike +map de_dust2 +maxplayers 16 +servercfgfile 27016.cfg -port 27016 -pingboost 3 -nomaster -insecure +sv_lan 1

2#服务器的参数:
-game cstrike +map de_dust2 +maxplayers 16 +servercfgfile 27017.cfg -port 27017 -pingboost 3 -nomaster -insecure +sv_lan 1

注:-pingboost 3为Linux 系统下的CPU加速,设置为3代表高速。

服务器配置:
基本资料
  产品型号  PowerEdge2600(XEON 2.4G)
  产品类型  塔式服务器
处理器
  采用处理器  INTEL XEON
  标配处理器数目  标配2个个
  最大支持处理器数目  最大2个个
内存
  内存类型  ECC DDR-R
  标配内存容量  2048MM
  最大支持内存容量  12GG
存储
  磁盘控制器  双通道U320
  标配硬盘容量  4*36GG(我设置成了RAID5磁阵方式)
  光驱  24X
  软驱  1.44M

操作系统:Linux FC3

HLDS版本:
Linux Dedicated
Protocol version 47
Exe version 1.1.2.5/Stdio (cstrike)
Exe build: 21:35:06 Jul 7 2004 (2738)

网络配置:
1000M光纤到电信局数据机房主干ATM交换机,100M到CS服务器。
回复

使用道具 举报

发表于 2005-5-30 19:43:10 | 显示全部楼层 来自 中国–贵州–贵阳
在参照CPL比赛服务器的config文件和本人亲自与战队的朋友试验后,最佳的参数设置如下:
// “sv_maxrate 0” 会自动监测所有玩家的连接速度,并满足每个人的要求。为防止系统过载,应设置为20000左右。
sv_maxrate 25000
sv_minrate 2500

// 每秒钟服务器端允许客户端接收的最大数据包数量。1.6中sv_maxupdaterate默认是30
sv_maxupdaterate 101

// 设定你服务器的最大FPS。其值应该等于服务器一般状态下的fps值+20。
sys_ticrate 10000

// 客户端最大移动速度
sv_maxspeed 320

这样的设置用起比较理想,基本上玩家没有choke,当然,你要是把客户端的cl_cmdrate和cl_updaterate设得比101高的从而产生choke的话,你就不要再找我,上面已经解释得比较清楚了。下面将给出客户端的最佳设置。
回复

使用道具 举报

发表于 2005-5-30 21:00:24 | 显示全部楼层 来自 中国–贵州–贵阳
如何最佳设置最佳CS1.6的客户端网络参数:
  当我们进入一个没有OP权限的服务器时,根本就不知道服务器的sv_maxupdaterate值是多少,也就没有依据来设置客户端的cl_cmdrate和cl_updaterate值,如果服务器的sv_maxupdaterate值是50,而你的cl_cmdrate和cl_updaterate值设置成101的话,就会有choke产生。这时的解决办法是在控制台输入“net_graph 3”命令来查看是否有choke产生,如果有的话逐渐降低cl_cmdrate和cl_updaterate值,直到没有choke产生为止。
  补充一下,由于同一服务器在不同人数的时候需要设定的updaterate值是不一样的(如果网络带宽足够用的话,这种情况也不会发生),假如你知道服务器的ax_updaterate值是101,建议你把cl_cmdrate和cl_updaterate值都设成比101低一点。我发现esai的版本的默认值是80,DOCO版的是101,大家可根据实际情况进行设置。
  但让我比较郁闷的是当我把客户端(我用的ESAI2834版本)的网络参数按照我引用文章中的建议值设置成如下后:
rate 20000         默认值为空
sv_maxrate 20000   默认值 0
cl_cmdrate 101    默认值 80
cl_updaterate 101  默认值 80
ex_interp 0                 默认值  0.1
sys_ticrate 100          取默认值  100
fps_max 101              取 默认值 101
进入到我自己的服务器后,发现有重影现象,图像一点都不舒服,枪法一下降了50%之多(服务器参数一直设置的是:sv_maxrate 25000 、sv_minrate 2500、sv_maxupdaterate 101、sys_ticrate 10000、sv_maxspeed 320),而我的客户端机器是绝对没有问题的(用的是A643000+的CPU、Inno3D 6800GT(256M/500MHz/1000MHz)、1G金士顿DDR400内存),后来我重新安装一遍客户端后,问题解决。初步估计引起此问题的原因大概是与rate和sv_maxrate参数有关,由于不知道怎么把rate参数还原成默认值(为空),所以只好重新安装客户端,为了保险起见,之后用的全是ESAI版本的默认值(rate 为空、sv_maxrate 0、cl_cmdrate 80、cl_updaterate 80、ex_interp 0.1、sys_ticrate 100 、fps_max 101)。我准备过两天自己提取最新的.gcf来制作一个纯净版的客户端后,再试验一下。如果有高手对这方面比较了解,还望指点一二。同时也希望和广大玩家共交流和试验。本人QQ:1266575,验证消息请注明DT。
  下面再把说说游戏画面刷新率和垂直同步方面的图象知识。
回复

使用道具 举报

发表于 2005-5-30 21:02:41 | 显示全部楼层 来自 中国–贵州–贵阳
  先把我收藏的2遍文章拿出来给大家看一下:
  1、游戏画面刷新率
许多游戏玩家都遭遇过游戏画面刷新率过低的问题。大家都知道,Windows桌面的刷新率通常是85Hz,至少75Hz,这样的刷新率才能产生不会出现闪烁的显示画面。但在游戏和一些大型3D软件中,会将刷新率降回60Hz,这将带来严重的画面闪烁和抖动,使用时间长了必定头昏眼花。

     ATi的显卡则得升级到催化剂3.6版才有类似的选项,叫做“DirectX覆盖刷新速率”,将其设定为“与桌面相同”,即可解决游戏画面刷新率过低的问题。

     在NVIDIA的显卡中一直有一项“垂直同步”的选项,通常是默认打开的。设置“垂直同步”之后,许多玩家面临一个问题,就是性能降低,譬如在CS之类的游戏中,帧速率无法超过60fps,严重影响竞技水平的发挥。这种现象对测试人员而言是常识,在测试中必须关闭“垂直同步”才不会限制显卡性能的发挥,但是关闭对游戏画面有很大的影响,是以损失画质为代价。

     如何做到既保证性能,又保证舒适?问题的根源是Windows默认的游戏刷新率是60Hz。简单的解决办法是修改注册表。
先在 开始菜单 运行 里面 输 regedit 然后确定 进入注册表:


在注册表中找到路径:“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class”


点注册表编辑里面的查找 搜寻“Monitor”键值。找到后,会发现该分支下应该有类似“0000\MODES\XXX,XXX”的键,XXX,XXX这就是该电脑的最大分辨率:

右击“MODES”新建一个项:

如果你电脑是1024X768,名称就输1024,768。如果是800X600,名称就输800X600
当然你也可以建多个分辨率的名称:

右边的窗口右击新建一个字符串值:

名称输入“Mode1”:

双击“Mode1”,数值设为“85-85,85-85” 当然你也可以设为“100-100,100-100” 前提是你的显示器刷新率支持100HZ的,不要太高哦,85就是标准的了!

就是这样了,关闭注册表并重启电脑,检查显示器设置,如果发现刷新率已经改为设定的值85Hz,就说明修改成功了,进CS,画面稳定,不闪烁,也达到了85HZ,最重要的是帧速率基本稳定在85fps(注册表数值设100的话,CS里画面刷新率就达到了100HZ,帧速率可以稳定在100fps)如果你的电脑性能不行,那是先天不足,可能会有误差:

补上
98系统不太一样
98系统通过编辑注册表来手工输入显示器刷新频率:选择HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\Display\0000\Default,双击RefreshRate即可输入刷新频率值;值为-1表示自动设定,也可输入一个有效的刷新率值(如85, 前提输入的频率值被你的显示器或显示卡所持)

声明:这篇文章是我在网上看到的,属于转载.
回复

使用道具 举报

发表于 2005-5-30 21:04:26 | 显示全部楼层 来自 中国–贵州–贵阳
2、垂直同步
看了很多关于垂直同步的帖子,都是告诉大家关掉它,因为某种程度降低了游戏FPS,尤其是XP/2000系统,这种说法并不完全正确,或者说只适合用在一小部分配置落后的电脑上。以今天PC市场的白热化竞争,价格以百位数下滑,加上我们生活水平的不断提高,网吧投资的加大,使我们身边可以接触到的电脑配置普遍都很高,足以满足CS这种游戏的需要。加以正当设置,打开垂直同步不但不会使游戏变慢,反而会让游戏画面变得更加流畅。适用于CRT显示器。

一,基础知识

由于时间关系,笔者将不在这里为大家讲解各个部分以及专业名词的具体工作原理和相关解释。如有兴趣,请阅览相关文章。只用适当简略字面形式让大家有个大概的认识。如有比喻不恰当处,请大家谅解,毕竟需要对应不同知识面的读者。

显示器
显示器是电脑中最重要也是密不可分的信息输出设备,少了它,一切将变得不可能。所以正确的调试显示器就变得尤为重要,因为它直接关系到我们所看到的画面质量。

显卡
游戏中表现出来的丰富多彩的画面,就是通过显卡得到的。显卡运算能力越强,所提供给我们画面的复杂程度就越高,也就更生动,更逼真。

还有几大硬件对游戏速度与质量也起着关键性的作用。有 CPU;内存;硬盘... 如果大家有兴趣,可以去太平洋或是PCPOP看看相关文章,这里不给大家一一介绍了。

FPS,英文 Frame Per Second 的缩写。基本可以理解成每秒的画面数量 单位为(帧)
主要影响FPS的几大因素:
1,电脑速度,包括CPU,内存,显卡
2,游戏运行的分辨率
3,画面细节质量设定的高低,还有同时有多少个细节被表现出来。比如子弹,人物和物品模型,以及动画效果等等。

FPS,电脑速度越快,FPS就越高。画面的复杂程度会导致FPS的减少。所以一些机器在没什么图像变化的时候FPS就很高,但画面中人物一多的时候FPS就会减少了。

Counter Strike(1.5) 这个游戏的FPS上限是100,不会多,只会少。可以接受的FPS范围在60或更多,少于30游戏画面将会变的很钝,画面质量将得不到保障。你可能会想,我的机器配置高,那好,把fps_max改成100就好了,这可能是个好注意,但这并不是解决问题的关键,因为还有一个决定你可以得到多少FPS的重要因素,那就是你的显示器,也是我今天要给大家讲的重点之一。

显示器同样有个与FPS意思差不多的参数,叫做 Vertical refresh rate,垂直刷新率(以Hz为单位 Tip:对于长时间工作在电脑前的人来说,高刷新率对减轻眼睛疲劳可是有帮助的哦!^_^ 一般在85hz 肉眼就已经感觉不出屏幕的闪烁了)。刷新率可以达到多少,关键在分辨率的高低和带宽的大小。带宽越高,分辨率越高。分辨率越高,刷新率就越低。举个例子:显示器分辨率在1024X768,(以现在市面上出售的任何一台17寸 CRT显示器为例,由于2000/XP系统在D3D 和 OPENGL 游戏下自动将显示器刷新率降低到60Hz,所以这里我用60Hz给大家讲解以下内容)刷新率最高可以到60Hz,CS运行在99 FPS,这会引起一个问题,更多的CS画面需要被显示,但显示器却只能显示其中的一部分,某种意义上制造了一种画面破损效应。导致的原因是你的游戏FPS于显示器刷新率不同步。解决办法当然就是将它们同步了。这里我们就会用到大家并不熟悉的“垂直同步”功能了,即使你的FPS设置在99,但因为刷新率在60,所以同步后你将得到60FPS,但画面破损的问题被解决了,通常情况下,打开垂直同步以后,游戏画面会更流畅一些。
这也就是大家在打开垂直同步以后为什么FPS没法提高的关键原因所在。因为你的显示器刷新率比你游戏FPS低。解决办法请继续关注下文...

或者你会说,我的显示器很垃圾(#-_-),又想要高FPS!你需要做的就是关掉垂直同步,不必去理会什么破损。但是,仔细想想,CS运行在99FPS,但显示器却只能显示60,其中的30帧没了,(跑哪里去了啊?你问我,我问谁啊?#-_-)在那30帧中可能就包含着你在CS中,敌人从拐角出来的画面,因此他先发现了你。如果幸运的话,其中的30帧被正确显示出来你将先看到他。所以,我认为打开垂直同步是一个明智的选择。因为以今天的显示器制造技术,100Hz的刷新率真是鸡毛蒜皮点问题。

这里,以一款带宽在110MHz的17寸CRT显示器为例,介绍CS在三种主流分辨率下可以达到的最高刷新率
1,分辨率1024x768 最高刷新率85Hz
2,分辨率800x600  最高刷新率100Hz
3,分辨率640x480  最高刷新率120Hz
这三种分辨率,只有2和3的刷新率达到了100Hz,也就是说,只有让CS工作在这两种分辨率下才满足打开垂直同步仍然保证最高99FPS的条件。如果显示器够强,在1024x768下可以达到100Hz,也是完全可以用来玩CS并打开垂直同步的。前提是刷新率满足>=100Hz

可能有些显示器满足或超出我说的规格,但无论怎么改分辨率最高都只能达到85Hz 或 75Hz。这时问题出在没有正确的安装显示器驱动上,导致系统设成默认的“既插即用监视器”使高端显示器的性能得不到发挥。这点也是各大网吧以及一些电脑行家都经常忽视的。

下面我们将遇到一个比较烦琐的问题。
98/ME,无论你的桌面分辨率设置在多少,只要将刷新率设置成“优化”,系统在改变分辨率以后,会自动调到其显示器所支持的最高刷新率。

2000/XP,不像98/XP那么体贴大家,刷新率会尝试保持在一种设置下。但因为低分辨率比高分辨率可以达到更高的刷新率,所以当由低分辨率高刷新率提高到高分辨率下, 刷新率会自动改变到其所在分辨率下所支持的最高刷新率。如果在1024x768下设成85Hz,当降低分辨率到640x480时,刷新率仍然会在85Hz,而不是640x480支持的最高刷新率120Hz。反过来,如果在640x480下设成120Hz,当提高分辨率到1024x768,刷新率将自动降低到所在分辨率下支持的最高刷新率85Hz.(这么多率,看多了是不是有点迷糊? 哈哈) 简单的说,分辨率由高向低,刷新率不变。由低向高,刷新率会自动降低到所在分辨率下的最高刷新率。

解决2000/XP下D3D 与 OPENGL游戏,显示器自动降到60Hz的办法,我们可以通过像PowerStrip;Nvidia refresh rate fix 这样的软件或是通过改注册表来做到锁住每一个分辨率所对应的最高刷新率。什么? 还要装什么软件啊? 哪里有啊? 在哪下啊? 下完怎么用啊? 啥叫注册表啊?这样一来只会给大家带来麻烦,我也得花更多的时间来讲解。但GOOD NEWS, N卡的朋友有福了,NVidia 最新出的显卡驱动上集成了这一功能,大大方便了我们2000/XP用户,不需要被那些软件或注册表搞的一塌糊涂。


二,设置步骤

1,安装显示器驱动,因为很多人都不装显示器驱动而用WINDOWS默认的"即插即用监视器"驱动,如果你是高带宽的显示器,将发挥不出高刷新率的特点。

问:驱动盘找不到或根本没有怎么办? 答:请到本文最后备注一栏



2,安装最新的显卡驱动,因为最新驱动多少都弥补了先前驱动中的不足(也有相反的时候),这里给大家推荐版本为 61.76 whql。(电脑行家可以根据实际情况选择合适的驱动版本,但对普通用户来说,这款驱动可以支持几乎所有NVIDIA的主流显卡,所以建议使用)重新启动。

问:没有此驱动怎么办。答:请到本文最后备注一栏

3,98/ME 将刷新率设成优化即可。跳过步骤4,5。

4,2000/XP 检查显示属性在 640x480;800x600;1024x768三种分辨率下对应的最高刷新率。注意:每选择一种分辨率以后都要记得点一下应用。将“隐藏该监视器不支持刷新率”前面打勾,我们不需要不支持的刷新率。之后,记住三种分辨率下这里显示的最高刷新率数字,一会我们将要用到它。




5,这里所要设置的是将我们上面谈到的锁住三种分辨率对应的最高刷新率。将下面640X480;800X600;1024X768 后面的默认改成你显示器在这三种分辨率下所支持的最高刷新率。就是步骤2中我让大家在不同分辨率下记住的那三个最大数字。(!!!注意!!!是三种分辨率下监视器刷新率所显示的最高数字,而不是这里所显示的最高数字,如果误设,将带来很多麻烦)如正确设置,XP/2000以后无论在任何游戏下,三种分辨率将自动改成这里设置的刷新率。


6,这款驱动还为我们提供了一个方便的功能, 可以根据情况为每一个游戏建立一个显卡设置文件,减少了一些游戏需要根据不同情况对显卡进行不同设置的麻烦。如果大家觉得这里麻烦,可以直接在右面驱动程序全局设置下面,打开垂直同步。如果在全局设置下已经打开了垂直同步,所有游戏的FPS将都被同步于显示器刷新率上。如果不想这样,请仔细阅读步骤7

7,为CS建立单独的显卡设置文件。在显卡设置左面板中的“性能和质量设置”右面点添加,配置文件下面是这个文件你想用的名字。既然是给CS,那就直接打上CS好了,然后选择下面的浏览,找到CS运行文件cstrike.exe,然后点确认。OK,为CS设置的单独配置文件我们就做好了。设置无误的话,你将在“应用程序设置文件”下找到CS。“用于CS的设置”下面,4个默认的选项前面都选上,把“系统性能”设置为性能。“垂直同步”选择为开。







终于都设置好了,可以看看CS效果了。 记住,需要把CS的分辨率设置成刷新率可以达到100Hz或更高的分辨率下运行。

Counter Strike 1.6
在打开开发者模式后 developer 1, 1.6的FPS是可以超过100的。但大家回头想想我刚才讲的,只有显示器允许的条件下,更多的FPS才会被显示出来。通常在640x480这个分辨率下可以达到高于100Hz的刷新率,如果你用640x480来玩1.6,完全可以把FPS设成与刷新率相同的数字。设置高于刷新率的FPS是没有实际意义的, 那只能证明你的机器有多强劲。

三,备注
------------------------------------------------
显示器,显卡驱动网址在 www.mydrivers.com
部分显示器驱动请访问制造商官方网站。

NVIDIA系列芯片显卡ForceWare驱动61.76 WHQL官方正式多语言版
For Win9x/ME(2004年7月21日发布)
http://www.mydrivers.com/dir95/d38096.htm

For Win2000/XP(2004年7月21日发布)
http://www.mydrivers.com/dir95/d38094.htm

ATI 系列显卡2000/XP 60HZ 刷新率问题,解决软件
http://file.mydrivers.com/tools/display/re...reshfix0997.zip

垂直同步的详细解释
http://www.yesky.com/Gameall/7319119485475...1/1776316.shtml

关于显示器以及工作原理和相关名词解释
http://article.pchome.net/2003/06/25/10422.htm
http://hard.zol.com.cn/diy/2002/0808/45656.shtml
http://news.tenglong.net/dnkt/yldiy_view_40.html
http://61.166.33.174/soft/jiqiao/list.asp?id=202
http://www.chzy.com/keji/computernet/dnzt/...nshiqdgzyl.html

无显示器驱动解决方案

通常CRT显示器在不同分辨率下可以达到的最高刷新率是不一样的。因为不正确的显示器驱动程序导致提供了不正确的刷新率。如果系统是XP/2000的话,可以试着在把桌面分辨率降低到800或640下,然后去掉“隐藏该显示器无法显示模式”前面的勾,选择高点的刷新率,应用之后看看是否可以正常工作,直到超出显示器刷新率范围,之前的刷新率也就是你的显示器在当前分辨率下可以达到的最高刷新率了。如果超出显示器的正常刷新率范围,显示器将处于黑屏状态,系统会在15秒后或者是通过用户按ESC即可回到更改之前状态。注意:这个方法只适用于没有显示器驱动的情况下。

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

总结:

因为真正控制有多少FPS被显示出来的是你的显示器,最初大家对显示器刷新率的不了解和单一的关闭垂直同步,使游戏提供了100的FPS,但显示器仍然工作在低刷新率下,使问题没有得到真正的解决。

如果大家具备一台可以工作在100Hz的显示器,机器又可以将CS跑到99FPS,就请打开你的垂直同步,无须继续糊弄自己的眼睛,告别 FPS 缺斤少两的日子。


2004/9/8


作者:26zM.wD|-BurningICE
回复

使用道具 举报

发表于 2005-5-30 21:06:07 | 显示全部楼层 来自 中国–贵州–贵阳
上面的2篇文章粘贴进来时,没有把配图给粘贴上来,若需要的话可找我索取。
回复

使用道具 举报

发表于 2005-5-30 21:33:22 | 显示全部楼层 来自 中国–贵州–贵阳
在这里告诉大家一个比较重要的内容:
  由于网吧电脑和部分朋友家电脑的显卡配置都是NV5700和ATI9550之类,即使用800*600@32色&100HZ的刷新率的设置,不打开垂直同步,图象也会比较晃,这时建议你设置成800*600@8色&120HZ的刷新率,打开垂直同步,此时你会发现和别人用6800显卡的没什么区别(当然颜色的鲜艳上还是有区别的,毕竟才8位色),那个图象的舒服劲别提有多好了,这可是和我组队的原先打职业的队友告诉我的,相信大部分玩了一两年CS的朋友都还不知道,知道得早的人也请别笑我肤浅,我也是为了不知道的朋友好。
  占用了斑竹这么多自留地,也是为了给我们国内的CSer一个最好的练习环境,早日达到国外选手水平,因为目前国内的好多OP根本就不了解服务器的参数设置,从而设置了错误的服务器参数来作训练,然后到打正规大型比赛时,不适应比赛服务器的参数,导致水平的发挥失常。在网上可以说这方面的文章比较多,但大都比较专业和杂乱,所以我通过自己的实际应用把它平民化,让大容易上手一点。在这方面我还是个新手,写的东西非常不专业,如果有错误的的地方请前辈们指出来,我是菜鸟不要紧,可千万别误导了后来的新人。
  好了,费话到此为止,工作报告还没写咧,明天可要被罚200元。:P。希望大家多在QQ上和我交流,共同进步。帖子排版比较乱,如果版主觉得可以顶的话,我会重新整理。
回复

使用道具 举报

发表于 2005-5-30 23:26:24 | 显示全部楼层 来自 中国–北京–北京–海淀区
8位色玩CS !?强!真可谓独树一帜!平时都是16位玩CS

我去试试!
回复

使用道具 举报

发表于 2005-5-30 23:28:22 | 显示全部楼层 来自 中国–北京–北京–海淀区
晕了

我的显卡设置里只有16位和32位,没有8位...

用的ATI 9550....
回复

使用道具 举报

发表于 2005-5-31 11:20:32 | 显示全部楼层 来自 中国–贵州–贵阳
Post by BoeZombie
晕了 我的显卡设置里只有16位和32位,没有8位... 用的ATI 9550....

在适配器中有一项“列出所有模式”,在这儿进行选择就行了。
回复

使用道具 举报

游客
回复
您需要登录后才可以回帖 登录 | 注个册吧

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