注册 | 登录

游侠NETSHOW论坛





查看: 48756|回复: 136
打印 上一主题 下一主题

[讨论] 意外发现!导致CoD5在中端N卡上运行不畅的一个重要原因 [复制链接]

帖子
124
精华
0
积分
72
金钱
200
荣誉
1
人气
0
评议
0
跳转到指定楼层
楼主
发表于 2008-12-21 07:39:22 |只看该作者 |倒序浏览
毋庸置疑,本人电脑的配置应该属于中偏低端:

3.06G Northwood CPU; 1G pc2700 内存; Geforce 7600GS AGP 显卡

  前不久下载了使命召唤5 3.3G的破解硬盘版,安装后运行发现卡得无法玩,甚至去撒了泡尿回来连画面都还没出现,就只能听见里面的对话。经反复试验了NVIDIA各种版本的显卡驱动和使用了网上能查到的cod5的各种优化补丁,电脑和游戏的相关设置也都设成了最低,即使画面都已经极为垃圾了,但运行中“卡”的情形依旧严重,气得我三字经都不知复诵过了多少遍!! 本人就实在想不通,运行COD1直到4都挺流畅的我这台老机,怎么碰上了老5就那么伺候不了了呢!?这中间应该有如此大的跨越吗?事实上本人发现,在我的老机上如果禁用虚拟内存,运行老2和老4时还时常会有报虚拟内存不够的情况。可是运行老5,经测试,始终都能保持130mb左右的内存富裕,因此完全可以禁用虚拟内存。既然比前期版本省油,那怎么运行起来就那么卡呢?

  然后自然想到了显卡超频,可是大家知道,自从三位数版本的NVIDIA驱动以后,采用了新式而华丽的显卡设置控制面板,即使用显现超频选项的补丁仍然不能显示超频选项。因此去网上搜索了一个“nvidia传统菜单注册表文件”和“nvidia超频菜单补丁”,这两个都是注册表设置文件。点击它们写入注册表后,传统显卡控制面板重现了,当然超频选项也出来了。可是超频后情况改善得并不多,照样卡得很。看来,似乎除了破费银子再买一个高端显卡来对付cod5已别无其它出路了.........?

  失望之际,高诵三字经将游戏删除了。在出门带儿子去动物园看了趟熊猫BB回来后,心气平静了不少,再安装一次游戏试试看?结果,这时奇迹出现了...!!此时游戏运行起来居然再也不卡了!甚至长时间运行之后比之运行COD4时的显卡温度还要低些。后来试着将游戏中的各种效果逐一从“no"改为”yes"。除了打开4x抗锯齿选项时帧数差些外,其它都没有明显影响运行速度。机枪都能打得嘎嘎的顺畅。

  本人分析这种现象的原因,认为很可能是因为三位数的N卡驱动中的新式显示控制面板的编程文件在作怪!!使用“nvidia传统菜单注册表文件”后这种控制面板实际上被屏蔽掉了,结果游戏运行的黑屏。巨卡的现象消失了。但必须是先屏蔽掉控制面板然后再安装游戏才行。因此估计是控制面板文件与cod5游戏文件不相容(在Geforce7字头的显卡条件下)而引起的游戏运行不畅的问题的。

  建议凡是持有中低端显卡、说cod5游戏卡的朋友,可以按照我上述的方法试试看。

       忘了,说明一下:我使用的驱动是178.24版本的N卡驱动。

      BTW: 文中所述的两个补丁安放在4楼了!

***************************************************************************************************

  最新发现狗皮膏1号1.1.2009

  采用我在4楼中的“传统菜单注册文件”屏蔽显卡驱动控制面板以提升游戏运行效能,其关键在第一次实施。实施了屏蔽后,只要运行一次游戏,相关的设置参数就会自动写入到游戏的config.cfg文件中。

  对于COD5来说,config.cfg文件位于如下路径:
C:\Documents and Settings\Administrator\Local Settings\Application Data\Activision\CoDWaW\players\profiles\$$$

  对于COD2和COD4,则位于游戏安装分区中的相应用户文档的文件夹下。例如在我的机器上,
