尽情享受——Half-Life2优化谈
应用百分百
寒假来临,这是无数游戏爱好者尽情享受游戏的日子。而Valve公司开发的Half-Life2(《半条命2》,以下简称HL2)作为近期最为出色的第一人称射击游戏,无疑是很多玩家的“节日大餐”。在这篇文章中,我们将详细讲解如何在HL2中进行优化,帮助大家尽可能真实地体验这一款最能代表当今3D游戏技术发展趋势的产品。
HL2的技术特征
在这里我们先从HL2的技术特征入手谈谈它对CPU和显卡的要求,这将有利于帮助我们理解它的系统要求和优化方法。
HL2最成功的地方之一就是采用了著名的Havok物理引擎,它为游戏中每一个物体都赋予了质量、浮力等物理特性,这些特性完全颠覆了以往FPS游戏的思路,比如游戏中可以用塑料筒的浮力支起木桥,可以将敌人头顶的箱子打落把敌人砸死,而游戏中的重力枪更是将物理引擎的运用带到了一个崭新的境界。就像DOOM3的动态体积光照一样,Havok物理引擎也是迈向“真实游戏”的一大步。
不过天上不会掉馅饼,强大的物理引擎完全依靠CPU的运算,因此CPU的频率会对游戏的速度带来极大的影响。根据笔者的测试,在采用ATi Radeon X800XT这种顶级显卡的平台上,CPU从P4XE 3.46GHz换成赛扬2.0GHz时,速度可以相差100帧/秒以上,而且它基本上是随着CPU频率的降低成正比下降的。不仅Intel平台这样,AMD平台也是如此,所以要想流畅地玩HL2,CPU的作用绝不能小视。
在官方的系统要求中,最低配置是:1.2GHz处理器,256MB内存,Windows98/Me/XP/2000,硬件支持DirectX 7的显卡(GeForce2 GTS或者以上)。而我们的测试感觉是要想玩HL2最少需要一个1.5GHz处理器;要想以一定的画质进行游戏,要想发挥显卡的性能,一个2GHz以上的CPU是不可少的。官方的推荐配置是:2.4GHz处理器,512MB内存,Windows XP/2000,硬件支持DirectX 9.0的显示卡(Radeon 9550或者以上)。
在图形技术上,Valve公司自行开发了全新的Source游戏引擎,它完全将DirectX9融入进来,使用了DirectX9的高级渲染语言HLSL编写,不仅相对简化了开发,而且提供了良好的兼容性。也正是如此,HL2对显卡的适应性极强,经过优化,在低档的Radeon9200、GeForce FX5200上我们可以得到流畅的速度,在高档的Radeon X800XT、GeForce6800U上我们可以得到最佳的画质。
小提示:由于新图形引擎的支持,HL2对水面效果的渲染也是极为成功的。很多玩家都认为这是他们看到的最真实的水面。不过对水面仿真的极限追求,也导致在有水面的场景中游戏速度会大幅下降,甚至可以从四十多帧/秒跌落到十几帧/秒。所以我们要根据配置制定不同的水面效果。
HL2优化设置
1.DirectX导致的画质区别
在进入HL2的图形设置之前,我们先来看看HL2在不同画质级别下的区别。HL2是严格按照DirectX规范开发的游戏,所以游戏的画质也按照不同的DirectX级别加以区别,游戏的图形设置只能是在本机显卡所支持的DirectX级别基础上进行优化和设置。
DirectX7:空间效果加以简化,可视距离有一定的缩短;
贴图简化、模型没有细节构造;
水没有折射效果;
没有使用凹凸贴图、简化了模型和人物的LOD、缩减了Mipmap的质量。
在DirectX7显卡上HL2的图形质量大幅缩水,但这也说明Valve为照顾低端用户做了最大的努力,即使那些使用MX显卡+高频CPU(比如一些品牌机)的读者也可以体验一下HL2的剧情,但在这种配置下完全看不出HL2的图形优秀之处(图1)。

