DX10终极杀人武器!Crysis全方位测试
2004年初,德国游戏开发商Crytek第一次让我们感受了孤岛惊魂;2007年底,Crytek再度让我们体验了孤岛危机!
一直为玩家津津乐道的第一人称射击游戏《孤岛惊魂》(FarCry)的续作《孤岛危机》(Crysis)试玩版已经发布,这是Crytek继FarCry之后,精心打造的第二款热点大作。
一年半的等待,屡次跳票的打击,当这部革命性的旷世游戏巨作真正来临之时,我们终于有机会去揭开它原本神秘的面纱……
1.2006年E3大展初露锋芒
2.2004一鸣惊人!Crytek简介
3.绝对黑马!空前美丽的FarCry
4.Crytek和育碧分手!Crysis出炉
5.打造一流的产品!Crytek拥抱EA
6.斗气之作?育碧打造FarCry2
1.等等等!艰难跳票历程
2.游戏历史图片:战斗类场景
3.游戏历史图片:主角特写
4.游戏历史图片:士兵写真
5.游戏历史图片:第一人称视角
6.游戏历史图片:游戏室内室外场景
7.游戏历史图片:雪地中的战斗
1.单人游戏主要武器:SCAR步枪
2.朝鲜士兵主要武器:FY71突击步枪
3.最具可玩性:Nano作战服
4.最值得期待的武器:分子捕捉器
5.载具部分:朝鲜T-108坦克
6.游戏中的载具:装甲车辆
7.垂直起降类空中载具
8.海陆空立体战:游戏中的舰船
1.DirectX10架构特性及其优势
2.Shader Model 4.0
3.几何Shader以及Stream Out
4.高级渲染语言(HLSL 10)
5.其他改进和游戏效果
6.CryEngine 2引擎特性:地图编辑器
7.CryEngine 2引擎特性:音效、光照和阴影
8.CryEngine 2引擎特性:集成工具
1.Crysis画面和真实自然风光对比
2.Crysis画面堪比现实场景
3.Crysis画面和考艾岛对比
4.更加清晰的老对比图
5.虚幻3引擎时代即将结束
6.DX10引擎更加华丽
7.同是DX10!Crysis对比Warhound
1.集最新特效于一身 Crysis的DX10最成熟
2.体积光照并非WIC专利!Crysis更精彩
3.视差贴图不是COJ专利!Crysis更真实
4.景深不是失落星球专利!Crysis更明显
5.HDR+AA不是A卡专利!DX10完美支持
6.Crysis独有高级特效:破坏场景/昼夜交替
7.DX9优异特效升级版:软阴影/动态模糊
8.DX10集大成者!Crysis令人望眼欲穿
1.Crysis并不恐怖 新老显卡全兼容
2.Crysis四个等级画质对比(720P)
3.CrysisDX9 vs.DX10对比(1080P)
4.1600×1200!demo最高特效黑夜截图
5.1600×1200!demo最高特效白昼截图
6.CPU测试程序截图
7.GPU测试程序截图
1.提个醒!制作方谈游戏的配置
2.多核不浪费!CPU性能对比测试
3.夸张!内存使用测试
4.二十三款显卡测试成绩横向对比
5.巅峰较量!6款高端显卡对决
1.显卡优化设置篇:8800Ultra
2.显卡优化设置篇:8800GTX
3.显卡优化设置篇:8800GT
4.显卡优化设置篇:8800GTS 640MB
5.显卡优化设置篇:8800GTS 320MB
6.显卡优化设置篇:2900XT
7.显卡优化设置篇:2900Pro
8.显卡优化设置篇:7950GX2
9.显卡优化设置篇:8600GTS
10.显卡优化设置篇:8600GT
11.显卡优化设置篇:2600XT
12.显卡优化设置篇:7900GS
13.显卡优化设置篇:X1950GT
14.显卡优化设置篇:2600Pro
15.显卡优化设置篇:X1650GT
16.显卡优化设置篇:7300GT
1.老显卡慎用!专用优化驱动实测
2.全文总结:PC游戏的明天
● 2006年E3大展初露锋芒
在2006年的E3大展上,Crytek的展台公司凭借一段长达6分26秒的Crysis游戏演示介绍视频吸引了众多玩家驻足。视频中摇摆的棕榈树、漂浮的灰尘颗粒、虚无飘渺的云层、人物面部短短的胡须和表现几近真实的各种动态物体让整个会场为之沸腾。
Crysis作为PC独占的FPS游戏大作,虽然屡次跳票,但用户关注度丝毫不减;在跳票期间,Crysis每释放出新的截图或者视频,必能引起轩然大波,给人带来不小的震撼力。虽说今年经典的FPS游戏不在少数,但它们和Crysis相比,就如同是萤火之光对皓月之明,不可同日而语!
那么Crysis为何如此备受期待呢?道理很简单,就是因为它的画面实在是太完美了!我们都知道,FarCry是首批DX9游戏,其画面在3年前让人惊叹不已,也首次让大家见识到了DX9和DX9C(通过补丁支持)的威力,而现在Crysis作为FarCry的正统续作,则是被所有人寄予厚望,期望从它身上见识到DX10的魅力!
Crysis曾被誉为是首款DX10游戏,但随着不断跳票这一称号已经拱手让人,此前先后有五款DX10游戏正式发布。但是,这些身披DX10光环的游戏并没有给玩家带来视觉上的惊喜——因为大多数游戏只是使用了很少的DX10特效,导致DX10模式与DX9模式几乎没有区别,然而DX10模式下速度的下降却是相当恐怖,即便是高端玩家也不敢轻易开启这些并不完美的DX10特效!
于是,大家对于DX10的期望全数落在了Crysis身上,希望Crysis这款“原生”DX10游戏能够充分利用软件和硬件资源,将DX10的实力和效果发扬光大。
● 2004一鸣惊人!Crytek简介
提到Crysis我们就不得不提到Crytek,Crytek是一家总部位于德国法兰克福的交互式娱乐开发公司,全称为Crytek GmbH。该公司曾被评为“Best Independent European Studio 2004”(2004年欧洲非常好的独立工作室)和“Best Independent New Studio 2004 Worldwide”(2004年全球非常好的独立新工作室),是屡获大奖的新一代第一人称射击游戏《Far Cry》和DX10救世主《Crysis》的开发商。
作为Crytek首席执行官的Cevat Yerli也是最近几年在游戏业界出尽了风头的人物。早期的Crytek工作室是由Faruk、Avni和Yerli三兄弟创立,现在公司有上百名来自世界各地的员工。
早在2000年Crytek就在E3上演示了X-isle引擎,这个引擎就是Cryengine的前身,后来被NVIDIA看中,用来演示GeForce 3。
但当时在那个以Unreal Engine为代表的EPIC和以Quake Engine为代表的ID公司这两大技术龙头你追我赶并肩称霸游戏引擎界的年代,Crytek依然只是个小角色,影响力甚至不如凭借SOURCE Engine打造《半条命》系列的Vavle。
育碧老总Yves Guillemot在Crytek还是默默无闻之际充当了伯乐的角色,冒着风险承担了Crytek首款正式产品《FarCry》首作的发行任务。结果这匹当时绝对的黑马一鸣惊人,其用来开发《FarCry》的Cry Engine对业界的震撼让当年的Unreal都相形失色。
● 绝对黑马!空前美丽的FarCry
《FarCry》(孤岛惊魂)在2004年初将我们带入一个空前的美丽世界,之前我们一直把目光盯在像id Software和Valve这些老牌开发公司身上。而Crytek却凭借FarCry彻底征服了所有玩家和同行。FarCry并非单靠技术取胜,其实它在非常好的单人第一人称主视角射击游戏上的成就好比当年的《Half-Life》(半条命)。
在FarCry里,玩家扮演叫Jack Carver的家伙,受雇于一名神秘妇女带她航行在太平洋上。然而Jack的船忽然受到攻击,后来游上一个热带岛屿,不见了神秘妇女,Jack必须慢慢熟悉周围环境,寻找她,并最终把她从一群全副武装的军人手里救出。由此你会进入一个类似《半条命》风格的庞大故事,故事很好地把半条命的黑山研究所、侏罗纪公园理念、詹姆斯邦德式的大结局糅合在一起。
游戏的光影效果给人留下了深刻印象,但是需要硬件足够强硬才能真正享受到这一切。如果不介意画面感受,只是想体验游戏过程,低级别的图像设置可以接受较低的硬件配置。FarCry之所以与众不同,就是在它绝美的画面,较低品质下的游戏是大打折扣的。还有一点令人吃惊的是,这个如此复杂的游戏运行稳定,基本没有bug ,令人钦佩。
最重要的是游戏使用的Cryengine有着令人激动前景,Crytek还随游戏附送了编辑器,这对于那些MOD迷来说无疑是份好礼物。FarCry是一款上乘之作,它把当时游戏的图像水平提升到一个新的高度。但是,游戏并非只是个成功的技术展示,在游戏中,图像仅仅是让你沉浸在游戏中的因素之一,开发者把图像引擎、AI 、音效、关卡设计这些要素都把握的恰到好处,为我们创造了一个让人流连忘返的美丽世界。
● Crytek和育碧分手!Crysis出炉
FarCry自2004年发布以来仅在美国一地就售出42万5千套,席卷1290万美元,当时来说顶尖的DX9画面是其一大卖点。游戏开发商是德国Crytek,但游戏发行商是Ubisoft(育碧)。FarCry奠定了Crytek在业界的地位,但是在开发过程中其和育碧的关系已经开始变得紧张。作品最后完工了,同时双方的互信也消耗殆尽。
也许是觉察到了什么,也许是发现了CryEngine的巨大商机,在发布Xbox版《孤岛惊魂:本能进化》和Xbox 360版《孤岛惊魂:本能掠夺者》之后,育碧宣布完全从Crytek处获得FarCry系列的知识产权和CryEngine游戏引擎的永久授权。至此开始育碧将拥有唯一的游戏开发权,还可以利用“游戏角色、造型、版权和环境设定”发布“任何格式的终结、附加、衍生和推销产品”,同时育碧也可以利用FarCry版的CryEngine引擎任意开发、销售、分发“无限制数量”的游戏,而且无需和FarCry知识产权有任何关系。但这次的协议不涉及Crytek的CryEngine 2引擎和Crytek的新计划——DirectX 10大作《孤岛危机》(Crysis)。
在开发FarCry时,Crytek知道他们面对的是《毁灭战士3》、《半条命2》这样的强敌,他们的背后是id Software和Valve这样的全球顶尖FPS制作室,与他们相比,Crytek这家名不见经传的小制作室实在很难引起注意。为了能在《毁灭战士3》和《半条命2》之前推出,FarCry成了一款匆忙赶制的游戏。虽然FarCry最后仍然让业界位置震撼,但是Crytek对于这款游戏还有很多遗憾。
而Crysis是对这种遗憾的补偿。这绝不仅是有着更好图形引擎的FarCry加强版,在很多方面,这款游戏都有着更高的深度。Crysis的许多灵感都来源于电影《铁血战士》(Predator)。作为Far Cry的续作,Crysis同前作一样并不只是将精力放在FPS元素上,而是在表现游戏性上下足了功夫。
例如,如果你的某位战友很早就被杀死,他在游戏后期就无法给你某个重要情报。虽然仍然可以通关,游戏的过程将因此发生很大的变化。本作将会更具战略性,你需要经常在游戏中做出决策。例如你所穿的纳米服将会有很多特殊能力,当敌人火力太猛时,你可以提高防弹性能,或者提高速度以灵巧躲避。
Crysis的开发从2004年FarCry的最后开发阶段就已经开始了,当时Cevat Yerli对设计组提出了一个挑战:将游戏中茂密的丛林场景化为冰天雪地,将其变为“冰冻天堂”。这不仅是一个技术挑战,也是在剧情上的挑战。在极低温的环境下,丛林中的树木和各种物体纷纷碎裂,当然他们还要解释为何热带的丛林会被冰封。这样一来就只能用外星人入侵这样的主题了,而实际上,当初FarCry原本就是设计了两个外星种族和恐龙之间的战斗。
Crysis故事发生在2019年,一颗巨大的陨石坠落到某列岛上。朝鲜封锁了该列岛,试图对该陨石进行调查,以便独家拥有其中可能蕴藏的研究价值。美国对此当然不会袖手旁观,于是派出了三角洲部队,调查在该岛上发生的事件。就在两国为陨石事件而冲突之际,陨石突然打开,从里面出现了外星飞船,外星人的目的是征服世界。外星飞船拥有强大的武器,世界的气候系统因此发生异变,列岛的一部分被完全冰冻了。面对这样的强敌,人类联合起来全力对抗。在游戏过程中,玩家将会在丛林、山脉、城镇以及外星飞船内部战斗。
● 打造一流的产品!Crytek拥抱EA
当FarCry在美国一地就席卷1290万美元后,全球最大游戏软件商EA与Crytek签定战略合作伙伴关系,Crytek将辅助EA开发一个PC原创大作系列,该系列将会成为EA的又一个重头戏,首当其冲的自然是Crysis。
EA和育碧都是处于领导地位的游戏发行商,也是行业内最大的竞争对手,Crytek改换门庭一事一时间也成为业界的最大焦点。Crytek的首席执行官Cevat Yerli在接受GameIndustry的采访时称,与当初的育碧相比,自己现在的发行商EA公司提供了更多的自由空间和更好的支持。他对目前与EA的合作非常满意:“我们能更专注于自己的事务,同时能请求更多的支持;而EA也乐于提供,因为双方都想打造出第一流的作品。”
但同时他又承认之所以取得当今这种地位要归功于育碧所代理的前作大获成功:“这些殊荣来自于第一代Farcry取得成功之后,这部作品奠定了我们在业界的地位。无论结局如何,我都要向育碧和Yves Guillemot表示深深的谢意,他们冒险接纳了我们,没有他们,估计我们也活不到今天。”
育碧老总Yves Guillemot
现在Crytek不仅活了下来,而且还在不断地壮大,其麾下的CryEngine2游戏引擎甚至已渗透到了网游领域。
● 斗气之作?育碧打造FarCry2
虽然Crytek已经投入了EA的怀抱,双方联手打造新一代的Crysis,但是款游戏DX10游戏界的焦点却屡次跳票。
带着FarCry的光环,FarCry2代的DX10引擎能否延续经典?
眼看大好商机将要拱手让人,因此育碧也不甘示弱,他们有FarCry的冠名权,所以育碧重新打出了FarCry的旗号,联手蒙特利尔工作室(波斯王子的开发商)开发FarCry的续作并命名为FarCry2,该开发室眼下正忙于制作《刺客信条》。
和一代FarCry玩家只扮演1个角色——Jack Carver不同,玩家在FarCry2当中将有8个角色可以选择,选择不同的角色将影响游戏的进程。可以看出,由于游戏开发商易主,因此游戏画面风格以及人物风格与上代的变化非常大。
预计FarCry2将于明年春季上市,晚于Crysis,目前所获得的资料少之又少,只知道肯定会采用DX10引擎,而且可以兼容DX9,故事情节应该发生在非洲大草原,场面华丽壮观!不过能否重现当年FarCry的辉煌就不得而知了。
● 等等等!艰难跳票历程
从06年的E3大展首次公布视频到如今demo出炉,Crysis经历了N次的跳票。在06年7月的时候,EA正式宣布Crysis将与微软的新操作系统Windows vista一同出货,定于2006年年底。但是后来的消息表明DirectX 10不会整合在最初的vista中,Crysis的发布时间随后被延迟到了06年和07年交替的时刻。
在06年9月的时候,Crysis的首席设计师Jack Mamasis站出来强调了游戏的单人任务模式将有前所未有的魅力。并宣称游戏计划在06年内发布,同时还公布了游戏的最低系统配置要求。一切看到都是Crysis面世的时刻,可惜当时间走到了2007年,Crysis还是没影。
在跳票了半年后,全球著名的电子商务站点新蛋网站在2007年3月1日开始提供对Crysis的预订,当时网上的预定价格为60美元,但是居然连游戏封装图片也没有,何时到货也未进行说明。
随着Crysis继续遥遥无期,最后预定之事不了了之。时间走到了2007年4月,游戏的各种详细开始多起来,最早公布的是游戏场景列表,然后是越来越多的游戏图片和视频,特别是DX10下和真实场景的对比图片已经足以以假乱真。
在2007年7初,各种消息都开始表明Crysis会在9月出台,EA接着正式宣布游戏会在9月25号提供一个完整支持DX10的单人demo,正式版要等到11月中旬,似乎一切都明朗了。可是真到了9月,EA又宣布demo跳票一个月到10月26日,而网络上已经有了多人beta版供尝鲜,可惜仅仅支持DX9,而且需要序列号,只有极少数玩家能尝鲜,游戏最后一次跳票混杂着缩水总算让无数玩家们熬过去了。
● 游戏历史图片:战斗类场景
以下是游戏从公布之时起到试玩面世前陆续公布的游戏图片,但愿这些是曾相识的画面能勾起你当初的回忆。
● 游戏历史图片:主角特写
● 游戏历史图片:士兵写真
● 游戏历史图片:第一人称视角
● 游戏历史图片:游戏室内室外场景
● 游戏历史图片:雪地中的战斗
真实与虚幻!Crysis武器装备全面介绍
SCAR(SOF战斗突击步枪)是你在单人游戏中的主要武器。它同现在美军正在装备的FN SCAR同名,但与其并没有什么联系,而是以德国HK公司的XM8步枪为原形设计的(大家可以看下面的Crysis的SCAR概念图同真实的XM8的对比,虽然如护木这样细节存在差别,但整体基本是一样)。它单个弹夹可以容纳30发子弹,并可以发射普通、高爆和特殊的战术弹药。战术弹药是crysis游戏的一大特色,其共分为四种:
Crysis里的SCAR概念图
真实的HK XM8,它在美国下一代的突击步枪竞标中败给了FN SCAR
游戏中的SCAR
麻醉弹最多可以发射四发,当它激活的时候可以让敌人睡上一段时间。噪音弹可以发出尖锐的响声,转移敌人注意力或者吸引入陷阱。
追踪器在发射到敌人身上后可以提供敌人的方位信息,它也可以用在包括外星人和动物的NPC上。
爆破弹可以在发射后引爆摧毁设备或者杀伤敌人。
同时玩家可以在它上面加装光瞄、榴弹发射器、消音器等设备:
Crysis的狙击光学瞄准镜是一种简单的钢制10倍Mil-Dot式光学瞄准镜,并带有弹道修正钮用来修正重力引起的子弹偏移。其可以用来搜索和猎杀远距离的目标。
在Crysis里有两个类型的中距突击瞄具,分别类似于ACOG先进战斗光学瞄准镜和反射式瞄准镜。在游戏中它们合适与中距战斗和快速接火,并有夜视能力。在游戏中同样可以使用机械瞄具。
消音器可以让你不知不觉的消灭敌人而不被发现,但其会降低射速和威力。
FY71突击步枪是朝鲜士兵的主要武器,其是以AK74为原型,同样也可以加装光瞄、榴弹发射器、消音器、战术手电等设备。
美军霰弹枪(现在暂时不知道其名称)是一种滑杆式散弹枪,同样也可以加装光瞄、榴弹发射器、消音器、战术手电等设备。它可以容纳六发子弹。
LAW导弹发射器是一种以反坦克、直升机和轻型车辆的M136 AT4为原型的肩抗式导弹发射器,它有热导和运动追踪能力。它可以容纳三枚导弹,并最多可以携带九枚导弹。
MPX8是一种以MP7后发展出的短距冲锋枪,可以加装光瞄、消音器、战术手电等设备。弹夹可以容纳40发子弹并且有极高的射速。
Shi Ten是单人游戏里朝鲜的固定机枪,你也可以在多人游戏的战略点找到它们,它是以中国的88型机枪为原型。在车辆和船只上页可以看见它。如果在载具上它弹鼓有500发容量,如果是三脚架的只有200发。
游戏中的Shi Ten可以有效的杀伤敌人和对付轻型车辆和直升机
真实中的中国88式通用机枪
另外游戏截图中还出现了另外的一种狙击步枪,现在还没有它的具体情报,估计为半自动,7.62毫米。
Nano作战服可以在速度、力量和回复模式下切换。在速度模式玩家可以快速的跑动,在力量模式可以打翻汽车、打垮墙壁和屋顶,还可以将敌人拎起来甩得很远。
而在回复模式下就可以回覆HP,Nano作战服还有抵御寒冷。
C4塑胶炸药可以吸附在任何物品表面,然后可以在安全距离外引爆就可以看焰火了。
自动火力点是类似于荷兰守门员、美国密集阵和中国730类型的近距武器系统CIWS的升级版本,是弹炮合一的,用于基地防御。
地雷被引爆会在前方60度100米范围内爆发出钢珠杀伤敌人步兵。
反坦克地雷可以安置在公路上,会被重型车辆引爆。
分子加速器:这个外星武器没有弹药限制,它可以将空气中的水分凝结成冰柱,然后可以用极高的速度射向敌人。
分子捕作器:它应该是Crysis里最值得期待和最有趣的武器,它可以发射出冰冻射线将敌人冻住,然后可以击破。nano服可以提供一定对其的防护。
分子捕作器的概念图
分子捕作器发出射线可以冰冻住敌人,然后你可以用武器甚至是拳头轻易的将其打成碎片,十分有意思。
黑洞炮:这个武器射击爆炸后会产生一个有极高引力的小型黑洞,将其周围所有的东西都吸进去。
朝鲜T-108坦克是朝鲜的最普通坦克,有资料说是以中国59式坦克为原型,但我看其和59差别很大,也不同于朝鲜自己天马虎坦克,反而更象美国的M60,其在前部和炮塔有反应装甲。
朝鲜T-109坦克是朝鲜的重型坦克,其以中国的99式坦克为原型,可以使用外星科技升级。
这张早期的T-109上甚至可以清晰看见“八一”红星
真实的中国ZTZ-99主战坦克
M5A2阿尔塔斯重型坦克是美军的普通坦克,其以M1为原型
XM544 Thor坦克出现在多人游戏的购买菜单中
HMLTV-998牛头犬是带有顶部机枪通用越野车辆,其是以东风EQ2050为原型(也就是我们常说的东风铁甲),它比吉普更为牢靠,可以搭载五名成员。(四人乘坐一人控制机枪)
HMLTV-998模型
真实的东风铁甲,其实细节差别还是比较大,只能说是同一类型的车
中国吉普(暂不知道名称)是四座的快速运输工具,以北京吉普BJ2022为原型,期并不带防御武器。
朝鲜人员运输卡车带有一挺机枪,它倍用于运输步兵和补给。
现实中的PGZ-95
自行防空炮是中国陆军的防空武器,它是以中国PGZ-95为原型。
VTOL垂直起降飞机是美军的主要空中运输工具,它也装备了机枪和火箭,搭载能力未知。
中国攻击直升机:这大型直升机需要一名驾驶员和一名火控员,它是朝鲜军队的主要空中运输工具,看上去融合了直10和米24的特点,装备有机枪和火箭发射器,还可以搭载步兵,但搭载能力未知。
前部有单管机枪
后部还有蜂窝式火箭发射器可以有效攻击装甲车辆
内部还可以搭载步兵
美国喷气式战斗机出现过在两张航母和机场的概念图中,看上去类似F-35或者F-18,它是否可以由玩家自己驾驶还未知。
美军航母是此区域军事行动的支援舰只,也是Jake的行动基地,后被外星人摧毁。
美军潜艇作为多人游戏美军的基地。
导弹艇在视频里用导弹攻击海岸的悬崖,它是以中国2208导弹艇为原型,装备导弹和AK630火炮,远处大舰有可能是现代级驱逐舰。
现实中那88机枪攻击22快速导弹艇不会有什么作用
现实中的2208导弹艇,一般情况会有海洋迷彩,而不是白色
猎手是巨型的蜘蛛型的武器,它可以象抓布娃娃一样抓起敌人的车辆和战机,它页可以用触手抓起人类和使用冰冻射线,还会发出雷暴般的咆哮警告靠近它的敌人。
DirectX10 游戏的美好未来
● DX10新特点概要
Microsoft发布的DirectX 10代表了自从可编程Shader出现以来在3D API方面的最巨大的进步。通过一番脱胎换骨般的重建,DirectX 10展现出一系列非常醒目的新特性,包括高度优化的运行时,强大的Geometry Shader,纹理数组等等;这些特性将引领PC实时三维图形进入一个全新的世界。
在过去的十年中,DirectX已经稳步成为了Microsoft Windows平台上进行游戏开发的首选API。每一代的DirectX都带来对新的图形硬件特性的支持,因此每次都能帮助游戏开发者们迈出惊人的一步。
● DX10的架构特性以及带来的好处
DirectX之所以在广大的开发者中流行,是得益于它的简单易用和丰富的功能特性。然而,DirectX一直被一个主要的问题所困扰,那就是高CPU负载。
在图形编程API出现之前,三维程序直接向图形硬件发送图形命令来完成绘制工作。虽然这样绘制效率相当高,但是程序中要应对各种不同硬件上的不同命令,这使得开发工作十分困难,且程序中很容易出错。当越来越多不同的图形硬件冒出来的时候,这就成了一件十分不能忍的事。
于是便出现了像DirectX和OpenGL这样的图形API。它们在图形硬件和应用程序之间架起了一个中间层,这样,应用程序可以使用统一的图形编程代码,而对底层各种硬件的适应,则由图形API来完成。这就将游戏程序员们从与大量的图形硬件交换意见的恶梦中解救出来,使他们能够将精力集中在“制作伟大的游戏作品”上面。
但是这样就完美了么?不是的。每次DirectX从应用程序那里接收到一条命令,它就需要先对这条命令进行分析和处理,再向图形硬件发送相对应的硬件命令。由于这个分析和处理的过程是在CPU上完成的,这就意味着每一条3D绘图命令都会带来CPU的负载。这种负载给3D图象带来两个负面影响:限制了画面中可以同时绘制的物体数量;限制了可以在一个场景中使用的独立的特效的数量。这就使得游戏画面中的细节数量受到了很大的限制。而使图像具有真实感的重要因素,偏偏是细节量。
DirectX 10的一个主要目标就是最大地降低CPU负载。它主要通过三个途径来达到这个目的:第一,修改API核心,使得绘制物体和切换材质特效时的消耗降低;第二,引入新的机制,降低图形运算操作对CPU的依赖性,使更多的运算在GPU中完成;第三,使大量的物体可以通过调用单条DirectX绘制命令进行批量绘制。下面我们就来仔细的看一下这三种方式:
1.降低绘制消耗
第一种方式的一个重要例子就是DirectX 10中对三维数据和绘制命令进行验证过程的修改。所谓三维数据和命令的验证,是指在DirectX绘制图形之前,对传给它的图形数据和绘制命令进行格式和数据完整性的检查,以保证它们被送到图形硬件时不会导致硬件出问题;这是很必要的一步操作,但是不幸的是它会带来很大的性能开销。
从上表我们可以很容易的看出,在DirectX 9中,每次绘制一帧画面之前,都会对即将使用的相关数据进行一次验证。而DirectX 10中,仅当这些数据被创建后验证一次。这很明显是可以大大提高游戏进行中的效率的。
2.降低CPU依赖性
在降低CPU依赖性方面,DirectX 10 引入的三个重要机制就是:纹理阵列(texture arrays)、绘制断言(predicated draw)和数据流输出(stream out)。不要被这三个晦涩的名词吓倒,实际上它们是三个不难理解的机制。
首先我们来看纹理阵列。传统的DirectX在多张纹理中进行切换的操作是一个很消耗CPU的操作,因为每切换一次,都要调用一次DirectX的API函数。而每绘制一个使用新纹理的物体,就要进行一次这样的切换操作;有时为了实现特殊的材质特效,绘制一个物体时可能就要切换好几次纹理,开销很大。
所以,以前游戏美工们经常索性将大量的小纹理拼合到一张大的纹理中,通过给不同的三维物体分配这张大纹理的不同局部以期减少纹理切换,提高游戏运行效率。然而,想想也知道,这件事做起来会非常麻烦,而且DirectX 9中对纹理的尺寸的限制是4048×4048像素,也就是说,如果要容下更多的小纹理块,可能就得开辟很多张这样的大纹理。
DirectX 10引入的新的纹理阵列机构,将允许在一个由显卡维护的阵列中容纳512张单独的纹理,而且,在shader程序中可以使用一条新的指令来获取这个阵列中的任意一张纹理。而这种shader指令是运行在GPU中的;这样,就把原来要消耗很多CPU时间的纹理切换工作轻松地转给了GPU。由于纹理一般是直接放在显存中的,所以这件事由同显存一起放在显卡上的GPU来完成真是天经地义,大快人心。现在,在应用程序的层面,只要一开始设置好纹理阵列中的纹理,然后每次绘制一个物体时为它指定一个纹理的索引号,并同物体三维数据一起传递到shader中,就可以放心的让GPU来给物体选纹理了。
然后说说绘制断言。在一般的三维场景里,很多物体都是完全被别的物体挡在后面的。这时候如果要显卡绘制这些物体就是白费力气。尽管高级的GPU可以通过硬件算法将场景画面中被挡住的像素(注意是像素)预先剔除,但是仍然会有一些处理消耗。例如,一个完全被挡住的复杂的角色模型,它的身上可能有几千个顶点,需要做复杂的骨骼皮肤动画处理、顶点光照运算等等——然而,GPU是在处理完这些顶点之后,并要把这个角色模型一个像素一个像素地画到画面中时,才开始判断每个像素是否需要画——当所有的像素都被剔除了时,之前做的顶点处理也就全白费了。于是,游戏开发者们想出了一个方法来解决这个问题,这就是绘制断言。
简言之就是用一个可以代表某个复杂物体的简单物体来判断这个物体是否被全部挡住了——例如用一个可以罩住刚才那个角色的大盒子,当绘制这个盒子时,如果所有的像素都被P掉了,也就说明这个盒子肯定完全看不见,更甭说里边的角色了,也就不用做什么骨骼皮肤运算啦之类的操作了。一个盒子顶多有八个顶点,这学过初中几何的人都知道,相比处理几千个顶点,开销小得多。但是,以前这步中有些部分也是要在CPU中完成的。现在,在DirectX 10中,已经彻彻低低的交由GPU来做了。真是很周到啊。
最后来看看数据流输出。这是一个DirectX 10中的非常重要的特性,它允许GPU上的Vertex shader或Geometry shader向显存中添加数据!您也许觉得这感觉没什么,然而在以往的vertex shader中是比较独特的。以前的DirectX中,vertex shader只能读取显存中已有的顶点数据;而DirectX 10中引入的新的Geometry shader,不但能读取显存中的顶点数据、几何(点、线段、三角形)数据,还可以生成新的几何数据放回显存。鉴于其重要性,这一机制我们将在第四节:几何Shader以及Stream Out中单独介绍。
3.批量绘制
在DirectX 9中,对渲染状态的管理一直是一个十分消耗CPU时间的操作。所谓渲染状态,是指显卡进行一次绘制操作时所需要设置的各种数据和参数。例如,要绘制一个人物角色,就需要先设置他的几何模型数据的数据格式、纹理过滤模式、半透明混合模式等等——每设置一项,都要调用一次DirectX API,占用大量CPU时间,极大的约束了渲染的性能。
为了使这些操作能够批量的进行,DirectX 10中引入了两个新的结构——状态对象(state object)和常量缓冲(constant buffers)。
状态对象就是将以前的零散状态按照功能归结为几个整体,这样,当要设置一系列相关状态时,无需为每一个状态来调用一次DirectX API,只需要调用一次将这些状态统统设置到显卡中去。
而常量缓冲是另一个十分有意义的机制。在绘制模型前的准备工作中,渲染状态的设置只是一小部分。还是拿绘制人物角色来说,能照亮这个人的光源的颜色、位置、类型、范围等等,都要提前设给显卡;为了通过骨骼来带动他的皮肤做出姿势,还要设置骨骼的位置信息等等——总之是很多东西;而这些东西主要都是通过GPU中的常量寄存器(constant registers)来传递给它的。每个常量寄存器可以存储一个4维的浮点型向量(即四个浮点数)。常量寄存器是游戏程序向GPU输入游戏场景中数据的重要途径。在DirectX 9中,这种常量寄存器的数量是十分有限的,这在下文中的对比图表中我们也可以看到;而且每次更新一个寄存器,都需要调用一次DirectX API函数。而DirectX 10中,使用了常量缓冲(constant buffer)这种结构;在每个constant buffer中都可以容纳4096个常量,而且只需调用一次API就可以更新一大批常量。
采用constant buffer绘制的大量克隆物体
图片来源:Microsoft DirectX 10 SDK
举一个具体些的例子来对比一下:在以前,如果程序中想在场景里画很多的树木和杂草,可以采用一个类似于“克隆”的方法:先做好一棵或几棵树、草的三维模型,然后在画一帧画面时,不停的在不同的位置、方向,用不同的大小为参数,调用DirectX API的绘制函数来画这些模型,就可以画出很多草木来;但是每画一棵,都要设置一大堆参数后调用一次API;这是很耗CPU时间的,所以在以前的游戏中很难有大规模且细节丰富的森林场景。
而在DirectX 10中,我们可以先把树、草的几个模型设给显卡,然后将所有要画的树木的位置、方向和大小一次性的写入到constant buffer中,然后告诉DirectX——画!显卡就一下把所有的树木和草都一起绘制出来了。 这样,像Crysis那样的游戏,才能营造出十分逼真的森林效果。
总结
总之,DirectX 10降生到这个世上,就是为了带走由于CPU负载过大而给游戏图形效果带来的苦难。通过提前数据验证、纹理阵列、绘制断言、数据流输出、状态对象、常量缓冲等机制,帮助游戏的效果和效率上升到一个新的高度。
● Shader Model 4.0
当Shader Model 3.0的光彩尚未退去的时候,在DirectX 10中,又引入了Shader Model 4.0。它包含下面几项革新:
1.加入了一种新的Shader——Geometry shader
通过它可以编程操纵几何图元;为vertex、geometry、pixel shader采用了统一的Sahder架构。Geometry shaders是可编程图形流水线的一大进步。它第一次允许由GPU来动态的生成和销毁几何图元数据。通过和新的数据流输出功能配合使用,许多以前无法实时使用的算法现在都可以在GPU中使用了。
2.统一的Shader架构
在DirectX 9中,Pixel shader总是在各个方面落后于vertex shaders,包括常量寄存器个数、可用的指令个数、shader长度等。程序员需要区分对待这两种shader。
而在shader model 4中,这vertex、geometry和pixel shader有着统一的指令集、同样的临时/常量寄存器个数。它们将平等的共享GPU中的所有可用资源。在游戏程序中不用再考虑每种shader自身的限制了。
3.百倍于DirectX 9的可用资源
对于shader中可用的资源,在Shader model 4.0中比原来有了惊人的扩充。就像早期的程序员们绞尽脑汁的省着用可怜的640k内存一样,在使用以前的DirectX开发游戏的过程中,程序员需要小心翼翼的分配珍贵的shader寄存器资源。寄存器的数量,直接影响着shader程序的复杂度。这和在640k内存的机器上,怎么也不可能写出Microsoft Office这样的大规模软件是同一个道理。而在DirectX 10中,将临时寄存器由原来的32个扩充到了4096个,将常量寄存器由原来的256个扩充到了65536个!而这些并不仅仅是DirectX给出的理论值——在Geforce 8800架构中,它们都是实实在在的在显卡上面的!
4.更多的纹理
在Shader Model 4.0中提供了对纹理阵列(Texture arrays)的支持。在前文中已经对纹理阵列有了比较详细的介绍,在这里只着重介绍一下与shader相关的部分。在每个纹理阵列中,最多可以保存512张同样大小的纹理。而且每张贴图的分辨率被扩展到了8192×8192。更大的分辨率意味着纹理中更丰富的细节。在一个shader中能够同时访问的纹理个数被增加到了128个,也就是说在每次执行同一个shader时,可以使用一个纹理阵列的512个纹理中的128个。所以说,在DirectX 10中,纹理的多样性和细节程度将会有大幅的提升。
5.更多的渲染目标(Render Target)
所谓渲染目标,就是指GPU可以把画面绘制到的目标,我们可以把它理解为GPU的画布。一般来说,渲染目标被输出到屏幕上,这样我们就能看到画好的画面了;但是有时为了实现一些特效,某些渲染结果并不直接画到屏幕上,而是再返给GPU做进一步的特效处理;而且渲染目标中也不一定是画好的画面的颜色信息。
根据特效的需要,它们可能是每个物体距离屏幕的远近,或者物体表面上每个像素的方向,或者每个物体表面的温度(为了实现《分裂细胞》中那种热能感应器的效果)…总之为了实现特效,可以按需要在其中绘制任何信息。为了提高这种情况下的效率,很多新的显卡都支持在同一遍Shader执行结束后,同时把不同的信息绘制到不同的渲染目标中。在DirectX 9中就已经支持这种机制了,但是它约束最多同时向四个渲染目标绘制。而DirectX 10将这个数量提升了一倍。
6.新的HDR颜色格式
要说这些年来在实时图形界炒得最热的概念,应该是HDR了。它通过采用浮点格式的颜色格式来为纹理、光照等计算提供极大的精度和颜色范围(以前的纹理一般都是采用整数型的颜色格式)。尽管最后显示到屏幕上还是每个颜色通道8位的整数格式,但是以前由于在材质、光照计算中纹理也是用每通道8位的格式来参与计算,所以在显示到画面之前,很多细节就在低精度的运算中丢失了。
而采用每颜色通道16位浮点数的纹理,能够保证在运算过程中几乎没有颜色细节信息的丢失。另外,采用16位浮点格式的颜色通道,可以表现更大的颜色范围。这些就是HDR的优越性。对于玩家来说,当游戏中的画面罩上一层HDR效果后,立刻显得和真正的照片一样,有朦胧的光晕、细致的高光和十分自然的色调。在玩《优品飞车9》时,充满风格的色调让人有一种置身于电影里的感觉。
然而,采用每个颜色通道16位浮点数的格式,比采用每通道8位的整数格式的纹理要多占据一倍的显存;这给绘制的效率带来了负面的影响。所以在DirectX 10中引入了两个新的HDR格式。第一种是R11G11B10,表示红色和绿色通道用11位浮点数,而蓝色通道采用10位浮点数表示。那么,为什么不都用11位呢?这是为了凑32这个整数。学过计算机的人都知道,当内存中一个数据单元的宽度是32位时,对它的操作效率最高;而且在纹理数据中一般要求每个像素的数据宽度是2的倍数,如2,8,16,32,64等等。又因为人眼对蓝色的敏感度不如对红色和绿色,所以它比其他两个通道少用了一位。
另外一种格式是采用每通道9位尾数、所有通道共享5位指数的形式(众所周知,在计算机中,浮点数是采用尾数附加指数的形式来表示的),加起来还是32位。这些新的格式使得纹理能够与原来占用同样多的显存空间,避免了大的空间和带宽消耗。
总结
上面提到的这些扩充和提高,对于图形程序员来说是一件非常爽的事。他们可以摆脱束缚,创建出包含前所未有的细节度的实时游戏场景;对于玩家来说也是一件非常爽的事,因为他们的眼球有得养了。
● 几何Shader以及Stream Out
顶点着色器(Vertex Shader)和像素着色器(Pixel Shader)都允许程序操作内存中已有的数据。这种开发模型非常成功,因为它在复杂网格蒙皮和对已有像素进行精确计算方面都表现的很出色。但是,这种开发模型不允许在图像处理器上生成新数据。当一些物体在游戏中被动态的创建时(比如新型武器的外形),就需要调用CPU了。可惜现在大多数游戏已经很吃CPU了,游戏进行时动态创建庞大数量新数据的机会就变得微乎其微了。
Shader Model 4.0中引入的几何着色器(Geometry Shader),第一次允许程序在图像处理器中创建新数据。这一革命性的事件使得GPU在系统中的角色由只可处理已有数据的处理器变成了可以以极快速度既可处理又可生成数据的处理器。在以前图形系统上无法实现的复杂算法现如今变成了现实。使用DirectX 10和Geforce 8800 GTX,类似模板阴影(Stencil Shadow)、动态立方体贴图(Dynamic Cube Map)、虚拟位移贴图(Displacement Mapping)等依靠CPU或多通道渲染(Multi-Pass Rendering)的算法效率提升了很多。
DirectX 10流水线加入了几何着色器和数据流输出(Stream Output),使GPU可以在不用CPU干涉的条件下进行反复运算。
几何着色器被放在顶点着色器和光栅化阶段(Rasterizer)中间。所谓光栅化,就是一行一行的扫描每个三角形,把它们一个像素一个像素的绘制到画面上。几何着色器把经过顶点着色器处理过的顶点当作输入,对于每个顶点,几何着色器可以生成1024个顶点作为输出。这种生成大量数据的能力叫做数据扩大(Data Amplification)。同样的,几何着色器也可以通过输出更少的顶点来删除顶点,因此,就叫做数据缩小(Data Minimization)。这两个新特性使GPU在改变数据流方面变得异常强大。
1.细分的虚拟位移贴图(Displacement Mapping with Tessellation)
几何着色器终于让虚拟位移贴图可以在GPU上生成了。虚拟位移贴图是在离线渲染系统中非常流行的一项技术,它可以用一个简单的模型和高度图(Height Map)渲染出非常复杂的模型。高度图是一张用来表示模型上各点高度的灰度图。渲染时,低多边形的模型会被细分成多边形更多的模型,再根据高度图上的信息,把多边形挤出,来表现细节更丰富的模型。
因为在DirectX 9中,GPU无法生成新的数据,低多边形的模型无法被细分,所以只有小部分功能的虚拟位移贴图可以实现出来。
2.基于边缘(Adjacency)的新算法
几何着色器可以处理三种图元:顶点、线和三角形。同样的,它也可以输出这三种图元中的任何一种,虽然每个着色器只能输出一种。在处理线和三角形时,几何着色器有取得边缘信息的能力。使用线和三角形边缘上的顶点,可以实现很多强大的算法。比如,边缘信息可以用来计算卡通渲染和真实毛发渲染的模型轮廓。
使用几何着色器的非照片模拟渲染
(Non-Photorealistic Rendering - NPR)
3.数据流输出(Stream Output)
在DirectX 10之前,几何体必须在写入内存之前被光栅化并送入像素着色器(pixel shader)。DirectX 10引入了一个叫做数据流输出(Stream Output)的新特性,它允许数据从顶点着色器或几何着色器中直接被传入帧缓冲内存(Frame Buffer Memory)。这种输出可以被传回渲染流水线重新处理。当几何着色器与数据流输出结合使用时,GPU不仅可以处理新的图形算法,还可以提高一般运算和物理运算的效率。
在生成、删除数据和数据流输出这些技术的支持下,一个完整的粒子系统就可以独立地在GPU上运行了。粒子在几何着色器中生成,在数据扩大的过程中被扩大与派生。新的粒子被数据流输出到内存,再被传回到顶点着色器制作动画。过了一段时间,它们开始逐渐消失,最后在几何着色器中被销毁。
● 高级渲染语言(HLSL 10)
DirectX 10 为以前的DirectX 9中的“高级着色语言”(High Level Shading Language )带来了诸多功能强大的新元素。其中包括可以提升常量更新速度的“常量缓冲器”(Constant Buffers),提升渲染流程中操作数据的灵活性的“观念”(view),为更广泛的算法所准备的“整形与位指令”(Integer and Bitwise Instructions),添加了switch语句。
1.常量寄存器(Constant Buffers)
着色程序同普通的程序一样需要使用常量来定义各种参数,例如光源的位置和颜色,摄像机的位置和投影矩阵以及一些材质的参数(例如反光度)。在整个渲染的过程中,这些常量往往需要频繁的更新,而数以百计的常量的使用以及更新无疑会给CPU带来极大的负载。DirectX 10中新加入的常量缓冲器可以根据他们的使用频率将这些常量分配到指定的缓冲器中并协调的对其进行更新。
在一个着色程序中DirectX 10支持最多16个常量缓冲器,每一个缓冲器可以存放4096个常量。与其相比DirectX 9实在是少得可怜,因为它在每个着色程序中同时最多只能支持256个常量。
相比DirectX 9,DirectX 10不仅提供了更多的常量,最主要的是它大幅的提升了常量更新的速度。对那些被分配到同一个缓冲器中的常量,我们只需进行一次操作就可以将它们全部更新完毕,而非单个单个的去更新。
由于不同的常量更新的时间间隔各异,所以跟据使用的频率来对他们进行组织就可以获得更高的效率。举例来说:摄像机的视矩阵只在每一祯之间发生改变,而像贴图信息这样的材质参数却会在图元切换时发生改变。于是这些常量缓冲器被分成了两个部分——那些每祯更新的常量缓冲器专门存放那些需要在两祯间更新的常数并在两祯间一次把他们全部更新,另外的图元切换更新的常量缓冲器也同理。这样就会将更新常量过程中的一些不必要的工作消除,以便让整个着色器脚本比在DirectX 9中运行的更加顺畅。
2.Views
在DirectX 9中,着色器(shader)中的数据的类型是被严格划分开的。例如,顶点着色器用到的顶点缓冲器中的数据不能当作贴图的数据来让像素着色器使用。这样就将特定的资源类型同其相对应的渲染流程中的特定步骤紧密地结合了起来,同时限制了资源资源在整个渲染流程中可以使用的范围。
DirectX 10舍弃了“严格区分的数据类型”这一概念。当一段数据被创建,那么DirectX 10所做的仅仅是将其简单的当作内存中的一段比特域(bit field)来对待。如果要想使用这一段没有定义类型的比特域数据就必须通过使用一个“view”。 使用“view”,相同的一段数据就可以有各种各样的方法来读取。DirectX 10支持对同一段资源在同时使用两个“view”。
通过这种多重“view”的手段,就可以在整个渲染流程的不同部分以不同目的使用同一段数据。例如:我们可以通过像素着色器将一段几何数据渲染到一张纹理上,之后顶点着色器通过一个“view”将这张纹理视为一个顶点缓冲器并将其中的数据作为几何数据渲染。“view”通过在整个渲染流程中的不同步骤重复使用同一段数据为“数据处理”带来了更大的灵活性,帮助开发者实现更多更有创意更精彩的特效。
3.整形与位运算指令 (Integer and Bitwise Instructions)
在新的高级着色器语言中添加了“整形与位指令”。这样把“整形与位运算指令”的操作加入其基础运算函数的好处在于帮助一些算法在GPU上的实现。开发者终于可以直接使用整形而非从浮点中强转来计算出准确的答案。数组的索引号现在可以轻松的计算出来。GPU无整形运算的时代终于被终结了。这将为shader程序的开发带来很大的便利。
4.Switch 语句(Switch Statement)
终于,HLSL 10可以支持switch语句了!!!这将大幅简化那些有着大量判断(分支)的着色器脚本的编码。一种用法就是建立一个“航母级的着色器(shader)程序”——包含了大量的小型着色器程序并且自身体形巨大的着色器程序。在这个“航母级的着色器程序”,我们可以通过设定一个材质ID在switch语句中判断来轻松的在渲染同一个图元时切换不同的特效。也就是说,现在一个军队中的每个士兵身上都可以拥有各自不同的特效了。
● alpha to coverage
在游戏中,经常使用带有半透明信息纹理的多边形模型来模拟复杂的物体,例如,草、树叶、铁丝网等。如果使用真正的模型,一颗边缘参差不齐的小草可能就要消耗掉几百个多边形;然而采用透明纹理,可以只用2~3个多边形就解决了。
半透明纹理示意——一片树叶
然而,当使用这种有半透明信息的纹理时候,它的不透明和透明部分的边界线上,常常会出现难看的锯齿。采用半透明混合技术可以解决这个问题,但是它需要把场景中所有这类物体按照由远到近的顺序来绘制,才能保证它们的遮挡关系是正确的——这是十分消耗CPU时间的,所以很不可取。在以前,alpha测试和混合简直就是图形程序员的噩梦。
在DirectX 10中,使用了一种新的技术叫做Alpha to coverage。使用这种技术,在透明和不透明交界处的纹理像素会被进行多极取样(Multi-sample),达到抗锯齿的效果。这就在不引入大的性能开销的情况下华丽的解决了这个问题,室外场景的游戏将大大受益于这种技术。树叶、铁丝网、草的边缘将会更加柔和、圆滑。
使用Alpha to coverage技术,叶片的边缘更加平滑
● shadow map filtering
阴影图(Shadow map)技术已经逐渐成为了渲染真实感阴影的流行技术。在包括《战争机器》、《分裂细胞:双重特工》、《Ghost Recon》、《刺客信条》等的各大次世代游戏中都能看到它的身影。然而,由于shadow map的尺寸限制,用它实现的阴影边缘往往有明显的锯齿。在DirectX 10中,提供了对shadow map进行过滤的功能的正式支持。经过过滤后,阴影的边缘将会变得更加柔和。
● 游戏效果
DirectX 10为游戏开发者提供了很多新的特性,采用这些特性可以用来开发大量的次世代图形效果。然而,由于这是基于强大、灵活的可编程特性基础上的,所以很难简单的指出这些特性都带来了哪些效果。实际上,很多图形效果都是对这些特性进行综合运用的结果。在这一部分,让我们来仔细的看一下几种次世代特效技术,感受一下新的DirectX 10特性在其中起到的作用。
● 次世代Instancing技术
在前文中,我们已经用说明DirectX 10的常量缓冲器特性。其实,这里采用的技术有一个学名叫做Instancing,大意就是通过一个或几个模型来复制出它们的很多实例,实现满山遍野的树木、敌兵那样的效果。这种技术在DirectX 9时代就已经出现了,但是有很多的限制,例如模型不能有动画,所有的模型实例必须使用同一张纹理贴图和同一种材质效果,等等。这就给这项技术带来很多遗憾的地方——玩家肯定不喜欢看见游戏里满山遍野的敌人或树木都长成一个模样,或者只有那么几种模样。
在DirectX 10中,通过常量缓冲器、纹理阵列、动态shader执行分支等特性,将Instancing技术从这些局限中解放了出来。模型的实例没必要使用同一张纹理贴图;它们可以通过自己本身的纹理来从纹理阵列中取出各自的纹理;它们甚至可以有不同的特效——程序员可以写一个包含很多特效的“超级”shader,然后为每个模型实例运用这个shader程序的不同执行分支部分,从而给不同的模型赋以不同的材质特效。甚至连为每个模型实例使用骨骼蒙皮动画这种需要大量变换矩阵操作的问题,在16×4096常量寄存器的强大攻势下都可以迎刃而解。
“克隆人”的时代已经结束了,通过DirectX 10的高级特性,Instancing将允许每个模型实例拥有它的个性:纹理贴图,pixel和vertex shader,以及动作动画。每个实例都将会有它自己的生命。
● 基于象素级别的位移贴图技术
在介绍这项技术之前,首先请允许我对工作在坐落于北京海淀区知春路的微软亚洲研究院/工程院的工程师们致以崇高的敬意。因为这项技术的实现方法,是由这些中国的工程师们研究、创造出来的。
实时每像素位移贴图。图象来源:Microsoft DirectX SDK。
位移贴图技术,用过3DS MAX的读者可能不会感到陌生。在3DS MAX中,这种技术有时也被翻译成“置换贴图”,其核心思想就是在制作三维模型时采用比较低的细节,然后给这个模型赋上一张表面高度图;在渲染时,会根据这张高度图来修改模型的表面,使它们隆起或凹陷——这样,就可以十分省力的给模型表面加上真正的凹凸不平的效果。毕竟,在3DS MAX里一个点一个点的修改模型表面来添加凹凸细节,要比直接拿Photoshop绘制一张高度图麻烦的多。
位移贴图要比单纯的normal map技术的凹凸贴图逼真——因为它是真正的将模型的表面进行修改,抬高或降低它们。然而,由于它需要在渲染时将模型表面进行细分,即将原来的一个多边形分成大量的小多边形,这样才能有足够多的顶点来进行移动。这在原来的DirectX中是不能实现的,因为那时没有geometry shader,不能动态生成多边形图元,也就不能实现动态的多边形细分。即使在有了geometry shader以后,将多边形细分也是一个消耗性能很大的操作。
然而,微软亚洲工程院/研究院的工程师们另辟蹊径,创造了一种新的每像素位移贴图技术。它的大致过程是,将简单模型表面的三角形向上拉伸,成为一个三棱台,这样它就具有了一定的体积;而它的高度,就是模型表面根据高度图进行位移后能达到的最大高度。然后在填充三角形的每个像素时,通过将观察者的视线和这个三棱台进行求交,得到一个相对于这个三棱台的交线段。
由于高度图是相对于这个三棱台的,只有同样使用相对于这个三棱台的交线段,才能正确的求出线段和高度图所代表的表面高度的交点。然后再通过这个交点来计算应该把颜色纹理中的哪个点绘制到屏幕上。在这里只是简单介绍了一下这种技术的大体原理,实际的实现算法比这个要复杂,因为需要克服各种各样的问题。
每像素位移贴图原理示意
图片来源:Microsoft DirectX SDK
总结
还有很多新出现的基于DirectX 10的次世代图形特效技术,在这里就不一一赘述了。相信随着时间的推移,越来越多的实时图形特效技术将会大放异彩,实时演算的画面效果达到非实时CG动画效果的一天终会到来。
Crytek官方公布过Crysis所采用的CryEngine 2引擎特性,这大多是开发环境的特性,Farcay所采用的CryEngine引擎由于其良好的开发环境被广受赞誉,但由于它只合适表现野外场景,目前只有NCsoft的Aion在使用。而CryEngine 2是否会让这一尴尬局面改观呢,让我们看看CryEngine 2的新特性吧。
实时的编辑,凸凹映射,静态光照,网络系统,继承物理系统,着色器,阴影和动态音乐系统这只是CryEngine 2提供的部分特性。
CryEngine 2包含了完整自带的CryEngine 2 Sandbox地图编辑器(包含引擎完整和开发工具的代码和文档),在你的团队开发过程中由R&D团队直接提供技术支援。
引擎支持市面上销售的所有显卡和硬件,新推出的硬件也会被支持。
CryEngine Sandbox:是一个所见即所得的编辑器。
渲染器:集成了室内和室外的绘制技术,支持DirectX 8/9/10, Xbox360, PS3。
物理系统:支持载具,液体,布娃娃,布料的物理特性模拟,物理系统集成在游戏和开发工具中。
动画系统:回放和混合动态数据(捕捉和关键桢)和物理模拟,特别需要提到是它可以用于真实的角色动画(如运用到起伏的地形、视野追踪,脸部动画,或者跑动转弯时的身体倾斜或者其他自然的动作变化)
人工智能系统:基于脚本的AI和AI行为,能够不使用C++编程就能够自己创建自定义的敌人行为模式。
数据驱动的音效系统:复杂的工作室级音效能够用创新的工具简单的制作,FMOD音效库可以保证多平台的兼容性。
交互的动态音乐系统:音乐回放可以由游戏的事件触发,可以给玩家提供电影版的听觉效果。
环境音效:能够真实的还原和混合内外位置的自然环境的音效。
网络和服务器系统:管理多人游戏的所有网络连接,它是一个基于委托伺服结构的低延迟的网络系统。本模块的按次时代的游戏需求完全重新制作。
着色器:一个脚本系统被用于使用多种不同方法来组合纹理材质来实现惊人的视觉效果。支持实时的象素渲染,凸凹反射,漫反射 ,反射,容积光效果,透明显示,窗口,弹眼和光泽表面。
地形:使用高级的高度图系统和多边形减少创建大量的真实的环境,转换成游戏里的单位距离视野能够有2000米远。
显示栅格立体图层物体:允许用几何学方式的创建高度图系统,不支持创建悬崖,洞穴,山谷等地形,显示栅格立体图层的编辑方式可以和高度图编辑一样简单而快速的绘制。
光照和阴影:一个带高质量实时阴影组合了高级计算属性组合用于生成动态环境。包含高分辨率,透视和容积阴影用于生成真实的室内阴影效果。支持高级的粒子技术和任何用于粒子的容积光照效果。
雾:包含容积,层和视距雾化等增强的大气效果变化。
集成工具:使用3DS MAX或者Maya创建物体或者建筑可以在游戏或者编辑器里使用。
资源编译器:ssets被资源编译器编译成为依赖平台的格式,这样可以根据预设置和平台进行全局改动而不需要难以忍受的读取时间。
Polybump 2:将独立的或者完全集成的使用如3DS MAX之类工具创建的高质量的可以快速的利用法线贴图贴在切线空间或者物体空间,置换贴图和非闭合区域上表面贴图。
脚本系统:基于流行的LUA语言,可以简单的设置和调整武器和游戏的各种参数,音效和载入画面而不用C++编程。
流程表:流程表系统允许设计者不用触及代码就可以编程, 编程只需要简单的连接流程图和定义属性就可以。
模块化:游戏完全由C++编写,并且带有注释、文档。
多线程:支持多处理器用来减少多人游戏的网络延迟和提高在大范围地形上的CPU运算能力。
64位支持:支持32位和64位系统允许游戏利用更多的内存。
在Crysis漫长的跳票历程中发布了不少游戏图片,对于他们这种无情而冷酷的炫耀我们也应该习惯了,不过这些图片中有部分非常特殊,那就是Crysis游戏画面和真实场景对比,此时此刻看来我们依然热血沸腾。
我们知道,Crysis游戏里的场景是有现实背景的,那就是美国夏威夷群岛的考艾岛。Crytek通过由现实场景拍摄的照片与Crysis即时演算图像进行对比,来显示DirectX 10和CryEngine 2引擎的惊人效果。
截图分成游戏和现实两部分,Crysis的逼真程度也已经显露无疑,乍一看还真不好说哪个是现实、哪个是游戏。下面就来看看这款游戏能够逼真的什么程度?其中左边为显示照片,右边为游戏截图。
这儿还有我们以前公布的一些老图片,也是Crysis游戏截图和实景照片对比,图片更加清晰,可以点击放大:
虚幻3引擎代表了目前DX9C游戏画面的最高境界,已被XBOX360游戏《战争机器》和PC游戏《生化奇兵》等所采用,其惊人的画面效果让人惊讶不已!
不过随着DX10的来临,虚幻3引擎遭受到强力挑战,CryEngine2引擎的画面让人耳目一新,更加接近于CG级别!
现在有人特别搜集了虚幻3引擎和CryEngine2对于相似场景渲染的截图,下面我们就通过高清图片来看看新老两代引擎到底差别有多大?
左CryEngine2,右虚幻3(1400×800分辨率,点击放大对比)
左虚幻3,右CryEngine2(1900×1490分辨率)
更多高清晰大图对比请看下一页,并请大家为两款引擎投上一票。
以下图片均为超大分辨率,您可点击放大对比游戏画面的细节部分:
左虚幻3,右CryEngine2(2800×1100分辨率)
上CryEngine2,下虚幻3(1200×1450分辨率)
左虚幻3,右CryEngine2(2200×1025分辨率)
上虚幻3,下CryEngine2(1115×1978分辨率)
同样作为DirectX 10 3D射击游戏,Crysis和Warhound采用了不同的游戏引擎。其中Crysis采用的是Crytelk的CryEngine2引擎,Warhound采用的是强化版的Chrome引擎。
Warhound由开发《Call Of Jauze》(西部狂野)的波兰游戏公司Techland开发。和Crysis一样,两款游戏都有士兵、丛林和坦克等场景,下面3张图就是Crysis对比Warhound的内容:
明眼人一看就能看出两者的差距,大家对于DX10的期望全数落在了Crysis身上,希望Crysis这款“原生”DX10游戏能够充分利用软件和硬件资源,将DX10的实力和效果发扬光大!Crysis的确是不负众望,逼真的画面征服了所有参加过Beta测试的玩家,而且对于DX10特效的应用也是无处不在,下面就为大家详细介绍Crysis当中令人让人震撼的最新特效。
前不久,在“花瓶还是噱头?DX10游戏最新特效对比”一文当中,我们已经为大家详细介绍了现有五款DX10游戏中,所采用的一些DX10特效,并且放出了大量DX9与DX10的对比图片,相信不少人已经对此有所了解。
现在我们惊奇的发现,现有的五款DX10游戏所使用的DX10特效,加起来居然还没有Crysis DX10多!也就是说,之前您所见识过的DX10效果以及优异DX9C特效,都可以在Crysis游戏中体现出来,而且Crysis还有自己的独门绝技,来营造出以假乱真的宏大场景!
首先列举一下Crysis中所使用到的DX10特效:
1. HDR+AA:DX10时代这已经是必备了(生化奇兵是个例外)
2. 景深:失落星球新版有采用
3. 视差映射贴图:狂野西部有采用
4. 体积光照:冲突世界的招牌特效
5. 动态模糊:失落星球新版有采用
6. 昼夜变化:3DMark06 SM3.0测试有使用,但效果单一场景狭小,Crysis将其发扬光大
7. 物理效果:很遗憾,Crysis还是依靠CPU进行物理计算,但是效果的确是最好的
8. 动态软边阴影:FEAR中有采用,DX10版效率更高
9. 实时环境光照贴图、粒子效果、次表面散射、真正的3D海洋渲染、交互可毁坏环境、等等……
也许有人会问,以上特效有不少在DX9C模式下就可以实现,DX10的效果到底是什么呢,其实抛开画面效果不谈,DX10 SM4.0最大的优势就是指令执行效率的提升,像HDR+AA、软阴影、动态模糊这些DX9C就已经可以实现的特效,在DX10模式下可以用很少的代价来实现,因此游戏开发商就可以大胆的“滥用”这些技术,综合起来从而实现更完美的画面!
下面,我们就通过Crytek官方的Crysis视频宣传短片,按照Crytek CEO的介绍,详细了解Crysis当中所使用到的最新DX10特效。
前不久正式发布的一款DX10游戏——《冲突世界》(World in Conflict)将即时战略游戏的画面推向了新的巅峰,通过对比WIC DX9和DX10版的截图来看(参见“肉眼能否看出区别?WIC DX9/10大对比”一文),其最明显的区别就是云层透射光线的效果,也就是通常所说的体积云或者体积光照。由于WIC DX10版在其他方面与DX9版并无差别,因此体积光照可以说是WIC的招牌特效。
WIC的云层和光照渲染效果的确非常出色,但它毕竟只是一款RTS游戏,有哪位玩家会无聊到在紧张的战斗中欣赏天空和云彩的渲染效果呢?如果它是一款FPS游戏的话,那么体积光照就会让游戏画面增色不少,想想看穿越茂密的森林时、气候变化时,如果能够营造出光影随风而动、云层环绕、光线透射的效果,那么绝对能够带给玩家身临其境的效果!
Crysis并没有让大家失望,在DX10版本中,体积光照就是重要特效之一,Crysis的游戏场景中有大量森林地图,随风而动的树叶会改变光线的投射,当玩家经过树林时,附近的光照和投影都会起到相互干涉的作用,营造给出一个真实的氛围:
Lightbeams直译过来就是“束状的光线”,也许有人会说FarCry当中就存在这种束状的光线,但那种光线太假,光照强度一成不变,也不会留下恰当的阴影,显得没有任何生机,而且应用范围比较狭窄。
体积光照需要使用到DX10新引入的几何着色来渲染,通过监控模型的几何顶点运动、计算出模型的投影和光照/阴影范围,因此DX9C是无法实现的,只能构造出一些单一的点光源光柱。
纹理贴图大家都明白,就是往建好的3D模型上“贴”一些二维的画面,让人物显得更真实一些,比如常见的砖墙、凹凸不平的地面等,这些如果全部用三角形来实现的话,那么模型就会非常复杂,GPU将会不堪重负,但如果用“一张已经画好砖纹的纸”贴上去的话,那么渲染起来就会轻松好多。
但是这么做也有很大的缺点,贴图毕竟是2D的,如果在游戏中换个角度看的话,很容易就会发现墙面没有任何立体感,砖纹看上去非常假!为了让2D贴图看上去也有3D立体效果,就诞生了多种贴图技术,比如凹凸贴图、法线贴图、位移贴图、视察映射贴图等。
● 凹凸贴图
凹凸贴图技术简单说起来是一种在3D场景中模拟粗糙表面的技术,将带有深度变化的凹凸材质贴图赋予3D物体,经过光线渲染处理后,这个物体的表面就会呈现出凹凸不平的感觉,而无需改变物体的几何结构或增加额外的点面。例如,把一张碎石的贴图赋予一个平面,经过处理后这个平面就会变成一片铺满碎石、高低不平的荒原。当然,使用凹凸贴图产生的凹凸效果其光影的方向角度是不会改变的,而且不可能产生物理上的起伏效果。
凹凸贴图在今天看来已经是老的不能再老的一种技术了,虽然能够获得凹凸的效果,但是凹凸的程度非常受限制,基本上只能做出一些简单的浮雕效果来。这种技术通常用在一些观察视角变化很小的情况上,例如地面,墙壁,远处的一些模型等等,如果角度稍微一大,你就会发现那些凹坑其实是根本不存在的。
● 法线贴图
法线贴图就是把一个表面的凹凸情况用每个点的法线向量记录下来,在贴图的时候根据法线贴图做光影的变换,从而实现凹凸效果。
法线贴图比起凹凸贴图而言,能够实现的效果更好了,相对的就是运算量更大了,需要大量的纹理材质,每个象素的光照情况都需要计算这个点的法线向量和光照情况的夹角计算该点的亮度和颜色。为了节约GPU资源,ATI曾开发了3DC+纹理压缩技术,这对于法线贴图有莫大的帮助。
当然,法线贴图技术同样不是完美的,它也有着自己的不足,凹凸贴图没有能够解决的切向效果问题肯定是仍然不能够得到解决。此外,就是法线贴图技术不能够解决解决更大的凹凸情况的效果。大家如果去观察的话,法线贴图效果能实现的通常是一些内凹或者外凸不是很严重的表面效果。
● 视差映射贴图
法线贴图在解决比较深的内凹的情况的时候不能够达到的效果被ATI打破了,这个技术就是视差映射贴图。相信在ATI发布X1000系列显卡时,大家已经见识过其中一个叫做ToyShop的Demo,其中路面的砖块就是利用视差映射贴图渲染出来的效果。
视差贴图技术我们其实应该称之为视差遮蔽贴图技术,因为在这一技术中,会对纹理的坐标做变换,一些凸出的纹理会遮蔽到其他的纹理,这样就会看起来具备更好的凹凸的感觉了。正如我们在上图看到的情况一样,地面上的石块的凹凸感觉非常好,前面的石块已经对后面的石块进行了局部的遮蔽。
虽然看起来ToyShop当中的砖块依然很假,但砖块之间凹凸的效果已经得到了完美体现,非常遗憾的是,没有任何一款DX9游戏使用过这种视差贴图技术。
● 为何直到DX10时代才启用视差映射贴图技术
视差贴图技术的实现原理,其实和法线贴图是一样的,都是根据法线贴图进行的处理,所以我们可以把它当作是法线贴图的一种衍生技术。视差贴图技术的实现是和硬件没有必然联系的,这个技术概念的诞生其实也非常早,只不过在实际程序中应用的并不是很早,这是因为视差贴图技术的运算量要比法线贴图大了不少,原来的显示芯片基本上都运行不了,虽然X1800XT可以运行这个Demo,但是直到X1900XTX发布时,这个Demo才得以流畅运行。
目前只有狂野西部这款游戏使用了视差映射贴图,而且只在DX10版本提供,DX9不支持。到底是刻意不让DX9支持还是因为渲染方式不同的原因放弃支持,这个由于官方并未公布详细的技术资料,因此难以定论。
总的来说,由于DX10显卡都采用了统一渲染架构,可以方便的集中利用Shader资源,来渲染出复杂的特效。再加上有全新的几何着色器辅助,因此特效的运用方面可以更加灵活,游戏开发商可以很容易的自定义一些特效渲染方式,所以将先进的技术都安置在DX10模式之中也是无可厚非。
Crysis也大量使用了视察映射贴图,当光线变化、或者视角改变时,您就可以直观地看到地表贴图凸起部分的阴影随之而动,立体感十分强烈,逼真度绝对远胜于狂野西部!
相信大家都知道,宏大的场景内包括了很多物体,这是非常消耗资源的,哪怕是DX8、DX9游戏,如果将远景开到最大的话,都会造成游戏FPS急剧下降。最典型的比如低端用户不敢将《魔兽世界》的远景开到最大,《上古卷轴4》的远景很BT。但是远景显示在游戏中的作用也是很明显的,可以让你更早的发现敌人或者一些特殊物体。
有什么方法既能让远景统统显示出来,又能降低资源消耗呢?传统的方法就是牺牲画面品质:人为制造一些迷雾这是最低级的做法、将远景的阴影和光照关闭这是很常见的做法(反正玩家也不容易注意到)、还有就是自动判定距离将远处的所有特效全面缩水(细心的话可以发现有些游戏以主角为圆心存在一道或者几道明显的“光圈”,光圈内外的渲染效果有天壤之别)。
为了节约系统资源开销,牺牲远景的画质是再所难免的,但为了提高画面整体质量,对远处的重要物体“特别照顾”一下还是很有必要的,这就是“景深”的含义所在。这就类似于摄像机拍摄视频时,多数情况下只对焦主角,环境全是虚的。
DX10级景深渲染还是依靠几何着色器,将深度帖图中的纹理信息按照距离拆分到缓冲,然后分为几个不同的视角进行渲染,最后合成完整的图像。这样做的好处是,可以将远处本应该和大环境一起虚化处理的活动物体,进行高精度渲染,或者只是加入一些光影效果,这样就能以很少的代价获得更高质量的画面。
失落星球1.004版当中新加入了DX10级别的景深渲染,通过截图可以明显地看到差别,可是在紧张激烈的实际游戏过程中,可能很多人都会将其忽略不计,毕竟人眼所能关注的景物也就那么几个。
Crysis对于景深的概念进行了一些扩展,它的设计理念完全遵循摄像机的拍摄情况,当您枪口对准远处时,游戏会自动判定“焦距”,将中心以外一些无关的场景虚化、近景和远景同时虚化,以此来降低GPU资源消耗,虽然画面会有一定的损失,但由于这种模式与摄像机完全相同,因此反而显得更加真实!
比如,在游戏中使用机械瞄具的时候,人的注意力必然高度集中,准心以外的区域都模糊,这个效果实在是太酷了,相信所有玩家都会喜欢这种设定的。当然你完全不用担心景深效果会损失一些关键的物体或者景色,这种智能的判定方式绝对不会让您错过游戏中的任何精彩之处!
HDR+AA曾经是X1000系列显卡的专利,这使得不支持HDR+AA的GeForce 7系列始终抬不起头来,ATI的确是有先见之明,在GPU设计时就通过特殊手段在DX9C环境下解决了HDR和AA相冲突的问题,但ATI仅凭一己之力难以扭转乾坤,许多DX9C游戏依然无法同时开启HDR和AA,即便支持HDR+AA的游戏也需要特殊方法才能开启,兼容性不佳。
DX9C时代的HDR+AA真是个惨痛的回忆
严格的说,DX9C是不支持HDR+AA的,X1000之所以能够支持是因为GPU中存在额外的缓冲区,然后配合特殊驱动重新定义,虽然要麻烦一些但毕竟还是完美实现了。微软为了解决DX9C无法支持HDR+AA的弊端,在DX10 API中抛弃了DX9C中的FP16 HDR格式,重新定义了两种HDR颜色格式:R11G11B10(32bit)和R9G9B9共享5位指数(32bit,4通道就是128bit),从而有效的解决了渲染效率低、显存占用过多、与MSAA冲突的缺点,不仅彻底解决了HDR+AA难题,而且让中端显卡都可以开启HDR+AA。
说道这里,就不得不提一下新发布的《生化奇兵》游戏,这款采用虚幻3引擎的游戏号称加入了DX10特效,但是最终的画面基本没有得到任何提升,而且还完整的继承了DX9C时代无法开启HDR+AA的后遗症!最终一些玩家通过特殊方法在DX9C模式下打开了HDR+AA(将生化奇兵改名为彩虹六号就可以了),真是让人唏嘘不已,这种游戏能算作是真正的DX10游戏吗?
Crysis作为“原生”DX10游戏,自然能够支持HDR+AA,对于HDR的应用已经和所有场景融为一体。而且它作为“The Way”游戏,能够直接支持GF8系列显卡独有的CSAA技术,以较小的代价提供更加平滑、完美的画面!
除了前面那些比较知名的、备受关注的特效之外,Crysis还具备一些独有的特效,这就让该游戏更具亮点,游戏过程也会得到全新的体验。
● 交互的可破坏场景
之前已经有一些可破坏场景的游戏了,比如支持物理加速卡的《荣誉勋章》系列,最典型的要数《细胞因子》,那种肆无忌惮狂轰滥炸的感觉真是前所未有的酣畅淋漓,只可惜这几款游戏的共同缺点就是游戏整体画面落后,可以说是顾此失彼、得不偿失。
Crysis的游戏引擎可以说是目前非常先进的,画面风格以及最新的特效大家已经见识过了,如果在其中加入一些物理效果的话,无疑可以让画面表现力更上一层楼,Crysis就是这么做的:
在游戏中,常见的坦克、房屋、石头、树木这些大件物体都是可以破坏的,而且破坏的过程也都是实时计算出来。此外,在玩家经过花草树木的时候,将不再是像FarCry那样直接穿越草木,树叶将会受到人体的干扰,产生偏移或者折断现象,而且场景里的任何物体都会对诸如风力、爆炸冲击、引力、物体之间的碰撞/摩擦等外力作出互动反应,这是以往所有游戏中都不曾有的设定!
但是Crysis并没有使用炒得火热的GPU物理加速技术,还是将物理加速任务交给CPU处理,据称是因为目前的显卡性能还是不够强,特效全开时Shader不堪重负,已经无力承担物理加速运算。而相反,DX10模式下CPU得到了进一步解放,而现在的多核心CPU性能相当强悍,与其闲置还不如有效的利用起来,所以Crysis选择了看似过时的CPU软件物理加速,这样还无需专用物理加速硬件的支持。不过目前尚不清楚Crysis是否对物理加速卡提供额外支持。
● 昼夜交替效果
一成不变的大环境相信很多玩家都比较腻味,但几乎所有的游戏都是这样,只有切换地图、或者场景时才换改变画面风格,如今这个局面因Crysis而改变,在DX10版本当中加入了昼夜交替效果真的是酷到极点,虽然一些网络游戏根据现实时间会有昼夜交替的现象,但其效果真是不敢恭维。
不光是昼夜交替,就算是大白天太阳的位置也会实时移动,树木和人物阴影的方位都会发生变化,当您在做任务的过程中,细心的玩家肯定会注意到这些变化的。
理论上,昼夜交替与DX10没什么关系,Futuremark在3DMark06最后一个场景中就设计了南极极昼的太阳移动和阴影变化情况,不过那个场景的模型还是太简单了,主要是为了展示HDR效果,阴影表现力不够强烈。Crysis DX10版的昼夜交替效果则是相当震撼的。
其实DX9C所能实现的效果已经非常多了,DX10只不过是锦上添花而已,DX10最主要的作用是提升执行效率,提高兼容性和拓展应用范围,所以那些以前不敢随便使用的DX9特效,应该被发扬光大才对。
● 动态软阴影
最先提出软阴影的应该是ATI X1000系列发布时的Parthenon Demo,最先使用软阴影的游戏是FEAR,当时的GF7和X1000在FEAR中打开SoftShadow跑起来都是相当吃力,相比之下还是N卡稍胜一筹。由于软阴影实在太耗资源,所以此后的很多游戏都没有提供这项特效,直到DX10时代才成为了标配。
以往的大多数阴影渲染效果都有一个局限性,那就是创造出来的通常都是一个轮廓鲜明的硬边线阴影,而在真实世界里,阴影都是软边线的。用技术手法创造软边线阴影通常都要做一些过滤阴影基本图的工作,需要进行巨大数量的样本纹理对照,这对GPU的纹理单元是一个巨大的负担。
DX10时代,纹理单元的作用不仅没有被削弱,反而得到了大幅增强,无论贴图质量还是指令以及缓存方面都提升显著,此时加入软阴影效果实现起来就没多大难度了,因此失落星球、狂野西部、冲突世界、生化奇兵等DX10游戏全都支持软阴影,Crysis自然没有任何不支持的理由。
● 动态模糊
首先请大家思考这样一个问题:为什么每秒24帧的速度对于电影来说已经足以获得很流畅的视觉效果,而对于电脑游戏来说却会显得磕磕碰碰呢?原因很简单,摄像机在工作的时候并非一帧一帧绝对静止地拍摄,它所摄下的每一帧图像已经包含了1/24秒以内的所有视觉信息,包括物体在这1/24秒内的位移。如果在看电影的时候按下暂停键,我们得所到的并不是一幅清晰的静止画面,而是一张模糊的图像,问题就出在这里!
传统的电脑3D图像做不到这一点,游戏里的每一帧就是一幅静止画面,如果你在运动的过程中抓一张图片下来,得到的肯定是一幅清晰的静态图。所以,动态模糊技术的目的就在于增强快速移动场景的真实感,这一技术并不是在两帧之间插入更多的位移信息,而是将当前帧同前一帧混合在一起所获得的一种效果。
之前已经有很多DX9游戏采用了动态模糊技术,效果最显著、最夸张的非《优品飞车10》莫属,很多玩家表示不太实适应这种效果,原因就在于打开特效之后画面模糊的太夸张了,时间一长容易头晕——显然,这不是我们想要的动态模糊!
造成这种结果的主要原因就是,在进行模糊处理时,将前台的运动物体和后台的环境混合在一起了,这样不但造成了怪物糊得一团糟,背景品质也下降很严重——所以DX9实现的效果就是画面粗糙、背景朦胧。
而在DX10模式下,有了全新的几何着色技术,这样就可以使用这种Shader资源来处理运动物体的几何坐标变换,然后配合高精度的顶点纹理拾取技术,达到了完美监控整个运动过程的目的。如此一来进行模糊处理的话,就杜绝了不分青红皂白的现象——该模糊的依然模糊,该清晰的照样清晰!
由于DX9和DX10模式下动态模糊的渲染方式截然不同,而游戏厂商不愿意提供两种方案,所以最终结果就是DX10支持动态模糊,而DX9不支持。这样既能简化游戏设置,还能拉开DX10与DX9的差距。
通过前面的介绍我们可以发现,DX10并不像传说中的那么神奇,并不能随便就实现N多DX9C无法实现的特效。DX10更多的作用是提供了灵活的开发平台,让游戏开发变得更为简单,让特效实现起来更加容易、并且效率更高!
很多玩家在抱怨DX10游戏并没有带来足够多的亮点,很多DX10专属特效其实DX9C就可以实现,DX9模式下故意放弃了一些特效……。话是没有错,但我们应该想想,无论HDR+AA、SoftShadow还是实时环境光照贴图等,这些特效单独拿出来都足以革掉DX9显卡的老命,而DX10模式下执行效率则可以得到大幅提升,游戏中同时拥有多种尖端特效都成为可能。
这些图形技术虽然都是如假包换的DX10特效,但一木不足以成林,单独拿出来难成气候,无法体现出DX10真正的魅力,这也就是之前的五款DX10游戏令人失望的原因。但如果将所有特效整合起来的话,那么量变的积累必然引发质变,DX10的威力才能得到真正体现!
Crysis就是DX10的集大成者,可以毫不夸张地说,之前所有DX10游戏中的新技术、新特效,加起来都还没有Crysis多,能够在一款游戏中实现如此之多令人激动人心的技术,着实相当不易,当然它对于硬件的要求也非常苛刻,难怪之前有消息称Crysis特效全开需要4片G80 Quad SLI才能跑得动!
Crysis让我们等待了太久,但它终究还是来了,demo已经发布,正式版会在11月中旬亮相,届时还会推出中文版,所以有兴趣的玩家最好先用demo尝鲜吧。
但是,优异的画面需要优异显卡的支持才能酣畅淋漓的运行游戏,如果您的电脑配置一般的话,那么只能选择牺牲一部分特效,来保证游戏运行的流畅度,拥有8800显卡的玩家毕竟是少数,这也就意味着大部分玩家都必须在中等或者低等画质下运行游戏。
Crysis提供了画面设置很丰富,牺牲一些效果的话低端显卡和老显卡也能跑流畅
为了最大限度的保障玩家的利益,Crysis对于显卡的要求放的很宽,只要支持DX9 SM2.0就可以(不要求SM3.0/4.0),而且在游戏中提供了丰富的视频设置选项,玩家可以根据自己的配置来降低一些特效,这样就能流畅的运行游戏了。
那么Cryisi这款游戏在不同设置下的画面到底有多大差距呢?如果画面效果全调最低的话,会不会惨不忍睹?现在我们就通过Crysis最新开放的DX10测试版本,来仔细对比Crysis在各种设置下的画质。
游戏截图全部取自同一个场景的相同视角,按照游戏内置的四种方案进行对比。以下所有图片均为1280×800分辨率,可点击放大察看细节,仔细对比不同设置下的画面差异:
DX9模式低等画质:最明显的是人物、树木、石头、箱子等物体的阴影全然没有,并且沙滩表面的真实性也很差,石头纹理也是平平淡淡,不过草木本身看起来还是不错,至少比FarCry要强一些。
DX9模式中等画质:阴影出现了,沙滩细节也能看出来,比如沙子不再一片单纯的洁白,车辆压过的痕迹很明显,石子也有了立体感,不过太阳有些虚假。
DX9模式最高画质:注意石头纹理、沙滩石子、太阳边缘、远处树木和灌木,以及左侧石头中间的一小块海水。
DX10模式最高画质:在DX10显卡的渲染下,沙滩显得非常真实,沙子细节逼真,石子的凹凸立体感非常强(视差映射贴图技术),同时远处的表现能力也更丰富了,而且软阴影效果更加柔和,太阳照射也有所不同,甚至左侧的那一小块海水也更像海水了。阳光照耀到树木之后的体积光照也有所体现,但在这个晴朗的场景似乎并不明显。
在上面的一个场景中,DX9与DX10的差距并没有想象中的明显,但如果放大仔细看的话,视差贴图、体积光照还是有的。接下来看看游戏中其他的场景,分别用DX9最高画面设定和DX10最高画面设定进行对比,来看看备受期待的DX10大作《Crysis》的DX10效果能否带来惊喜?
以下所有图片分辨率均为1080p高清截图,可点击放大察看,上图是DX9 模式、下图是DX10模式:
DX10支持动态模糊:静态截图看上去不清晰,实际上高速运动时能够增强画面显示效果
DX10模式的水面渲染跟真实场景已经没什么区别了(建议放大对比)
游戏的优异画面达到了当前PC系统所能承受的极限,超越了次世代平台和之前所有的PC游戏,当然可玩性也值得称赞,至少让我们明白了同样是对抗外星人这种老掉牙的剧情也能做得如此引人入胜。
先一睹游戏的风采吧,试玩版提供了游戏单人模式的第一关,虽然内容不多,但是游戏的魅力已经可见一斑。单卡8800Ultra也无法在DX10环境最高特效下流畅运行与2560×1600分辨率,所以笔者选择了以1600×
1200分辨率进行游戏试玩,现在截取了部分游戏场景截图,和各位玩家一起分享,所有截图基于“Verry High”设置,没有开启抗锯齿(AA)。
空降部分截图:
游戏内置了CPU测试程序,由于游戏并不支持物理加速卡,游戏强大的物理引擎下所有物理计算都是由CPU完成,所有本作对CPU的性能有特别高的要求。以下是CPU测试程序的截图,多是爆炸和破坏的镜头。
相对于CPU测试,游戏内置的显卡测试程序多是以场景的切换为主,可以欣赏游戏demo中提供的全岛风景。
看完了游戏令人吃惊的最高特效,到底目前游戏对配置的要求如何,我们还是先听听来自制作方的声音。
Crytek的总裁Cevat Yerli曾特别指出在高分辨率下,即使现有的高端显卡也不能完全满足要求。Cevat Yerli关于《Crysis》的情况主要提到四点:
1、游戏的物理效果完全由CPU来完成,GPU或物理卡对物理加速不会有效果;
2、GeForce 8800 GTS或Radeon HD 2900XT可以在低分辨率下使用最大设置流畅运行游戏,但在1600x1200或更 高分辨率条件下,就需要更好的显卡了;
3、Crysis对单核和多核CPU都进行了优化;
4、使用多核CPU运行游戏可以获得更好的帧数和更平滑的效果。
CryENGINE2引擎能把目前最强大的电脑硬件的性能发挥至极限。根据Yerli所说,在完全特效下游戏的会变得更加好玩。但是这需要足够强的硬件能力,否则在游戏中某些与特效相关联的场景将被锁定。
至于他所描述的优异特效,甚至需要DirectX 10.1显卡才能满足。但是仅支持Crysis特效,性能不足的显卡也能满足要求。虽然没有具体说明,但是似乎需要四路SLI互联的GeForce 8800显卡提供的性能才能处理隐藏的额外特效,包括目前我们看到的在超高分辨率下开启16X FSAA后才可以使用的残影效果。
Crytek官方认为运行Crysis的系统最小需求是:
CPU:Intel P4 2.8G或AMD同期产品
内存:1GB
显卡:NV 6800GT/256M或是ATI Radeon 9800PRO/256M
操作系统:Microsoft Windows(XP/vista)
声卡:兼容DirectX 9.0c
硬盘剩余空间:16GB
总的来看,也就硬盘空间需求量比较夸张,其他方面主流的配置完全可以搞定。但显卡的配置需求很奇怪,9800Pro和6800GT不是同时代的产品,一个SM2.0一个SM3.0,看来Crysis在最低设置下并不需要显卡支持SM3.0,但是256MB显存是必须的,所以6600GT就比较悬了,而7300GT/7600GS 256MB GDDR3版本超频使用应该是没什么问题。
Crytek官方建议运行Crysis的配置为:
CPU:Intel Core 2 DUO @ 2.2GHz or AMD Athlon 64 X2 4400+
内存:2GB
显卡:NV 8800GTS/640M或是性能相近的显卡(G92/RV670/R600?)
操作系统:Microsoft Windows(XP/vista)
建议配置确实已经很高端了,不过CPU方面还算可以接受,大家如果使用奔腾双核或者是X2 3600+/3800+之类的中端CPU,超频到3GHz左右时的性能绝对可以满足要求;内存现在非常便宜,2GB也问题不大。
关键就在于显卡,Crytek的意思8800GTS 320MB是不行的,事实上按照之前一些DX10游戏的测试来看,8800GTS 320MB很难跻身于高端显卡之列,如今的新游戏特效全开后对显存的需求量十分恐怖,所以320MB比640MB性能损失了一半还要多。
具体如何我们直接通过性能测试来了解吧。
● 多核不浪费!CPU性能对比测试
Crysis官方已经表明游戏对各种硬件新技术的支持,四核CPU自然也不例外。我们在这里选用了横跨单核赛扬D和四核酷睿的六款有代表性的CPU,按理说大多数游戏对CPU的依赖不大,主要还是看显卡性能,可是Crysis大量的物理效果依靠CPU独立完成,负担之重也能想像了。
本次测试基于Intel平台,为了避免更换平台带来不必要的误差,至于AMD处理器的性能读者也可以用相同定位的产品自行对比。
● 测试系统
PCPOP.COM泡泡网评测室 | |
硬件系统配置 | |
Intel Core 2 Q6600 (四核) Intel Core 2 X6800 (双核) Intel Core 2 E6320 (双核) Intel Core 2 E2160 (双核) Intel Pentium D 802(双核) | |
华硕P5N32-E SLI NFORCE 680I | |
8800Ultra 768MB (612/1512/2160MHz) | |
DDR2 800 2GB×2 | |
PATA Seagate ST | |
软件系统配置 | |
操作系统 | Windows vista Unimate 32Bit |
DirectX | 10.0 |
显示驱动 | NVIDIA Forceware 169.01beta |
游戏自带CPU测试程序,通过大量的爆炸和物理破坏来检验各种CPU的性能。测试最后会给出画面的平均帧数,以此衡量性能差异。
● CPU测试成绩表
四核处理器优势明显,现在对四核支持的游戏并不多见,虽然Q6600主频较低,但也以绝对优势领先于双核CPU的高端产品X6800。同是3.06G的PD802和CD346,但双核之间的差异也超过了一倍,何况PD802本身并不是原生的双核处理器。游戏对新技术的支持已经可见一斑,新硬件的性能也不会英雄无用武之地。
需要特别指出的是,如果要发挥四核处理器的优势,必须在使用四核处理器的环境下安装系统。经测试,如果用双核或则单核处理器安装系统而换用四核处理器进入游戏,四核处理器只发挥了双核的效能,游戏速度也打了折扣。
● 内存占用测试
虽说现在的内存已经便宜得不值钱,大多数用户都装上了1G或者2G,但是通过笔者的试玩感觉Crysis还是非常的能吃内存,到底各种设置需要多大的内存,笔者在这里提供了全面的测试数据一览。
● 测试系统
PCPOP.COM泡泡网评测室 | |
硬件系统配置 | |
Intel Core 2 Q6600(四核) | |
华硕P5N32-E SLI NFORCE 680I | |
8800Ultra 768MB (612/1512/2160MHz) | |
DDR2 800 2GB×2 | |
PATA Seagate ST | |
软件系统配置 | |
操作系统 | Windows vista Unimate 32Bit |
DirectX | 10.0 |
显示驱动 | NVIDIA Forceware 169.01beta |
● 页面文件占用量列表
提高分辨率后最低设置下占用的内存都超过了更低一级分辨率最高设置下的内存占用量,当分辨率提高到1680时,内存低于2G的用户随时可能被踢出游戏,系统会提示内存不足。在2560级别的分辨率下,4G内存成为必须,但是当前的显卡还没法应付如此高的分辨率,不过一两年后最高分辨率最高特效下游戏不是幻想。
● 23款显卡测试成绩横向对比
游戏自带显卡测试程序,通过一段固定的场景渲染来测试整套系统的游戏实际帧数。大家也都知道,对游戏速度影响最大的就是显卡,我们先在统一设置下,看看各卡之家到底差多少,也为了更好的在一张成绩表内反应各卡的性能差异,我们只好降低游戏的设置。
● 测试系统
PCPOP.COM泡泡网评测室 | |
硬件系统配置 | |
Intel Core 2 Extreme 6320 | |
华硕P5N32-E SLI NFORCE 680I | |
8800Ultra 768MB (612/1512/2160MHz) 8800GTX 768MB (575/1350/1800MHz) 8800GT 512MB (600/1750/2000MHz) 8800GTS 640MB (600/1300/1800MHz) 8800GTS 320MB (515/1190/1600MHz) HD 2900XT 512MB (740/1650MHz) HD 2900Pro 512MB (600/1600MHz) 7950GX2 512MB (570/1400MHz) 8600GTS 256MB (675/1450/2000MHz) 7900GS 256MB (600/1600MHz) 8600GT 256MB (540/1180/1400MHz) HD 2600XT 256MB (800/2000MHz) X1950GT 256MB (500/1200MHz) HD 2600Pro 256MB (700/1400MHz) X1650Pro 256MB (590/1380MHz) 7600GS 128MB (450/1200MHz) X1650GT 256MB (450/1200MHz) 7300GT 256MB (500/1400MHz) 8500GT 128MB (575/1253/1800MHz) HD 2400XT 256MB (700/1600MHz) 6800XT 256MB (420/1050MHz) 6600GT 256MB (500/800MHz) | |
DDR2 800 1GB×2 CL | |
PATA Seagate ST | |
软件系统配置 | |
操作系统 | Windows vista Unimate 32Bit |
DirectX | 10.0 |
显示驱动 | NVIDIA Forceware 169.01beta ATI Catalyst 7.10WHQL |
显卡比较多,目前的高端显卡和市场主流都包含其中,考虑到老用户的实际情况,如今已经比较“古董”的6800XT、6600GT和X800GTO都被列入。当然E6320这种CPU会对高端平台形成瓶颈,不过为了考虑到低端卡的实际配置情况也只好如此。
● 测试成绩
游戏对硬件的要求高度创下了当今世界的最高记录,1024分辨率最高效果足以秒杀除8800系列以外的任何显卡,所以我们在这里选用了LOW画质设置,为了更多的显卡能有5帧以上的成绩。
成绩大体如上,从表中也可以看出N卡相比同等A卡更有优势。了解了各卡的大致情况,下面我们就要看看高端显卡之间的差距。
● 巅峰较量!6款高端显卡对决
在刚才的测试中我们已经看到8600GTS成绩居然接近8800GT,这一切的根源就是游戏设置偏低,CPU对高端显卡也形成了瓶颈。现在换上四核处理器,提高游戏设置,高端卡之间的实际差距立刻显现。
● 测试系统
PCPOP.COM泡泡网评测室 | |
硬件系统配置 | |
Intel Core 2 Q6600(四核) | |
华硕P5N32-E SLI NFORCE 680I | |
8800Ultra 768MB (612/1512/2160MHz) 8800GTX 768MB (575/1350/1800MHz) 8800GT 512MB (600/1750/2000MHz) 8800GTS 640MB (600/1300/1800MHz) 8800GTS 320MB (515/1190/1600MHz) HD 2900XT 512MB (740/1650MHz) | |
DDR2 800 1GB×2 CL | |
PATA Seagate ST | |
软件系统配置 | |
操作系统 | Windows vista Unimate 32Bit |
DirectX | 10.0 |
显示驱动 | NVIDIA Forceware 169.01beta ATI Catalyst 7.10WHQL |
● 测试成绩
2900XT不幸在垫底,8800系列显卡在DX10游戏下的效率优势早已相当明显,不过ATI方面的RV670很快会推出,性能依然让人充满期待。
影响游戏的速度的莫过于CPU、内存、显卡,主板的差别导致的游戏速度变化微乎其微,我们现在根据各款显卡实际用户的大致情况,搭配不同的平台。为了便于测试,在同样的主板上,搭配不同的CPU、内存、显卡,针对每一款显卡进行优化测试,看如何能兼顾画质和速度。
● 显卡优化设置篇:8800Ultra
这款当前的优异显卡已经不需要多说,性能在单卡领域没有一个对手,也是无数游戏玩家神往已久的利器。
● 测试系统
PCPOP.COM泡泡网评测室 | |
硬件系统配置 | |
Intel Core 2 Q6600(四核) | |
华硕P5N32-E SLI NFORCE 680I | |
8800Ultra 768MB (612/1512/2160MHz) | |
DDR2 800 2GB×2 | |
PATA Seagate ST | |
软件系统配置 | |
操作系统 | Windows vista Unimate 32Bit |
DirectX | 10.0 |
显示驱动 | NVIDIA Forceware 169.01beta |
● 参考设置及成绩
这样好的显卡在Crysis面前依然被无奈的击败,要开最高特效,只能在1024×768下,是在BT到极点。
● 显卡优化设置篇:8800GTX
在频率更高的8800Ultra道来之前,8800GTX已经在性能之王的宝座上稳坐了半年,全球许多高端玩家依然使用着这款显卡。
● 测试系统
PCPOP.COM泡泡网评测室 | |
硬件系统配置 | |
Intel Core 2 Q6600(四核) | |
华硕P5N32-E SLI NFORCE 680I | |
8800GTX 768MB (575/1350/1800MHz) | |
DDR2 800 2GB×2 | |
PATA Seagate ST | |
软件系统配置 | |
操作系统 | Windows vista Unimate 32Bit |
DirectX | 10.0 |
显示驱动 | NVIDIA Forceware 169.01beta |
● 参考设置及成绩
1680×1050下开High或则在1024×768下全特效,不过平均帧数都没有达到30帧,个别场景下会感觉到不流畅,如何选取看玩家自己的喜好了。
● 显卡优化设置篇:8800GT
刚刚发布的超强性价比显卡,性能接近8800GTX,但售价只要1999元,对该卡感兴趣的玩家可以参看:07图形奥德赛!G92核心8800GT权威评测。
● 测试系统
PCPOP.COM泡泡网评测室 | |
硬件系统配置 | |
Intel Core 2 Q6600(四核) | |
华硕P5N32-E SLI NFORCE 680I | |
8800GT 512MB (600/1750/2000MHz) | |
DDR2 800 2GB×2 | |
PATA Seagate ST | |
软件系统配置 | |
操作系统 | Windows vista Unimate 32Bit |
DirectX | 10.0 |
显示驱动 | NVIDIA Forceware 169.01beta |
● 参考设置及成绩
1440×900下设置High值得所有8800GT的玩家尝试,明显比另外两种设置实用。
● 显卡优化设置篇:8800GTS 640MB
● 测试系统
PCPOP.COM泡泡网评测室 | |
硬件系统配置 | |
Intel Core 2 Q6600(四核) | |
华硕P5N32-E SLI NFORCE 680I | |
8800GTS 640MB (600/1300/1800MHz) | |
DDR2 800 2GB×2 | |
PATA Seagate ST | |
软件系统配置 | |
操作系统 | Windows vista Unimate 32Bit |
DirectX | 10.0 |
显示驱动 | NVIDIA Forceware 169.01beta |
● 参考设置及成绩
● 显卡优化设置篇:8800GTS 320MB
曾经最便宜的8800显卡,也是8800最简化的版本,在8800GTS 640MB上减少了一半的内存,性价比的大幅度提升在8800显卡进入中端市场起上功不可没。虽然随着8800GT的上市,8800GTS 320MB已经淡出了市场,但是拥有这款显卡的玩家数量已经相当可观。
● 测试系统
PCPOP.COM泡泡网评测室 | |
硬件系统配置 | |
Intel Core 2 Q6600(四核) | |
华硕P5N32-E SLI NFORCE 680I | |
8800GTS 320MB (515/1190/1600MHz) | |
DDR2 800 2GB×2 | |
PATA Seagate ST | |
软件系统配置 | |
操作系统 | Windows vista Unimate 32Bit |
DirectX | 10.0 |
显示驱动 | NVIDIA Forceware 169.01beta |
● 参考设置及成绩
● 显卡优化设置篇:2900XT
ATI目前的优异显卡,虽然性能有不少争议,但是无法阻止全球众多的ATI拥趸购买一块。
● 测试系统
PCPOP.COM泡泡网评测室 | |
硬件系统配置 | |
Intel Core 2 Q6600(四核) | |
华硕P5N32-E SLI NFORCE 680I | |
HD 2900XT 512MB (745/1650MHz) | |
DDR2 800 2GB×2 | |
PATA Seagate ST | |
软件系统配置 | |
操作系统 | Windows vista Unimate 32Bit |
DirectX | 10.0 |
显示驱动 | ATI Catalyst 7.10WHQL |
● 参考设置及成绩
三种设置成绩差不多,是要更高的分辨率还是更高的画质取决于玩家个人的喜好。
● 显卡优化设置篇:2900Pro
2900XT的的低频版—2900Pro,完全继承了2900XT的优良做工和全部特性,只是频率略低,售价相对2900XT实惠了不少,只是能买到的玩家不多。
● 测试系统
PCPOP.COM泡泡网评测室 | |
硬件系统配置 | |
Intel Core 2 Q6600(四核) | |
华硕P5N32-E SLI NFORCE 680I | |
HD 2900Pro 512MB (600/1600MHz) | |
DDR2 800 2GB×2 | |
PATA Seagate ST | |
软件系统配置 | |
操作系统 | Windows vista Unimate 32Bit |
DirectX | 10.0 |
显示驱动 | ATI Catalyst 7.10WHQL |
● 参考设置及成绩
● 显卡优化设置篇:7950GX2
作为GeForce7系列曾经的王者,7950GX2早已淡出了人们的视野,但是最近关于各种双核显卡的传闻越来越多,作为唯一量产过的双核显卡,7950GX2的表现还是能说明双核显卡的不少共同问题。
● 测试系统
PCPOP.COM泡泡网评测室 | |
硬件系统配置 | |
Intel Core 2 Q6600(四核) | |
华硕P5N32-E SLI NFORCE 680I | |
7950GX2 512MB (570/1400MHz) | |
DDR2 800 2GB×2 | |
PATA Seagate ST | |
软件系统配置 | |
操作系统 | Windows vista Unimate 32Bit |
DirectX | 10.0 |
显示驱动 | NVIDIA Forceware 169.01beta |
● 参考设置及成绩
该显卡在169.01版驱动上默认并不是多GPU模式,需要手动开启,不然只相当于一块7950GT在工作,性能大打折扣。
● 显卡优化设置篇:8600GTS
8600GTS的用户不多,但高频版8600GT的用户却不少,公版频率8600GTS的性能能代表很多高频版8600GT的性能水平。
● 测试系统
PCPOP.COM泡泡网评测室 | |
硬件系统配置 | |
Intel Core 2 E6750 | |
华硕P5N32-E SLI NFORCE 680I | |
8600GTS 256MB (675/1450/2000MHz) | |
DDR2 800 1GB×2 | |
PATA Seagate ST | |
软件系统配置 | |
操作系统 | Windows vista Unimate 32Bit |
DirectX | 10.0 |
显示驱动 | NVIDIA Forceware 169.01beta |
● 参考设置及成绩
● 显卡优化设置篇:8600GT
虽然市场上高频的8600GT数不胜数,但是便宜的8600GT依然采用了最初NV提供的参考频率,而且低频版出货量更大,我们在这里也提供了优化设置的选择。
● 测试系统
PCPOP.COM泡泡网评测室 | |
硬件系统配置 | |
Intel Core 2 E6750 | |
华硕P5N32-E SLI NFORCE 680I | |
8600GT 256MB (540/1180/1400MHz) | |
DDR2 800 1GB×2 | |
PATA Seagate ST | |
软件系统配置 | |
操作系统 | Windows vista Unimate 32Bit |
DirectX | 10.0 |
显示驱动 | NVIDIA Forceware 169.01beta |
● 参考设置及成绩
● 显卡优化设置篇:2600XT
HD 2600XT GDDR4版性价比不高,而显存的高延迟使得性能还不如GDDR3版,目前市场上的2600XT GDDR3版大行其道,性价比突出,为新一代A卡赢得了不少的市场占有率。
● 测试系统
PCPOP.COM泡泡网评测室 | |
硬件系统配置 | |
Intel Core 2 E6750 | |
华硕P5N32-E SLI NFORCE 680I | |
HD 2600XT 256MB (800/2000MHz) | |
DDR2 800 1GB×2 | |
PATA Seagate ST | |
软件系统配置 | |
操作系统 | Windows vista Unimate 32Bit |
DirectX | 10.0 |
显示驱动 |
● 参考设置及成绩
● 显卡优化设置篇:7900GS
上一代的7900GS应付老游戏比8600系列更合适,当初也属于高端卡一族。后期市售版本主要为高频版。
● 测试系统
PCPOP.COM泡泡网评测室 | |
硬件系统配置 | |
Intel Core 2 E6750 | |
华硕P5N32-E SLI NFORCE 680I | |
7900GS 256MB (600/1600MHz) | |
DDR2 800 1GB×2 | |
PATA Seagate ST | |
软件系统配置 | |
操作系统 | Windows vista Unimate 32Bit |
DirectX | 10.0 |
显示驱动 | NVIDIA Forceware 169.01beta |
● 参考设置及成绩
● 显卡优化设置篇:X1950GT
X1950在DX9时代如日中天,同德版的X1950GT的低价格也为更多用户用上这款在DX9时代极强的显卡出了不少力。
● 测试系统
PCPOP.COM泡泡网评测室 | |
硬件系统配置 | |
Intel Core 2 E6750 | |
华硕P5N32-E SLI NFORCE 680I | |
X1950GT 256MB (500/1200MHz) | |
DDR2 800 1GB×2 | |
PATA Seagate ST | |
软件系统配置 | |
操作系统 | Windows vista Unimate 32Bit |
DirectX | 10.0 |
显示驱动 |
● 参考设置及成绩
● 显卡优化设置篇:2600Pro
市面上的2600Pro已经卖到了499元,不少入门级用户头选择了廉价版260Pro,这里我们也看看它在Crysis中的性能表现吧。
● 测试系统
PCPOP.COM泡泡网评测室 | |
硬件系统配置 | |
Intel Core 2 E2160 | |
华硕P5N32-E SLI NFORCE 680I | |
HD 2600Pro 256MB (600/1400MHz) | |
DDR2 667 1GB×2 | |
PATA Seagate ST | |
软件系统配置 | |
操作系统 | Windows vista Unimate 32Bit |
DirectX | 10.0 |
显示驱动 |
● 参考设置及成绩
● 显卡优化设置篇:X1650GT
在DX9时代,A卡在各个档次都拥有优势,作为3:1架构最低端的产品,X1650GT在低端市场拥有无可比拟的性价比,只是可惜很快就卖完停产了。
● 测试系统
PCPOP.COM泡泡网评测室 | |
硬件系统配置 | |
Intel Core 2 E2160 | |
华硕P5N32-E SLI NFORCE 680I | |
HD 2600Pro 256MB (600/1400MHz) | |
DDR2 667 1GB×2 | |
PATA Seagate ST | |
软件系统配置 | |
操作系统 | Windows vista Unimate 32Bit |
DirectX | 10.0 |
显示驱动 |
● 参考设置及成绩
● 显卡优化设置篇:7300GT
2006年下半年-2007年上半年什么显卡卖得最多?答案不出意外就是7300GT,当时曾经在中低端显卡一手遮天,用户群庞大,这里给出了一款超频版的测试成绩,低频版7300GT的玩家的帧数应该比这个还低些。
● 测试系统
PCPOP.COM泡泡网评测室 | |
硬件系统配置 | |
Intel Core 2 E2160 | |
华硕P5N32-E SLI NFORCE 680I | |
7300GT 256MB (500/1400MHz) | |
DDR2 667 1GB×2 | |
PATA Seagate ST | |
软件系统配置 | |
操作系统 | Windows vista Unimate 32Bit |
DirectX | 10.0 |
显示驱动 |
● 参考设置及成绩
很明显,1024分辨率下开最低效果基本成了唯一的选择。比7300GT更低端的显卡可以供选择的余地已经不大,建议直接用最低分辨率最低特效尝试……
NVIDIA有着著名的“The Way”游戏计划,目前已经包含了数百款游戏,新近的DX10大作几乎都已经上榜,而参与游戏全程开发的NVIDIA对自家显卡在游戏中的表现自然是知根知底。每逢新的DX10游戏登场,必然发布一款最新的优化版驱动,Crysis当然也不能免俗。
在Crysis单人demo发布的当天NVIDIA就推出了169.01版驱动,官方的说法是对GeForce 6、7、8系列都有优化。为了检验是否属实,我们也简单的选择了各个系列有代表的显卡进行实际测试。
● 测试系统
● 新旧驱动成绩对比
无论是在Medium还是在Low设置下,GeForce 8系列的搭配新驱动性能提升非常明显,但是7900GS和6800XT这种老显卡在Low设置下新驱动成绩不如老驱动。也许是架构上的差异导致出现这种结果,其实细细想来,驱动程序多是为了激发新显卡的潜力而开发,由于架构上的巨大差异,新版驱动反而会限制老显卡的发挥,成绩反降就不足为奇了。
笔者在此处提醒各位玩家,对于新驱动,GeForce 6和7系列显卡用户一定要慎用。至截稿前为止,NVIDIA已经发布了最新的Crysis优化驱动169.04,推荐GeForce 8系列用户立刻更新。
正因为驱动的不够成熟,我们没有进行SLI的测试,游戏刚刚推出,后续优化驱动不断在发布并且完善,可以想象双卡系统在Crysis中的威力还远未到最高,我们期待着Crysis和相应的显卡驱动都能尽快的成熟完善。
● 全文总结:PC游戏的明天
Crysis固然很美,但是要开启这种美丽却要看玩家的荷包,游戏在最高设置下,远远超出了当前硬件所能承受的极限,和FarCry一样,这款游戏对于大多数玩家来说想体验到他最大的魅力可能要等待1-2年。在1024这种分辨率下只有8800Ultra等三款显卡能流畅运行于DX10模式(Very High)。长期以来,软件和硬件的发展是互相促进的,这一点在游戏与显卡的关系上表现得尤为突出。可以这么说,3D游戏的发展,成就了NVIDIA和ATI这两个独立显卡芯片生产商;另一方面,显示芯片技术的进步,又进一步催生了许多新的3D游戏。
在DIYer的眼里,游戏与显卡是一对不可分割的孪生兄弟,它们互相促进,互相拉动。每当一个新的游戏上市,必将带来新的一轮显卡升级热潮;而一个新的API技术标准发布,必将带来一款新的游戏上市。从大多数新游戏的配置要求看,GeForce 7900级别不过是标准配置,SM4.0、DX10效果固然是好,但这仅限高端配置。
对于绝大多数仍在使用上一代甚至更久远的老显卡玩家而言,这些游戏就意味着必须更换显卡,显卡是决定性的要素。显卡会实际处理你在屏幕上看到的一切,所有的细节模型、反射、真实的植物、爆炸。如果你电脑内存和CPU不够,只不过会为长时间的载入而烦恼,但是游戏还是可以运行,但如果你的显卡达不到要求,那你的桢数就会很低,就象看PowerPoint幻灯片,如果显卡再差,系统就会退回桌面。
Crysis远远的走在硬件发展的前面,回首一年前当G80刚刚发布的时候不少用户反问这么高性能的显卡哪里用得上?当真正的DX10来临的时候,G80也变得如此的脆弱。四核CPU搭配8800Ultra,只能刚好在1024这种高端玩家忍无可忍的分辨率下流畅。当然,DX10刚刚来到,它的硬件的利用效率还不能让人满意,但不能否认,Crysis带来了游戏画面上比较独特的真实,也难怪制作方不打算立刻推出次世代游戏平台版本,因为当前的游戏机根本无法承受,引领游戏画质革命的依然是PC平台。
换一个角度看Crysis,没有这种苛刻的游戏,怎么会激励硬件厂商推出更强大的平台?产品更新换代的好处就是用户同样的支出却能换来更高性能的产品。想要玩爽Crysis不容易,但正因为有Crysis,我们才对PC游戏的未来不迷茫,因为我们离真实更近了。
回顾游戏情节:2019年,一颗流星降落在朝鲜半岛北部……也许2019年,我们依然记得,一个叫Crysis的游戏,一个叫Crytek的游戏制作公司,在2007年带领我们走进DX10,走近真实……<