COD2config.cfg文件路径是:E:\Call of Duty 2\main\players\dong;
COD4config.cfg文件路径是:E:\Call of Duty 4 - Modern Warfare\players\profiles\dong。

  显然,COD5的config.cfg文件的存档路径与老2和老4都不相同。当你卸载COD5时,这个存档并不会被删除,除非你手动删除。而老2和老4中的config.cfg显然是会随着游戏的删除而删除掉的。这是它们之间最大的不同。

  对于游戏而言,这个config.cfg文件十分的关键,它不仅决定了你游戏进度的存档,更重要的是它决定了游戏的具体参数设置以及游戏的运行模式和效果!只要这个config.cfg文件保持不变,那么随后无论你怎样安装、卸载显卡驱动或是不同版本的DirectX运行库,游戏的运行性能都不会发生天差地别的变化。这是config.cfg文件的一个十分神奇的作用。因此一些反映COD5卡的玩友,虽经多次尝试各种版本的显卡驱动、甚至多次卸载、重装游戏仍然无法使得COD5的运行顺畅起来,原因就是你的config.cfg文件仍然保持着原来“很卡”的那个状态并未因为你的装、卸载和更换驱动而发生重大改变。

  当我们了解此特点后,问题就简单了。当装上了合适你显卡的驱动和最新的DirectX后,采用四楼中的“传统菜单注册表文件”屏蔽显卡显示控制面板。卸载游戏连带手工删除位于系统盘中的Activision文件夹中的config.cfg文件(路径如上述)。然后再重新安装游戏。此时只要运行一次游戏,并将你希望的设置项设置好,发现效果满意并运行退出出游戏后,这个config.cfg文件就是一个已经“优化”完成了的文件了。建议你将它另外保存起来,以后更换了驱动或是重新安装了游戏后只要将其覆盖到原路径中就一切搞定了,无须再去昏天黑地又去忙活重新设置一番了。对于COD2和COD4间或其它什么游戏均可采用此办法处置。

  COD5的情况与它的两位兄弟不同,正如我上面叙述的理由,卸载游戏,它的config.cfg文件并不会被自动卸载甚至改变(除非此时你使用了垃圾清理软件清除了系统垃圾和注册表垃圾有可能将其清除掉)。猜测可能由于游戏本身的编程特点,会尽量维持住对最新显卡驱动的适应,结果反而使得新式控制面板中会拖累显卡效能的设置参数顽固地无法从它中间消除掉。因此安装COD5需要在一个“没有新式控制面板”的状态下来安装,这可能就是我发觉的“必须先屏蔽显示控制面板,再安装游戏”的原因吧。同样,经过一次设置、运行即“优化”后的COD5的config.cfg文件最好也是备份保存起来。

  基于尚未明了的原因,4楼中的那个“传统菜单注册表文件”确实可以提高显卡的工作效能。大家知道,虽然可以达到显现传统菜单目的补丁文件和软件绝非只此一个,别的是否也有如此“优化”功能,我没有作对比测试,无法妄下定论。但这个文件具有如此功能却是得到了一定的印证的。

  为了证实本狗皮膏前部分关于config.cfg文件作用的认识和该注册表文件的优化作用会因config.cfg文件的保留特性而在游戏中维持下来。我做了如下测试。

  我卸载了原来证实“唯一好用”的178.24版驱动,在不卸载游戏的情况下,安装了原来已经证实了对COD5是“不够好用”的老旧的94.24.2版N卡驱动,此时不再另行导入4楼那个注册表文件而直接运行游戏。结果正如本膏药前面的叙述,优化效果不但能够得以维持住,甚至性能还有小幅的提升(帧频能提高3-8帧)。该老版驱动现在居然也完全能够胜任矫情的COD5了!能有小幅提升的原因可能是因为这款老驱动本身比之178.24要“轻便”些,哈。而我个人偏好采用二字头的驱动还有一个原因,就是只有这种驱动才能支持一些低级的游戏,如“麻将旗舰版”。在三字头的驱动下,这种游戏是打不开的。这样一来,一个小小的注册表文件,非但提高了我这台老机器的活力,还扩大了它牙口的适应范围,真是开心得很呢!

*************************************************************************************************

