软件风向标

栏目

重返德军总部 速度优化指南

2023-06-15 00:33:59

id公司的射击游戏一直是 最先进的3D游戏的带名词,这自然使得id公司的最新作《重返德军总部》(使用QUAKE3引擎)成为当今最前卫的3D技术集大成者,但并不是人人都有幸《重返德军总部》欣赏的美妙之处,因为,因为它是名副其实的硬件杀手...
德军建议配置 是P3 800以上 256M GF2MX 400 显卡

显示优化方法。

系统设置选单(System)中的图象(Gvraphics):
质量:(Quality)
这是游戏设置的几种方式 默认是高质量 如果及其低于建议配置 建议使用快速和最快速选项。
GL扩展:(GL Extensions)
是Open GL扩展指令集开关 一般是打开 不过没什么影响

分辨率:(video vmode)

游戏性能影响: 大

画质影响: 不同分辨率,不同显卡影响不同

  游戏中提供了从很宽范围的选择,从最低的320x240到最高的2048x1536:。id充份地照顾到了穷人和富翁。其实就我们的条件而言,我认为合适的分辨率应该是640x480或者800x600(否则后期大场景会跑不动)。
  分辨率的升高会影响游戏性能,这是明显的,因为像素多了,对填充率的要求自然高了。分辨率的提高的好处是提高图像质量,画面更细腻,锯齿更少。

色深(Color Depth):

游戏性能影响: 大

画质影响: 由显卡决定

色深对性能和画质也有明显的双重影响,色深的提高主要是增加频宽的消耗,从而直接影响填充率。32bit颜色所需要的频宽是16bit的两倍,另外,在游戏中,Z-buffer由色深决定,32bit色深时,Z-buffer也同时为32bit,色深为16bit,Z-buffer也被锁定16bit,无法由用户自行设置。
   当然,32bit色深也会增加显示缓冲区,但在游戏中,相对材质缓冲区(texture buffer)来说,显示缓冲区(frame buffer)对填充率的影响不如材质缓存那么大。
  由于不同显卡的抖色处理技术不同,所以各个显卡在16bit色深的画质各不不同。32bit是在24bit真彩色的基础上增加了8bit Alpha混合,因此可以呈现更加丰富的颜色。


全屏:(Full screen)
这里可以设置游戏是窗口还是全屏运行游戏。

Lighting
游戏性能影响: 大

画质影响: 大

  重返德军总部所用Quake3引擎支持两种形式的光照,一种是lightmaps(光照贴图),一种是vertex lighting(顶点光照),Lightmaps是在设计关卡时预先设计好的材质,用来模拟真实的光影效果。Lightmap技术需要多材质,如果显示卡不支持多材质或者说只要一个材质单元,那么需要多花费一个时钟周期来形成lightmaps,VoodooBanshee就是一个例子,因此Banshee在诸如Quake这种多材质游戏中性能不佳。

Vertex lighting就是每顶点光照,实际上硬体光照就是每顶点光照,但是在游戏顶点光照中,是由CPU来完成的,因此尚不能算完全支持T&L的游戏。我想Q3玩家都知道,vertex lighting模式比lightmaps模式速度快的多(有20-30%之多),但图象质量却很差。
  这是为什么呢?id的首席设计师John Carmack,Carmack解释如下:在Vertexlighting模式下,所有场景都将采用单通道着色,但通道材质速度要快的多,即使在多材质模式下也是如此。因为材质坐标转换的速度更快,占用的材质频宽越少。在Vertex lighting模式下,游戏中所有的光照都是顶点光照,但都是静态光照,没有即时的光影效果。


贴图质量(Texture Quality):

游戏性能影响: 中

画质影响: 仅仅是天空

  这里的贴图质量实际上是材质色深,游戏支持16bit和32bit两种色深的材质。注意,材质色深和上面的像素色深是两个不同的概念,材质是由艺术家设计而成,然后粘贴到多边形上,形成我们所能分辨的物体,相信用过Photoshop的玩家都能理解材质的概念。而像素色深是指在最后显示在屏幕上的像素的颜色深度。 显然,一个显卡如果不支持32bit色,当然也不支持32bit材质。
  在Quake3中32bit材质对画质影响较小,我们一般是在天空中观察到16bit和32bit材质的不同的:
  16bit材质有明显的色带现象,同时发现在32bit材质时仍然也存在色带,只是不如16bit材质那么多那么明显,看来对于颜色丰富的过渡带或者透明材质,32bit色也是不够的。
正因为如此,John Carmark才提出64bit是未来游戏发展的下一个趋势。 一般而言,32bit材质对游戏性能并没有大的影响,但在某些场合,32bit材质对性能影响很大,因为32bit材质所占用的材质缓存是16bit的两倍,在使用高分32bit材质时,由于材质所需显存的可能将会超过显卡上的显存,AGP显卡将调用系统主存来储存材质,由于AGP总线频宽远低于显卡上的显存频宽,这样会大大降低速度。

