玩家论坛's Archiver

FreeImagine 发表于 2007-11-15 13:19

从孤岛危机看游戏优化

“优化”在电脑界总是最敏感的词汇之一,谁都希望自己的爱机能够通过各种优化而获得更高的性能、更好的表现。于是,基于人们强烈的愿望,各种优化技巧、优化软件和调试软件层出不穷,涵盖了操作系统、显卡、主板等诸多方面。在这些优化软件中,人们最关注和最信任的要算是驱动程序。人们都盼望着一款极品驱动从天而降,令自己的电脑3D游戏性能暴增。然而,在追求更高的游戏性能的同时,谁都不希望发生可察觉的画面质量下降。自从当年的画质门事件后,人们总会谨慎的看待驱动程序所带来的“优化”。在这里,我就为各位讲述几种主要的游戏优化方式,看看软硬件工程师们都想出了哪些高明的点子来优化它们的作品。



[size=3][b]1。代码优化[/b]
[/size][b][attach]130687[/attach][/b]
毫无疑问,通过对游戏的代码进行优化使程序拥有更高的执行效率是最好的优化方式。如果你看到某个标明提升性能的游戏升级补丁,那么它很可能进行了游戏代码的优化(也有可能是其他几种优化方式实现)。尽管这种优化方式效果很好,一般也不会造成画面质量下降,但是它也存在很明显的缺点。游戏工程师们需要为此消耗大量的时间和精力,而且只拥有很低的投入产出比。只要游戏代码原本不是特别烂,当代码完善到一定程度之后,即使再付出大量的努力,可能也仅仅只能获得微小的性能提升。所以,这类优化在一个游戏软件中通常只会进行一次,之后就需要其他的方式来获得进一步优化。




[b][size=3]2。图像质量优化[/size][/b]
[attach]130688[/attach]
我们也可以将其称之为图像质量取舍,它通常是在游戏设计计划中就确定方案的。这类优化并不是指恶意的去降低画质,而是根据物体的重要程度来分配适当的画面精度,例如人物通常会赋予高质量的纹理,而比较次要的地面往往成为画面精度的牺牲者。尽管人们都希望100%完美的画面,但是我们毕竟不能脱离电脑性能有限的事实。在韩国游戏,特别是韩国网络游戏中,这类优化就很常见。例如上面的《天堂2》截图,作为游戏的重点,人物被刻画得相当细致,也添加了像素着色和光影效果。而自然环境就显得十分粗糙,地面仅仅使用了简单的纹理贴图。类似这样的优化的游戏还有很多,比如CS也是一个典型。尽管我们知道这些画面缩减的存在,但是在实际游戏中多数人并不会有抵制心态,因为在他们的心中不同的物体本就有不同的优先级。按照人们心目中的轻重缓急来进行画面精度的取舍,一般是不会被反感的。假如CS的天空被渲染得非常出色真实,那其实也不具有实际意义,因为当你有心仰望天空的时候,那通常都是在被击毙之后了,说不定还会因服务器锁定视角而丧失最后的可能[s015] 。

游戏中的特效设置就是一种画面质量取舍的设置,它的出现使得这种取舍不再仅仅由游戏制作者控制,玩家也能够在一定范围内进行画面调整。随着现代游戏的设置越来越详细多样,在我们调整游戏效果的时候,也应该自己心里有本帐,为特效排出先后优先级,这样能搭配出最适合自己的效果。




[b][size=3]3。景深的优化[/size][/b]
[attach]130695[/attach]
[attach]130696[/attach]
游戏是为人服务的,给人玩给人看的,通常比较合理的优化都会基于以人为本,景深优化也是以人们的心理状态为出发点的。人通常都会比较容易忽略远处的事物,同样的东西,由于位置远近的不同,人们投入的注意力通常也是不一样的。例如上面两张孤岛危机截图,同样的物体在距离发生改变后,其精细度也就发生了变化。第二张截图中,由于距离的变远,码头上的一部分油桶不再被渲染出来。尽管我们在截图对比中感觉差别比较明显,但是只要这个距离设定的比较合适,在人们的注意力接受范围之内,在实际的游戏中就不会有明显的感觉。

[attach]130705[/attach]
[attach]130706[/attach]
完全取消渲染只是是景深优化的其中一种方式,在包括孤岛危机在内的很多游戏中还会采用对远景简化的方式,例如降低远景的shader等级、降低纹理质量甚至干脆取消纹理仅仅保留白色的3D模型。上面两张截图中的沙袋就展现了这类优化。当距离增加到一定程度时,沙袋的shader等级降低了,上面的铁丝网也不再被渲染。只要所设定的距离合适,这种优化通常都能够被人们所接受。

在孤岛危机的配置文件中包含有大量和景深细节相关的设定,有兴趣的朋友可以对其进行调整。这些设定通常都带有distance或depth字样。



[b][size=3]4。角度的优化[/size][/b]
[attach]130707[/attach]
人眼在看一个物体时(例如显示器),其视野内的图像都仅仅是中间区域正常,而周围都处于失焦状态。我们看万物都如此,电脑显示器上的图像或文字自然亦是如此。这个现象在4:3或5:4的显示器上一样存在,当然宽屏显示器上会更明显。也就是说,人眼在看位于一定距离的物体时,只有某个夹角内的图像是清晰精准的,除此之外都是模糊的。常访问驱动之家的朋友不知是否记得曾经有一段时间,驱动之家的下载页面的下载连接总是很难找到。那正是因为当时驱动之家下载连接恰好安置在了“失焦区”内。既然人眼存在失焦区,那么我们的游戏何必还要老老实实渲染视角区内的图像呢?基于人眼的这个特性,孤岛危机中的角度优化也就诞生了。