狗皮膏2号聊聊运行COD5为何会“卡”

  运行一个游戏基本上是个三位一体的问题,即应用程序(游戏)、显卡驱动、API库(DirectX)之间是否和谐的问题。从Win98以后,系统内核和硬件之间具有了一层抽象层,不允许直接操作硬件了。为了仍能最大地发挥硬件功能,微软开发了相应的API包,这里我们感兴趣的就是DirectX。基于它而编程的游戏就可以顺利地通过抽象阻挡层而直接驱动硬件,如显卡。当前的N卡驱动都是依据这个API包来编程的。因此显然,如果你的显卡驱动与你的DirectX不匹配,那么那个抽象层就无法完全被突破。这时,全部或部分的3D加速的工作就不能全部由显卡GPU来承担,而是由你机器的CPU来执行。这种情况就是我们有时会碰到的“硬件加速不可用,只能软件加速”。可想而知,只有软件加速,程序运行起来能不卡吗?我们平时最常见到这种情况的事例就是,当还没有没有安装显卡驱动时,画面是不是很卡啊,甚至连鼠标的移动都慢得可以。这种情况就是位于抽象层以内的软加速的典型情况。

  游戏的编程决定了需要被调动的显卡驱动文件,DirectX的版本又决定了显卡能否被游戏程序完全直接操作。只要有一个环节不对,游戏起来必定会“很卡”。由于显卡驱动的编程都是依据DirectX来进行的,在新版本的DirectX还没有出来之前,显卡驱动编程员都会预测新的API类型并以此来编制他的新驱动。当真的DirectX上市后,这款显示驱动是否真的合适当然就不一定的了。因此,选用显卡驱动应该是尽可能选用DirectX版本日期以后的版本。经微软认证了的版本这个要求就是被保证了的。

  游戏对系统提出的要求是否能获得显卡驱动以及DirectX的顺利支撑,除了上面讲的显驱与DirectX的相容性外,就是游戏程序本身与其它二位是否和谐。在COD5这个具体的特例下,不知是因为它采用了哪一种文件格式结果可能引起对显驱中某些文件的错误启用,结果出现了“很卡”的情况。我们知道,N卡的新式显示控制面板并不是刚出现的新事物,而是已经存续了相当时间的老东西了。这种控制面板的特点之一就是它具有一个3D动画的参数调节功能。也就是说,这个功能的实现也是基于一种3D设计API的。只是必须注意这部分API是个老东西了。我们没有理由认为,N卡驱动编程员在每每编制新的驱动时会专门对其中的3D动画部分也作出调整,直接套用旧有规范是最可能的情况。如果由于COD5的特定编程,造成了游戏中会自动调用显驱中这部分老3D的文件来当做其运行依据的话,由于现在新版的DirectX早已摈弃了这种格式,结果造成显卡工作时无法顺利与新版本的DirectX通讯,就会出现只能软加速而无法硬件加速的情况。从而表现出黑屏、进入游戏慢和很卡的情况。

  采用了“传统菜单注册表文件”屏蔽了显驱的显示控制面板后,原来系统中默认的文件调动顺序就发生了变化了,那个3D调节部分的文件就不再是首选被调用的了。这样一来,当COD5提出画面要求时,这个已经被DirectX遗弃了的弃儿就不会出来充大头了,因此游戏、显驱、DirectX三者也就和谐了。

  以上纯属个人根据现象和实际的效果产生的分析,大家可以看看想想。至于为何要在未安装COD5游戏之前就屏蔽掉那个控制面板,我的理解是COD5在首次运行时自动调用那个老3D,并会将这种调用的情况保存下来,因此必须在还没有装COD5之前就将其屏蔽掉。当然,绝不排除,在一些机器上,由于某种"运气"的原因,COD5一开始调动的就是正确的文件,而不会去惹那个劳什子,那么当然就根本不会出现这种毛病了。

[ 本帖最后由 haodong969 于 2009-1-4 01:47 编辑 ]
已有 1 人评分金钱 收起 理由
BF1942 + 15 + 1 助人为乐,品格高尚!

总评分: 金钱 + 15  + 1   查看全部评分

使用道具 举报

帖子
367
精华
0
积分
184
金钱
1756
荣誉
0
人气
0
评议
0
沙发
发表于 2008-12-21 10:10:06 |只看该作者
我去试试吧,LZ能不能把补丁发出来?

使用道具 举报

帖子
124
精华
0
积分
72
金钱
200
荣誉
1
人气
0
评议
0
板凳
发表于 2008-12-21 10:27:05 |只看该作者
当时找得七荤八素的,昏了头,早就忘了其下载网址了。不过你可以按我引号内的名称去股沟一下,定能找到的。

使用道具 举报

帖子
124
精华
0
积分
72
金钱
200
荣誉
1
人气
0
评议
0
地板
发表于 2008-12-21 10:35:41 |只看该作者
两个注册表文件下载链接:

nvidia传统菜单注册表文件:
http://benyouhui.it168.com/attachment.php?aid=323033

nvidia超频菜单补丁:
http://benyouhui.it168.com/attachment.php?aid=323032

[ 本帖最后由 haodong969 于 2009-1-24 16:53 编辑 ]
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

使用道具 举报

帖子
776
精华
0
积分
389
金钱
1023
荣誉
0
人气
0
评议
0
5#
发表于 2008-12-24 15:16:38 |只看该作者
9600GT回家试试

使用道具 举报

帖子
49
精华
0
积分
25
金钱
405
荣誉
0
人气
0
评议
0
6#
发表于 2008-12-24 22:10:30 |只看该作者
好贴~~·顶起 需要热心人 无敌20字还差几个字