下表为不同解析度材质在16bit和32bit所需内存的数量列表

Texture Size 16-bit 32-bit
128x128    33 KB 64 KB
256x256    129 KB 256 KB
512x512    513 KB 1024 KB
1024x1024   2,049 KB 4096 KB
2048x2048 8,193 KB 16384 KB

贴图过滤(Texture Filter)

画质影响: 小

性能影响: 小

  游戏中有两种过滤技术,一种是三线性过滤(Trilinear Filter),另外的是双线性过滤(Bilinear Filter)。 目前几乎所有的3D显卡都支持双线性过滤。
  说到三线性过滤, 我们不能不谈到mip-mapping,所谓Mip-mapping,是指对距离我们视角较远的物体使用简单的材质,距离较近的物体采用复杂的材质,一方面可以提高显卡效率,一方面加快3D,但是缺点是会产生mip-mapping band,(Mip-mapping带)而三线性过滤可以消除mip-mapping band,使得高分材质和低分材质实现自然过渡。与Bilinear过滤比起来,三线性过滤速度减少的并不大。
(TNT和TNT2的3线过滤是模拟的 只有到GeForce系列才真正硬件支持!)

Geometric Detail: 几何细节
Character Textures: 角色贴图
Genera; Textures:常规贴图
这几项都是针对画面细节的 建议配置低于推荐配置的玩家选LOW

压缩贴图 (Compress Textures):
画质影响: 小

性能影响:一般
很多显卡支持硬件纹理压缩 如果有就打开 没有对画面也没什么影响。

亮度(Brightness):亮度
不用解释了吧,

Nvidia雾化(Nvvidia Distance Fog):
推荐所有使用TNT系列 TNT2系列 GeForce系列的用户打开 也只有这几个系列的显卡可以使用这个功能。

真实构架:Trueform:
提高物体的真实性,ATI的镭系列的支持这个效果真实构架:Trueform:提高物体的真实性,ATI的镭系列的支持这个效果

Id公司是控制台模式游戏的创造者,重返德军总部仍然保留了很多Quake3控制台命令,通过命令或变量值你可以更精细地设定和控制游戏,更重要的是,有些命令设定的效果甚至连选单都沒有,所以对于资深的家来说,掌握一些常用的命令是十分必要的,同时这也将有助于我们更好的进行优化。

  关于控制台的使用相信射击游戏老手都不陌生,在游戏中键入“~”,进入控制台。在控制台中,可以输入命令,使用方法就和过去的Dos命令一样。例如我想实时显示游戏的测速,那么首先按“~”进入控制台,之后输入相应的命令/set cg_drawFPS 1,然后再回车确认。当然如果你是在游戏主选单下输入的命令进入游戏就可以看见效果了。注意,在游戏中输入命令时,斜杠 "/" 可不能省略,否则游戏会认为你是和別人聊天,对你置之不理。

在上面这个例子中,我们习惯讲cg_drawFPS称为变量,而1则是变量值。 以下是游戏中和图象以及性能有关的命令,参数和变量列表:

r_drawsun
设定阳光效果,此命令有效的前提是r_fastsky值必须为0.在游戏中没有此项设置,对游戏性能影响不明显

r_picmip
设定贴图材质解析度,材质的大小根据不同的硬件而定。r_picmip值设为0时游戏将最大支持512x512大小的材质,并根据硬件功能的不同,缩小到硬件所支持的最大材质。

r_fastsky
切换是否着色天空的材质("1"将不着色天空的材质),等于游戏中"High QualitySkies"选项,设为1设计可以提高性能,特別是在慢的CPU时如果开启天空材质对性能冲击很大
r_smp
切换是否开启多处理器支援。重返德军总部使用的Quake3引擎是目前唯一为多处理器优化的射击游戏引擎。

r_swapinterval
切换frame交换功能,值为0时和取消显示卡的视讯同步功能相似,可以防止屏幕的抖动,提高系统性能。

r_textruemode
设定材质过滤模式,有以下几种模式:

GL_NEAREST
GLNEARST_MIPMAP
GL_LINEAR
GL_LINEAR_MIPMAP_NEAREST
GL_LINEAR_MIPMAP_LINEAR

r_finish
等于"Sync Every Frame",但不要被名字迷惑,这和VSYNC无关

r_dynamiclight
等于Game Option选单中的"Dynamic Lighting(动态光源)"选项

r_vertexlight
切换顶点光照或是光照贴图,等效于选单中的"Lightmap"设置。

r_lightmap
设定是否只着色光照贴图(lightmap),如果r_lightmap值为1,将只着色lightmap,此时看不见其他任何材质。只着色lightmap的画面非常丑陋,而且由于现在的显卡都支持多材质,单单只关闭lightmap后只是减少了对材质频宽的影响,对速度几乎没有提高,所以最好不要关闭lightmap。