[attach]130712[/attach]
[attach]130711[/attach]
看图中远处的山崖,第一张图中是“人”的视线正对山崖时,第二张图为视角偏移之后的山崖。我们可以看到,第二张图中山崖的纹理质量、着色精细度和细节都弱于第一张图。也就是说,孤岛危机将人眼失焦区内的图像作了简化。尽管我们在对比截图时会发现其差别,但实际游戏中,人们多数会盯着准心附近的画面,所以是不会注意到失焦区内的图像是否简化的。

有朋友说,我就是要欣赏风景,希望到处都完整渲染。那么你可以去修改孤岛危机的配置文件。孤岛危机并没有直接存在相关角度的设定,若直接使用角度设定,那么当用户视线移向周边时就会立刻显出破绽。所以孤岛危机采用更合理的一系列“细节比例”的设定,游戏会根据所设定的比例(ratio)按照由远及近、由边及中的规则进行画面简化。将这些比例都改为100的话。。。首先要保证机器带得动。



[b][size=3]5。像素更新速率的优化[/size][/b]
这种优化很难用截图来进行对比。它指的是通过降低某些效果的像素更新速度,或者叫变化速度来获得性能提升。例如孤岛危机中就包括关于水面反射效果中最小可见像素更新速度的设定,以及天空变化速度的设定等等。这类像素更新速率过高通常并不会带来画面上的明显改善,但是却消耗大量性能。所以,通过将其变化速度合理降低就能获得性能提升。我之前所做的孤岛危机优化版配置([url=http://bbs.ocer.net/thread-168684-1-1.html]http://bbs.ocer.net/thread-168684-1-1.html[/url])中,降低水面更新速度是让水边场景FPS大幅提升的手段之一,同时,你不会明显察觉画面的降低。



[b][size=3]6。恶劣的优化[/size][/b]
这就是画质门事件的起源,芯片商为了提高自己产品FPS,通过降低原本正常的画面质量,造成易察觉的画面质量降低。这倒并不一定需要直接降低纹理质量之类,也可以是将细节范围、距离或数量调得过小。最近推出的一款孤岛危机专用驱动中据说就存在类似现象,这种行为着实违背了“游戏优化”的初衷。



[b][size=3]结语[/size][/b]
游戏的优化本质是为了在不造成易察觉的画面质量下降的基础上,令游戏性能提高。刻意追求100%画质无损,那就仅仅只能通过优化代码来实现,这就很有局限性。其实只要画质降低的幅度不易被察觉,这就算是很成功的优化。
反过来说也是一样。如果仅仅为了不易被察觉的效果,而消耗大量性能,那也是很不值得的。孤岛危机的Very High设置其实还远不到头,但是继续提升某些参数并不会再带来明显可见的画面提升了。

TARZAN 发表于 2007-11-15 15:06

这样的优化有针对性,而且不可察觉处的画质下降对游戏本身没有太多损失,提升的速度反而让人更庆幸

石头 发表于 2007-11-15 15:12

有一种最重要的优化,楼主一定忘了,就是超频!

jpr02 发表于 2007-11-15 17:38

楼主是用什么卡玩的?

毛毛杨 发表于 2007-11-15 19:24

有得必有失啊!取舍很重要,毕竟“优化”只是使的更加合理化,而不是进化。

mjiachen 发表于 2007-11-15 20:05

[s023] [s023]
有意思

Travis 发表于 2007-11-15 22:55

VR-Zone声称的Crysis优化驱动画质下降问题是个误会,而且老实说VR-Zone的这位评测人员很不认真,水平很差

FreeImagine 发表于 2007-11-16 12:52

[quote]原帖由 [i]Travis[/i] 于 2007-11-15 23:13 发表 [url=http://bbs.ocer.net/redirect.php?goto=findpost&pid=1210046&ptid=171891][img]http://bbs.ocer.net/images/common/back.gif[/img][/url]
VR-Zone声称的Crysis优化驱动画质下降问题是个误会,而且老实说VR-Zone的这位评测人员很不认真,水平很差 [/quote]

crysis想提高些许性能其实蛮简单的,细节比例降低一点点,更新速度降低一点点,就能完成简单的优化。从这些方向优化的话,很多截图都是看不出差别的。[s015] 我搞得那个优化配置文件就是干了很多类似的事情

有网友反应的是新驱动缩小了细节画面的距离,高质量的shader需要离物体更近才能启动。不是说和3800对比画面的事情。



.9驱动我自己还没试验,等我试验一下看看。

link 发表于 2007-11-16 16:04

感谢楼主的强文!

nokia5510 发表于 2007-11-16 21:36

好文,长知识,要顶!

wdy414 发表于 2007-11-17 11:34

好文,可惜不玩。

neeyuese 发表于 2007-11-17 17:10

发觉自己眼睛瞳孔还没放大到可以识别D9下VERY HIGH和D10下VERY HIGH的区别.

小高潮 发表于 2007-11-29 22:20

刻意追求100%画质无损,那就仅仅只能通过钱包的付出[s018] [s018]

years 发表于 2008-2-29 20:25

强啊...可惜我机子太烂

peubaggio 发表于 2008-3-7 15:14

[quote]原帖由 [i]石头[/i] 于 2007-11-15 15:12 发表 [url=http://bbs.ocer.net/redirect.php?goto=findpost&pid=1208033&ptid=171891][img]http://bbs.ocer.net/images/common/back.gif[/img][/url]
有一种最重要的优化,楼主一定忘了,就是超频! [/quote]


[s018] [s018] [s020]

页: [1]
超频网——中国电脑精英玩家基地

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.