使用道具 举报

帖子
124
精华
0
积分
72
金钱
200
荣誉
1
人气
0
评议
0
7#
发表于 2008-12-25 04:29:54 |只看该作者
在采用主贴中方法解决了游戏“卡”的问题后,再经仔细调试,发现采用如下截图中的设置在我的电脑上最为满意:帧数足够流畅、画面效果最为多样,烟火、阴影都有了。关键是将Texture Filter由三线改为两线。这样其它效果就几乎都可以打开了。玩起来画面美丽、动作流畅。具体我的设置请见附件图示



附件: 你需要登录才可以下载或查看附件。没有帐号?注册

使用道具 举报

帖子
124
精华
0
积分
72
金钱
200
荣誉
1
人气
0
评议
0
8#
发表于 2008-12-25 04:44:23 |只看该作者
另外补充说明一点:
  我没有采用任何“优化”补丁,无论是“极低/低/中端配置优化补丁 “还是
”《使命召唤5》优化设置工具 CoD5 Tweak Utility 0.2.3“都没有采用。原因是采用了前者以后,反而发现性能略有下降;而后者根本就不是一个真正意义上的”优化“软件,而其实质是一个名副其实的”劣化“软件。可以说我用最简单的办法获得了运行COD5的最佳效果。我的方法,虽然具体它是白猫还是黑猫尚未明了,但它确实是只能抓到老鼠的好猫。

使用道具 举报

帖子
1193
精华
0
积分
599
金钱
1189
荣誉
0
人气
0
评议
0
9#
发表于 2008-12-25 08:53:16 |只看该作者
我导入了以上一个注册表文件和那个超频补丁 那控制面板是没了 但是也没见着超频选项啊

使用道具 举报

帖子
10
精华
0
积分
3
金钱
39
荣誉
0
人气
0
评议
0
10#
发表于 2008-12-25 09:19:36 |只看该作者
[支持]

使用道具 举报

帖子
124
精华
0
积分
72
金钱
200
荣誉
1
人气
0
评议
0
11#
发表于 2008-12-25 10:00:02 |只看该作者
原帖由 wthwhy123 于 2008-12-25 08:53 发表
我导入了以上一个注册表文件和那个超频补丁 那控制面板是没了 但是也没见着超频选项啊


以我的经验,超频不是解决不畅问题的关键,关键是屏蔽显示控制面板。如果不能显示超频选项,可用如下这个软件试试:
《nvidia_nvhardpage22调试工具》下载地址:

http://file2.mydrivers.com/display/nvidia_nvhardpage22.zip

[ 本帖最后由 haodong969 于 2008-12-25 12:47 编辑 ]

使用道具 举报

帖子
124
精华
0
积分
72
金钱
200
荣誉
1
人气
0
评议
0
12#
发表于 2008-12-25 10:04:39 |只看该作者
原帖由 wthwhy123 于 2008-12-25 08:53 发表
我导入了以上一个注册表文件和那个超频补丁 那控制面板是没了 但是也没见着超频选项啊


以我的经验,超频不是解决问题的关键,关键是要屏蔽新式控制面板。显卡驱动最好是采用经过了微软认证的最新版本。如果仍然不能显示超频选项,可以试试如下这个软件:

《nvidia_nvhardpage22调试工具》。可以股沟一下下载源下载。

使用道具 举报

帖子
163
精华
0
积分
82
金钱
264
荣誉
0
人气
0
评议
0
13#
发表于 2008-12-25 16:25:08 |只看该作者
N卡6系列和7系列还是用这2个驱动比较好,nvidia_fw_9424_2和180.70,用楼猪的办法还是有效的,6800GT用9424除了个别日本关欠流畅外其他关卡很流畅,基本30-60之间。

使用道具 举报

帖子
34
精华
0
积分
17
金钱
167
荣誉
0
人气
0
评议
0
14#
发表于 2008-12-27 14:44:21 |只看该作者
很好很 强大

使用道具 举报