r_mapoverbrightbits
设定材质的反射光使用的光照贴图被顶点光照代替,可以提节光照的饱和度,值越低,材质越暗。

r_allowextensions
设定是否使用OpenGL扩展,等效于选单中的"GL Extensions" r_colormiplevels以颜色显示不同的mip-map等级,从下图中可以很清楚地看出三线性过滤与双线性过滤之间的差別。在三线性过滤时,两种不同的Mipmap带过度比较自然。(TNT是用抖色来模拟真正的三线性过滤,包括TNT2显示卡也是用抖动来"冒充"三线性过滤,直到GeForce才真正支持三线性过滤。)

r_subdivisions
设定曲面的平滑程度,值越低,显卡生成的多边形和顶点越多,曲面越圆滑,几何细节越低,性能越高。等效于游戏选单的"Geometry Detail",不过在选单中只有Low,Medium,High三种几何细节,用命令控制显然可以设置更多的几何细节。因为Low只相当于r_sbudivisions值为20,Medium相当于r_subdivisions值为12,High相当于r_subdivisions值为4。而r_subdivisons取值范围为0-999这么多。

r_intensity
调节RGB颜色的亮度,对游戏性能没有影响。

r_ambientscale
调节环境光线对亮度的改变,没有性能影响。

r_directedscale
调节环境亮度对物体(如武器)亮度的影响。在较亮的环境中,值越高,武器亮度越低。相反,在暗环境中,值越低,武器亮度越高。不影响游戏性能。

r_ext_gamma_control
这个命令将决定是否影响游戏的Gamma值是否受系统的gamma值影响,这意味着如果显示卡驱动中有gamma调节功能,那么调节将会改变游戏的gamma值。

r_ignorehwgamma
设定游戏是否支持硬件/驱动的gamma。 如果硬体/驱动支援OpenGL驱动的gamma控制扩展,值为"0"时游戏讲采用硬件/驱动的gamma值。设置成"1"游戏将采用自己的Gamma,不受硬件驱动的gamma值控制。

cg_marks
设置墙上射击后的的痕迹,会稍稍提高性能。

cg_shadows
当cg_marks值为1时,设定阴影效果: 0=没有阴影 1=普通阴影 2=模板缓冲阴影(前提是r_stencilbits值为8) 3=非常暗的模板缓冲阴影(前提是r_stencilbits值为8)注意并不是所有的硬件支持模板缓冲, 显然, cg_marks值为0时性能最高

cg_drawcrosshairnames
等于游戏选单中"Identify Target" cg_drawattacker 设置是否在屏幕右上角显示最后一个伤害你的坏蛋的名字,不过如果是自残的话,那就是你了。值为0时可以稍稍提高速度。

cg_drawgun
设定是否显示武器,当值为0时,将不显示武器,可以稍微提高性能。但火焰喷射器和电浆强将失灵。


cg_brasstime
设定武器效果作用的时间(如弹出的弹壳)。

cg_gibs
设定是否有分尸效果,关闭gibs可以提高游戏速度,不过血雾效果仍然存在

com_blood
设定是否有gibs和血雾效果。值为0时无血,无gibs效果时,可以提高一点游戏性能。这个在Q3里作用比较明显,这里不明显。

r_colorbits
设定每个像素的色深
r_texturebits
等于游戏选单中的"Texture Quality"。

r_fullscreen
设定是窗口模式还是全屏模式
r_gamma
设置游戏的gamma值,等效于游戏Display选单中的"Brightness"。


r_ext_compress_textures
切换是否使用材质压缩功能(例如S3的S3TC),Quake3默认支持材质压缩,但如果硬件不支持材质压缩,将不会影响画质或性能
cg_drawFPS
基本值是0,设置成1时可以在屏幕右上角显示FPS。

cg_viewsize
设定游戏可视区域占屏幕的百分比,较小的值可以提高性能.
r_lodCurveError
设定曲面着色过程中可允许的错误,值越低允许的错误越多,物体多边形数量随距离远近变化越明显-距离越近,曲面的多边形越多,距离越远,曲面的多边形越少。

速度测试:

cg_drawfps 1,我们在前面的命令中也讲到了这个命令,在控制台输入此命令后,在屏幕的右上角将随时显示当前游戏的速度。如果在1024x768以上的解析度,你发现Quake3即时帧速从未低于60,那么恭喜恭喜,你拥有一套梦幻的游戏系统。至少今年不用考虑掏钱升级啦。

相关文章

图文推荐

猜你喜欢

  • 德军

  • 总部

  • 速度

  • 指南

德军[共749款]更多>>

总部[共582款]更多>>

速度[共989款]更多>>

指南[共6302款]更多>>