文章

显示子系统的优化与功能增强

将CS进行到底之:显示子系统的优化与功能增强

前言:如何优化你的显示子系统与增强显示功能,从而达到CS画面更加流畅,是很多CSER关心的话题。以下
是对CCSK论坛部分优秀关于CS优化文章一个整理编辑,希望对大家有所帮助。

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

第一部分:关于显卡驱动程序和BIOS

1.讨论一下BIOS:

目前众多的报刊杂志总是刊登一些文章,教你如何给自己的杂牌显卡刷一个名牌显卡
的BIOS,我极力反对各位CSER这样做。原因如下:

第一,刷一个名牌显卡的BIOS只不过是给自己一个安慰吧了,开机的时候可以骗骗那些不懂的菜鸟。就算
你成功了,你那杂牌显卡的做工和用料也是没法和一流大厂的产品相比的!!

第二,刷新显卡BIOS的时侯你将失去保修,并且性能不见得有所提升。请注意,决定显卡性能好坏的关键
因素是核心以及现存的频率,名牌显卡的BIOS中默认的频率不见得比你原有的BIOS的频率高。并且名牌产
品的用料也不是杂牌显卡能比的,万一名牌显卡的BIOS默认频率高出你杂牌显卡许多,那末你只会看到一
种情况:花屏。

2.讨论一下驱动程序:

大多数人总是认为越新的驱动程序,越高的版本号就越好,其实这是一个很错误的认识。最新的不见的是
最好的,也不见得是最适合你的!例如现在NVIDIA最新的驱动程序版本是43.XX但实际上NVIDIA只是更新其
中一部分的显示芯片的驱动。早年间的TNT,TNT2,Geforce2,Geforce3系列的驱动早已停止更新。NVIDIA现
在将大力气都花在了GeforceFX上。所以我建议还使用着老显卡的朋友们不要追新,请去驱动之家
(www.mydrivers.com)看看他们的评测,每一个有这历史性意义的显卡驱动程序他们都进行了评测。例如最适
合Geforce2MX的驱动是12.90版。ATI的用户也是一样,多看看评测吧,选择最适合自己的。

第二部分:决定显卡性能的关键

首先说明一点,只有在高分辨率下(例如1024*768,1280*1024)更高的显存带宽才会起到提升FPS的目的
。所以如果你使用1024*768的高分辨率还是尽可能的超频现存吧!如果你是一个使用800*600,640*480低
分辨率的CSER,在你显卡带宽够用的情况下,核心频率才是决定性能的关键。具体请参看接下来的一个讨论
《得知你的显卡带宽能够满足你在CS中所选择的分辨率的办法》。

许多朋友总是问:你用什么显卡打CS?大多数时候总是说TI4200,GF2 MX400,RADEON 9100之类的。就好
像一见面就问:你用的什么CPU?其实显示芯片是一方面,我们往往忽略了重要的--显存带宽!如果你
的GPU很好,但是现存过慢,一样不能发挥显卡的威力。大家看看现在的顶级显卡,例如Radeon 9700 PRO
为了更高的显存带宽时候了256位的现存。GeforceFX 5800 Ultra则使用了频率高达1GHZ的DDR2的现存,
虽然仍是128位,但是频率提高了,显存带宽也相应增加。ATI和NVIIDA这样做无非也只是要让显示芯片尽
量发挥他们应有的性能。举个例子来说,好比你吃包子,你十分钟能吃7个(相当于显卡核心),但是我
十分钟只给你5个(相当于显存带宽 ),纵然你的核心频率再高,仍然会受到显存太慢的制约。所以我们
硬努力提高现存的频率,也就是显存带宽。

显存带宽(单位G/秒)=显存工作频率*显存位宽/8/1000


第三部分:硬功夫超频显卡

以往总是看到各位CSER去修改config.cfg,关闭一些效果,以便提高FPS。今天我们来使用效果最显著的方法。
许多人总是使用powerstrip这个超频软件进行显卡的超频,但是这个软件在每次启动的时侯总会有6秒的等待,
很是不爽!并且下次开机时还要选择。我建议就用NVIDIA驱动里自带的超频选项,最重要的是他可以在下次
开机的时侯自己超到你所希望的频率,不用动手。有人说“哪有呀!”哈,这只不过是你还没有在注册表里
将他打开罢了。下面说一下方法:(以NVIDIA的显卡为例)
第一步:点击开始—》运行—》输入regedit
第二步:依次展开HKEY_LOCAL_MACHINE\Software\NVIDIA Corporation\Global
第三步:在Global下面新建NVTweak子键(如果有了就不用建立了)
第四步:点击NVTweak子键,在右边点击右键,新建DWORD值,命名为CoolBits(注意大小写),并将值设为
003
第五步:重起计算机
第六步:再次进入系统后你便会在显卡的标签选项里看到调整核心以及现存频率的选项,在每次调整频率后
一定要点击测试按钮,不然设置不会生效。看到一处可以打对钩的选项了吗?把他钩上,那末下次进入系统
的时候显卡自动就会按照你所设置的频率运行了。是不是很方便~?

显示功能的增强
各位在打CS的时候一定是调高亮度,而在平时也是用稍低一些的亮度吧。这样调来调去是不是很麻烦?各位
可以在显卡驱动的属性里找到color correction这一项(以NVIDIA的显卡为例),其中你会看到亮度,对比度
和灰度的三个滑杆选项,分别设置你打CS时的亮度和平时桌面上的亮度吧,别忘了另存为呀。这样以后就不用
调显示器了,直接选择便可。

第四部分:得知你的显卡带宽能够满足你在CS中所选择的分辨率的办法

朋友们的分辨率不尽相同,有640*480的,800*600的,1024*768的。请选择你的分辨率,并代入到公式中
就能够算出来你所选择的分辨率下,CS所需要的带宽。很容易的,就是初中一年级的代数。算完了这一步,在
计算一下你显卡的带宽,就能够知道你的显卡能不能满足CS的需求了CS的颜色深度和深度缓冲都是16BIT。在计
算的时侯帧率按100FPS来算,因为这才是“流畅”

1.说明如何计算你所选择的分辨率要多少带宽
显卡处理器(GPU)和显存之间的数据交换主要用于三方面:1.帧缓冲 2.深度缓冲 3.纹理
所以我们就来大概计算一下以上三方面的数据量总和,这样基本上就是CS的带宽需求了。

第一步:计算帧缓冲(单位是“MB/秒”)=分辨率*显示颜色深度*帧率/8/1024/1024
例如:800*600*16*100/8/1024/1024=91MB/秒

第二步:计算深度缓冲(单位是“MB/秒”)=分辨率*深度缓冲的值*帧率*2/8/1024/1024
例如:800*600*16*100*2/8/1024/1024=183MB/秒

第三步:纹理是在每一帧都被读取的,现在好多游戏都使用超过了10MB的纹理,我们姑且按最10MB来算。
计算公式=帧率*10MB
例如:100*10=1000MB/秒

第四步:将以上三步的计算结果相加。
例如:小猪我的分辨率是800*600,相加之后就是1274MB。

第五步:将第四步的结果乘以2或者3,这就是最后的结果!这便是800*600分辨率要达到100FPS时所需要的显卡带宽。
例如:1274*3=3822MB=3.7GB
在3D场景中大部分的图形处理器对被遮挡的部分也进行了处理,对于那些看不见的部分进行渲染将耗用大量的带宽。
通常是以上值的2-3倍,这便是最后的结果。注:意法电子出品的KYRO和KYRO2显示芯片具有“隠面消除”的功能,
不会渲染被遮挡的部分,所以可以不进行第五步的计算

2.计算你显卡的显存带宽
显存带宽(单位G/秒)=显存工作频率*显存位宽/8/1000
例如:小猪的显卡是耕升Geforce4 MX460 64MB 韩国三星BGA封装DDR 3.6NS的显存。
显存带宽=550*128/1/1000=8.8G/秒
特别说明一下:
(1).关于显存工作频率:
计算公式=1/显存速度(也就是显存的倒数)
例如:是6NS的显存,那末速度就是1/6=166MHZ
如果你是DDR的显存就因该按DDR的频率计算。也就是乘以2之后再计算。
例如4NS的DDR显存,按照SDRAM的速度就是250MHZ,但是按照DDR的速度就是500MHZ。当然,如果你是SDRAM的显存
还是要按照SDRAM的速度来计算。
(2).关于显存位宽:现在市场上有一些低端的显卡为了节省成本使用的是64BIT的显存,而非128BIT的。这样显存
的带宽就大打折扣了。
SDRAM-128BIT的显存两边相加因该是54个针脚
SDRAM-64BIT的显存两边相加因该是27个针脚
DDR的显存两边相加因该是66个针脚
当然你也可以用测试软件看出来,很容易的。