帖子
124
精华
0
积分
72
金钱
200
荣誉
1
人气
0
评议
0
15#
发表于 2008-12-27 21:31:32 |只看该作者
  在啃下了cod5运行不畅这块硬骨头后,今天又测试了一下原来已经装上的COD4。原来cod4在我的机器上力求骨头里榨出油的设置除了(texture: high;AA: 2X;画面同步:关闭)三项以外,其它效果倒都是开足了的。在1024X768分辨下用窗口模式玩还是满意的,帧频能维持在19-56之间。

  现在屏蔽了显示驱动的显示控制面板后,把游戏设置中上面括弧中的三项也开足了再试(texture: Extra; AA: 4X; 画面同步:开),结果运行得十分满意。帧频也能维持着23-65。

  看来,采用4楼中提供的“nvidia传统菜单注册表文件”确实对提高显卡的工作效能大有帮助,因为它不仅仅是对cod5有效,对cod4也同样效果明显。可以说,这个注册表文件可视为是一个对于N卡而言的、效果非常明显的”优化软件“,真是一个小巧玲珑、价廉物美的好东西。建议N卡的朋友可以同来测试一下,或在其它游戏上也可以试验一下。
  
  BTW: 在进一步使用了”《使命召唤5》优化设置工具 CoD5 Tweak Utility 0.2.3 .rar“(用了原版的非汉化版似乎效果比之汉化版的好些?)只是用其将游戏帧频调高到”90“这一项,其它留空,看来游戏运行效果还能进一步有所提升。

[ 本帖最后由 haodong969 于 2008-12-27 21:42 编辑 ]

使用道具 举报

帖子
39
精华
0
积分
20
金钱
276
荣誉
0
人气
0
评议
0
16#
发表于 2008-12-27 23:26:05 |只看该作者
好东西找好久了,我也试试看,感谢楼主分享!

使用道具 举报

帖子
209
精华
0
积分
108
金钱
1791
荣誉
0
人气
0
评议
0
17#
发表于 2008-12-30 17:07:42 |只看该作者
此帖要顶,应用后我的其他游戏速度明显提高,希望楼主再深入研究,找出更多更有效的优化N卡的方法,造福我游民!!!

使用道具 举报

帖子
124
精华
0
积分
72
金钱
200
荣誉
1
人气
0
评议
0
18#
发表于 2008-12-31 03:44:29 |只看该作者
进一步测试:

1.  在cod5的显卡设置中关闭“子弹冲击(Bullet Impact)”选项可以使游戏中的帧频明显提高。从我原来的24-45帧提高到 33-62帧。关闭这个效果所带来的损失是水面的质感略有减少,同时血迹溅射在墙上的效果没有了。但是子弹打在人身上的溅血效果不受影响,弹孔和尸体流血的效果也不受影响。因此相较于游戏总体帧数提高的重大意义,这个选项是无疑可以关闭而舍弃的。在我的机器上运行第一关,尤其是刚开始那一段,是整个游戏中帧频最低、运行最卡的部分,因此我的测试就是根据这个部分来作调试参考的。上面所言的那种帧数的变化就是针对这个部分的测试而言的。

2.  打开4X AA,在我的机器上帧频减少是不太大的(相对关闭“海洋效果”的提升量而言)。但是发现打开4X 后,画面上会出现细微的竖直条纹,虽然不仔细看不太出来,但还是将其关闭了。为何会出现这种情况尚不明了,是否显卡超频过大的原因?还有待进一步测试。

  我目前的设置如下面两图所示,大家可以参考。





3. 今天还测试了COD2。原来没有屏蔽“显卡驱动显示控制面板”时,无法开足的显示项现在都可以开到最佳值了。除了使用1280X1024分辨率时游戏帧数有所降低外,使用1028x768分辨游戏的帧数可以保证不低于32帧。玩起来十分痛快!!看来楼上那位朋友反映的“其他游戏速度明显提高”绝非虚言,同时在此谢谢这些共同测试并上来反映的玩友。另外也要专门提出感谢的是两位版主对本人的加分鼓励,谢谢!

[ 本帖最后由 haodong969 于 2009-1-20 11:17 编辑 ]
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

使用道具 举报

帖子
933
精华
0
积分
487
金钱
9634
荣誉
2
人气
0
评议
0
19#
发表于 2008-12-31 07:37:47 |只看该作者
看了很心动,请教楼主老大如何”屏蔽显卡驱动显示控制面板”,谢谢。
某大汉身上有三颗”贡丸”而引以为傲;有天他得意洋洋向其友跨口曰”我俩合计有五顆”;其友大惊失色曰”原来老兄您只有一颗。”

使用道具 举报

帖子
240
精华
0
积分
120
金钱
470
荣誉
0
人气
0
评议
0
20#
发表于 2008-12-31 08:19:11 |只看该作者
好神奇 不过我移动版的8600装的台式机最新驱动,显卡控制面板压根就没有,这个用不了吧

使用道具 举报

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

手机版|Archiver|游侠NETSHOW论坛 ( 苏ICP备2023007791号 )

GMT+8, 2025-8-6 22:27 , Processed in 0.390389 second(s), 13 queries , Gzip On, Memcache On.

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

分享到