MCPLive > 杂志文章 > 教你运用ATI显卡 玩转NVIDIA物理加速

教你运用ATI显卡 玩转NVIDIA物理加速

2008-12-26P2MM《微型计算机》2008-21

在游戏中添加物理效果一直是开发者和玩家讨论的热点话题。一般来说,出色逼真的物理效果能让玩家在游戏中有身临其境的真实感。但就在NVI DIA加紧推广其物理加速技术并推出相关游戏体验包的同时,ATI与Havok的合作却迟迟不见动静。难道ATI显卡用户就不能简单地安装驱动程序感受物理加速效果?NVIDIA物理加速包就是NVIDIA GeForce 8/9系列显卡用户的专利?未必!笔者正好有如何利用ATI显卡体验NVIDIA物理加速包的特效的心得,特此与大家一起分享。

一款精彩而充满互动性的游戏需要更为丰富而真实的物理效果。当主角穿行树丛,树丛会被人物拨开,然后反弹回去,草地也随风自然摆动。这些看似细小的物理处理部分,却深刻影响着游戏的真实性。由于CPU的计算能力有限,无法计算太多的物理资源,无法将真实的游戏画面呈现出来。因此需要新技术辅助甚至全盘处理物理效果,将游戏中真实的物理效果表现出来。这就是物理加速的作用。