DirectX8:水面存在折射效果,但是没有细致的本地景物倒影;
由DirectX8的渲染路径决定了DirectX8下的水面与陆地交接处相当生硬,没有真实效果;
支持材质渲染,但仍不够柔和;
在某些卡上如果某一场景使用的凹凸贴图很多,会被关掉一部分。
这里可以看出DirectX8显卡在模型、贴图上已经全面超越DirectX7,实际上已经和DirectX9极为接近(图2)。

DirectX9:水中有完全的折射效果,对水边的全部景物都有按照几何原理产生的涟漪与倒影;
从水下看到的水面上的景物都经过了严格的折射几何运算,力求真实;采用了特殊的弱化渲染效果来表现浅水层与深水的区别;
岸边会有若隐若现的雾气效果;
在水面与岸边的交汇处使用了volumetric fog来逐步混合,柔和逼真;
支持渲染到纹理和超级采样;
使用了更复杂的多重效果混合的凹凸贴图和法线贴图。
从这些可以看出DirectX8和DirectX9的最大区别就在于水面的效果制作上(图3)。

2.HL2的图形设置
理解了不同DirectX的画质区别后,我们再来看HL2的图形设置(图4)。

在视频中可以设定屏幕宽高比,不过在一般的4∶3显示器上选择宽屏幕并不能正常使用16∶9模式,不会像观看DVD那样出现上下的黑边来取得宽屏幕效果。至于分辨率,GeForce FX5200以上的显卡都可以使用1024×768,低于GeForce FX5200级别的显卡就只能使用800×600了。
HL2的引擎具有很高的灵活性,它的图形设置可调节性很高,也能根据不同的显卡和配置自动给出推荐设置,图5中出现“*”的就是系统推荐配置。不过这个推荐主要是依靠显卡所支持的图形特效来判断的,并不是十分准确,我们仍要根据自己的实际需要进行调整。我们这里对设置子项逐一加以介绍。

①“模型细节”主要是指模型使用多边形的多寡,以及细节的刻画。在DirectX7的显卡上这项工作主要交给了CPU,而对DirectX8、9的显卡,建议设置为高。
②“纹理细节”只要显存大于或等于64MB就应设置为高,否则无法充分感受HL2高质量纹理带来的震撼。
③“水面细节”有单反射、游戏框架有倒影、所有景物有倒影三个级别。其实水面的最终效果是受制于显卡硬件所支持的DirectX级别,中高端显卡可以选择自己所能支持的最高级别,低端显卡最好选择最简单的单反射。
④“阴影细节”设为高意味着模型经过材质渲染后被投影到游戏中,DirectX8、9显卡都可以设置为高。
⑤“抗锯齿模式”, GeForce FX5200之流的低端卡是一定要关掉这一项的,但Radeon9550及以上的中端卡可以打开2×抗锯齿试试,但GeForce FX5700LE只能在800×600分辨率下打开“抗锯齿”,不过中端卡打开“抗锯齿”后,在有大量水面的场景中速度可能会不太流畅。
⑥“过滤模式”影响地面纹理等的清晰程度,一般选择三线性就可以了。
⑦“色调细节”。这是设置渲染细节等级的,在特效多的场景中它对画质和速度的影响都比较大,而在普通场景中它对速度的影响不是太大。中端和高端卡可以设为高,低端卡为了速度要设置低一些。
⑧“垂直同步”。这个当然要关闭。
驱动的选择
最后我们要谈谈显卡驱动的选用。HL2是一款被认为代表了目前DirectX9游戏最高峰的产品之一,也是众多媒体所选用的DirectX9测试软件,所以无论是ATi还是NVIDIA都对HL2极为重视,表现在驱动上就是最新的驱动多多少少都会提升一些HL2的速度。所以要玩HL2,更新显卡驱动是极为必要的。
作为目前DirectX9游戏最优秀的代表,HL2已经掀起了阵阵热潮,那些平日里没有时间的玩家,完全可以在春节假期里好好玩上一把。我们相信,HL2的发行,意味着使用该引擎的游戏将大量上市,DirectX9游戏的时代真正的到来了。