2008年8月29日,NVIDIA出其不意地迅速推出“Forcewithin”(内在力量)网页,高调宣传其PhysX、CUDA、3D Stereo和SLI四大技术,更提供了容量高达2.75GB的“GeForce Power Pack”大礼包下载(下载地址是:http://www.nvidia.com/content/forcewithin/us/download.asp)。

这个大礼包意在宣传NVIDIA PhysX物理加速和非图形浮点计算的威力,其中包含让GeForce 8、9和GT200系列图形芯片支持物理硬件加速的Forceware 177.92驱动程序(含PhysX_8.08.18系统软件)、《虚幻锦标赛3》PhysX物理包、采用大量物理效果的《WarMonger》完全版游戏以及NVIDIA自己研发的两个支持物理技术Demo—《The Great Kulu》和《Fluids》等。

NVIDIA高调推出“Forcewithin”网页之后,“GeForce Power Pack”大礼包全球下载数量超过100万次,显然使用GeForce 8、9和GT200系列显卡的不少用户已经享受到NVIDIA物理加速技术带来的视觉冲击。那么对于使用目前炙手可热的ATI Radeon HD 4系列显卡用户来说,是不是就无福享受到NVIDIA的物理加速视觉大餐了呢?不是!NVIDIA在收购AGEIA公司后,仍继续保留了PhysX驱动程序的CPU软件加速运行方式,意在留住以CPU开发和运行游戏物理效果的游戏开发者和玩家,同时进一步扩大市场份额。

下面我们就以“GeForce Power Pack”大礼包当中的《虚幻锦标赛3》为例,来看看ATI显卡在其中的物理加速表现。

ATI显卡实战《虚幻锦标赛3》PhysX物理包

为了更好地运行NVIDIA物理加速程序,推荐使用玩家使用Radeon HD 4000系列显卡并搭配双核心处理器和少2GB内存配置,以获得更好的视觉效果。主要测试系统平台配置如下:

处理器:Intel Core 2 Quad Q6600 OC 3.3GHz
显卡:ATI Radeon HD 4850
主板:华硕P5K-E WIFI(Intel P35芯片组)
显卡驱动程序:Catalyst 8.8beta For Windows XP
操作系统:Windows XP 英文版

NVIDIA在大礼包中提供的《虚幻锦标赛3》PhysX物理包提供了3级环境破坏,其中包括可毁坏的墙壁、地板、人行通道、屋顶以及武器,增添了全新破坏力的三张地图分别为:热线(Heat Ray)、灯塔(Lighthouse)以及飓风(Tornado)。需要指出的是,《虚幻锦标赛3》PhysX物理包需要预装好完整版的《虚幻锦标赛3》,因为它只是一个补丁而已。

Setp By Setp安装

Setp 1:
首先安装零售版《虚幻锦标赛3》,然后安装Epic官方提供的Patch1.3补丁。其实在零售版《虚幻锦标赛3》已经包含PhysX v2.7.4驱动程序,但这是旧有的PhysX驱动程序版本,只支持AGEIAPhysX物理卡硬件加速和CPU软件加速。

Setp 2:
安装好Patch1.3补丁之后,要先运行《虚幻锦标赛3》以便生成用户配置文件,才能安装《虚幻锦标赛3》物理包,否则《虚幻锦标赛3》物理包安装文件会提示找不到用户配置文件,某些功能可能无法正常使用。

Setp 3:
双击运行《虚幻锦标3》物理包的安装文件UT3_PhysXModPack.msi。

Setp 4:
《虚幻锦标3》物理包安装完毕后进入《虚幻锦标赛3》游戏主菜单→Instant Action(立即游戏)→Death Match(死亡对战)界面,可以看到地图列表中多出了一个Heat Ray PhysX地图。

这就是《虚幻锦标3》物理包提供的热线(Heat Ray)物理地图;另外,在《虚幻锦标赛3》游戏主菜单→Instant Action(立即游戏)→Capture The Flag(抢旗)界面可以看到地图列表当中多出了LightHouse PhysX和Tornado PhysX两个地图,这就是《虚幻锦标3》物理包提供的灯塔(Lighthouse)以及飓风(Tornado)物理地图。

开启与关闭“Hardware Physics”效果

对比由于NVIDIA《虚幻锦标赛3》物理包的安装自述文件要求用户在安装物理包之后,必须在《虚幻锦标赛3》主菜的Settings(设置)→Video(3D)菜单中选中“Hardware Physics”(硬件物理)选项开启物理硬件加速功能。在系统仅存在游戏附带的AGEIA PhysX v2.7.4驱动程序,没有安装NVIDIA新PhysX驱动程序和Forceware驱动程序的情况下,我们将安装ATI Catalyst 8.8beta For Windows XP驱动程序,来看看RadeonHD 4850在NVIDIA《虚幻锦标赛3》当中的表现。

首先以关闭“Hardware Physics”(硬件物理)选项、1680×1050分辨率和大画质的设置运行抢旗模式当中的灯塔(Lighthouse)物理地图。大约在启动画面等待4~5秒即可进入灯塔地图,地图载入速度较快且并未出现“运行需要nvcuda.dll”的错误提示。

在地图初始点时,游戏可以维持大62fps的速度(《虚幻锦标赛3》将游戏大帧数限制在62fps),并且在射击油桶这样对系统要求很高的场景时,游戏仍然可以保持60fps的帧数,很好地实现了墙壁爆炸崩塌的物理效果。

但随着跑动和射击动作的剧增,游戏帧数逐步下降到30~20fps。随着对战NPC的极速跑动和射击场景的增多,游戏的终帧数下降到8~10fps。

接下来开启“Hardware Physics”。这时灯塔地图载入速度非常慢,约耗时2分钟左右,画面显示游戏引擎在寻找系统中存在的物理加速硬件。地图启动之后的游戏帧数变化过程和未选择“Hardware Physics”选项的游戏帧数变化过程雷同。

测试发现,灯塔物理地图相当耗费处理器资源,Quad Q6600四个核心占用率在游戏启动的2分钟过程中始终维持在50%左右。可以看到,在运行灯塔物理地图中,处理器承担了绝大部分的物理加速计算。

不妨将物理效果CPU软件加速渲染速度和物理效果GPU硬件加速渲染速度以30fps分界,速度低于30fps为CPU加速,速度超过30fps就是GPU加速。毫无疑问,在没有安装NVIDIA新版CUDA和PhysX驱动程序的情况下,Radeon HD 4850已经可以在灯塔物理地图起始点附近进行物理效果GPU硬件加速渲染。不过,在热线和飓风物理地图当中,并未看到Radeon HD 4850显卡在起始点附近有如此出色的物理效果GPU硬件加速效果。当游戏启动之后,fps会迅速衰减到8~10fps。

偷天换日—进行“Hack”

难道Radeon HD 4850在开启了物理加速后的效果真的不济吗?不是!下面笔者将针对Radeon HD 4850运行灯塔物理地图,GPU硬件加速速度迅速衰竭的问题,做进一步设置和研究,以期让Radeon HD 4850在开启物理加速后取得更好的效果。

1.下载“GeForce Power Pack”大礼包当中的Forceware 177.92驱动程序,用WinRAR软件解压到指定目录中并找到nvcuda.dl_文件。这就是负责将PhysX指令翻译成CUDA指令交给GPU执行所需的文件。

2.在CMD窗口当中执行“expand nvcuda.dl_nvcuda.dll”命令,将nvcuda.dl_文件还原成完整的nvcuda.dll文件。而后再安装解压目录当中附带的PhysX驱动程序——PhysX 8.08.18_SystemSoftware.exe。

3.从系统开始→程序→NVIDIA Corporation中运行“NVIDIA PhysX Proerties”,进入NVIDIA PhysX驱动程序控制面板。信息栏会显示系统是否安装了NVIDIA PhysX GPU,由于安装的是Radeon HD 4850,故信息栏中显示未安装NVIDIA PhysX GPU。信息栏下方还显示了系统当前安装的所有PhysX驱动程序版本。

4 . 尽管NVIDIA PhysX驱动程序文件名是PhysX 8.08.18_SystemSoftware.exe,但信息栏显示的PhysX驱动程序新版本是v2.8.1,驱动程序2个主文件生成日期是2008年8月1日。

另外,NVIDIA PhysX驱动程序控制面板的设置栏也提供硬件加速信息:“No Acceleration(无加速)”、“GeForce PhysX”和“AGEIA PhysX”三档设置。由于系统没有安装NVIDIA GeForce 8系列以上级别的显卡和AGEIA PhysX物理加速卡,这里显示为“No Acceleration(无加速)”。

5.接下来这一步是关键的“Hack”过程。

●拷贝“nvcuda.dll”到“C:WINDOWSsystem32”和“C:Program FilesUnreal Tournament3Binaries”当中。然后将NVIDIA PhysX 8.08.18驱动程序安装到“C:WINDOWSsystem32”当中,并将另外一个主文件PhysXLoader.dll拷贝到“C:Program FilesUnreal Tournament 3BinariesPhysXLocal”,取代v2.7.3版本的同名文件。

●进入“C:Program FilesAGEIA Technologiesdemos”目录,拷贝v2.7.3.8版本的“nxcooking.dll”到“C:Program FilesUnreal Tournament 3Binaries”当中,取代v2.7.3.7版本的同名文件。

●在“C:Program FilesAGEIA Technologiesdemos”目录中,将有AGEIA数字签名v2.7.3.4版本的“nxcharacter.dll”复制到“C:Program FilesUnreal Tournament 3Binaries”中,取代Epic Games公司数字签名的同名文件。

●在“C:Program FilesAGEIA Technologiesv2.8.1”目录中,将有NVIDIA数字签名v2.8.1.11版本的“PhysXCore.dll”文件拷贝到“C:Program FilesUnreal Tournament 3Binaries”中,取代Epic Games公司数字签名的同名文件。至此,整个“Hack”过程全部完成。

“Hack”之后,Radeon HD 4850在灯塔、热线和飓风地图当中GPU硬件加速速度迅速衰竭的问题基本得到解决,三张物理地图的持续帧数都维持在20~39fps。

由于《虚幻锦标赛3》存在62fps限制,因此笔者通过修改配置文件的方法,突破了此限制。在突破62fps限制之后,Radeon HD 4850在灯塔等多个物理效果测试点的物理效果GPU硬件加速渲染速度都超过62fps,高达到95fps。

特别是在灯塔物理地图起始点射击油桶实现墙壁爆炸崩塌的物理效果的速度,更从“Hack”之前的60fps剧增到79fps,提升幅度达到31.67%;在热线地图中的帧数也比较稳定,物理效果渲染速度基本在20~30fps之间。

Radeon HD 4850在飓风地图当中表现的也非常突出,玻璃破碎的物理效果渲染速度高达到85fps,低也突破了30fps大关,达到31fps;在室外龙卷风物理效果渲染速度上也表现不俗,渲染速度维持在40fps以上。

写在后

面对NVIDIA在物理加速上咄咄逼人的态势,AMD和Havok之间的合作还是只闻雷声不见雨点,迟迟不见让RV770系列产品开启物理效果硬件加速的驱动程序。因此对ATI显卡用户来说,与其临渊羡鱼不如退而结网,自己动手以拿来主义的态度让ATI显卡也能实现硬件加速,实现NVIDIA专属的物理效果。

但不得不提的是,在运行NVIDIA物理包的模式方面,ATI显卡通过Hack的方式与NVIDIA原生显卡运行的模式区别还是很大的。理由有三,第一,体现在运行《虚幻锦标赛3》物理地图的平均帧数上。ATI显卡通过Hack运行物理地图的平均帧数低于同档次的NVIDIA原生显卡;第二,双方的差别还体现在处理器占用率上,尽管NVIDIA原生显卡运行NVIDIA物理加速包时的CPU占用率并不低,CPU需要负责将PhysX指令翻译成CUDA指令交给GPU执行。

但从测试结果来看,ATI显卡在Hack之后,CPU将PhysX指令翻译成的部分CUDA指令交付GPU执行,另外部分还是由CPU执行,因此,ATI显卡通过hack运行NVIDIA物理包时的CPU占用率高于NVIDIA原生显卡运行NVIDIA物理包时的状态;第三,针对ATI显卡的Hack方式,NVIDIA有可能在未来版本的CUDA和PhysX驱动程序当中加以屏蔽,彻底断绝ATI GPU执行PhysX指令的可能性。

尽管如此,本文对《虚幻锦标赛3》PhysX物理包的Hack测试结果证明,借助NVIDIA的CUDA和PhysX驱动程序,ATI Radeon HD 4000级别的显卡完全可以以较流畅地速度运行《虚幻锦标赛3》PhysX物理包当中的3个物理地图,并且实现部分GPU硬件加速。本文所做的Hack测试意在抛砖引玉,让更多的ATI显卡用户参与和体验NVIDIA专属的物理加速效果,进一步提高ATI显卡在NVIDIA专属物理效果上的性能!

分享到:

用户评论

用户名:

密码: