3DMGAME 3DM首页 新闻中心 前瞻 | 评测 游戏库 热门 | 最新 攻略中心 攻略 | 秘籍 下载中心 游戏 | 汉化 购买正版 论坛

注册 登录

QQ登录

只需一步,快速开始

查看: 4815|回复: 9
打印 上一主题 下一主题

[新闻] 为Fermi优化 《地铁2033》DX11技术简析

[复制链接]

105

主题

2644

帖子

1万

积分

云游仙境

Rank: 12Rank: 12Rank: 12

贡献度
2744
金元
22815
积分
13308
精华
5
注册时间
2009-5-11
跳转到指定楼层
主题
发表于 2010-3-10 13:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
德国PC游戏硬件网站PCGH近日对游戏制作人Dean Sharpe进行了独家访谈,解释了很多技术上的问题,现摘录如下:

  一、游戏引擎问题(此前有消息说游戏引擎是乌克兰工作室GSC Game World的X-Ray,但4A宣传是全新引擎)

  答:绝对是全新开发。X-Ray架构是我在2001-2002年间设计的,显然已经不适合未来,其最大的弱点就是不支持多线程、纠错联网模式、资源和内存管理太差,所以我们从零开始,借助一些中间件方案,快速开发了新引擎。

  一、跨平台开发问题

  答:同样的代码在上边所有平台上都执行得很好。它们使用的是同样的内容。是游戏架构决定了运行的平台。当然各个地方都有一些小的调整和优化,但我们只开发了一款游戏。

  三、PC版画质技术问题

  答:PC版上内部的PhysX触发频率比主机版高一倍,因此碰撞检测与结合行为更加精确,事实上PC版的声音渲染几乎是主机版的两倍,而且都带有声波轨迹。

  PC版图形方面的一些主要特性有:

  - 绝大多数纹理尺寸都是2048×2048(主机版是1024×1024)

  - 阴影地图分辨率最高943万像素

  - 阴影过滤好得多得多

  - 所有表面都有视察映射贴图,还有些使用了遮蔽贴图

  - 大量“真正”的体积材料,对尘埃环境非常重要

  - 从DX10往上使用正确的本地动作模糊(也叫物体模糊)

  - 光材料响应在高画质设置下几乎是符合物理规律现实的

  - 环境光遮蔽(AO)大幅改进,特别是在高画质下

  - 亚表面散射大大改观了人的脸部、手部效果

  - 因为不同细节等级,几何细节稍好了一些(当然还有Tessellation)

  四、高级视觉效果技术问题

  答:首先也是首要的:3D立体。游戏是基于3D、面向3D开发的,据我所知这是迄今为止唯一一款这种游戏。在DX11 3D立体模式下玩游戏会让人爽翻天,比在IMAX影院看《阿凡达》惊人多了。

  技术上有趣的包括延迟反射、分析反锯齿(AAA)、皮肤着色环境屏幕亚表面散射等等。另外,在高画质下即使关闭多重采样反锯齿,也能得到很好的反锯齿画面。

  五、多显卡支持问题

  答:我们一直在SLI系统上测试性能,应该能随着GPU数量增长获得几乎线性性能提升,当然也有我们无法掌控的驱动限制。

  六、多核心处理器支持问题

  答:游戏引擎从一开始就是基于多线程来架构的,这是唯一明智的做法。你不能在开发后期才加入多线程,那样效果会很糟。具体来说至少支持双核心,更多核心也支持。如果显卡不存在瓶颈,性能也会随着核心数量的增长而线性提高。

  七、超线程支持问题

  答:绝对支持,比如X360版本能获得几乎50%的性能提升,所以如果你的处理器支持超线程,不要关闭。

  八、物理技术支持问题

  答:物理效果紧密集成在游戏之中,比如轰击墙壁后的碎片会砸伤敌人。至于物理开发包,很多年前我们就选择了NovodeX SDK,后来被Ageia收购并成为PhysX SDK,再后来又归于NVIDIA旗下。它的性能很好,很早就拥有完整的、可定制的内容流水线,特别是对一个相对小的团队编写新引擎更加重要。

  CPU、GPU实现的物理效果并没有视觉上的差异,因为它们都基于普通的IEEE浮点,只不过GPU在数据并行算法上速度快几个数量级,因此可以应付计算量庞大的任务。《地铁2033》里的硬体物理效果都是CPU实现的,而布料物理、软体物理、流体物理、粒子物理会根据用户配置选择在多核心CPU或者GPU上实现。不管用户拥有什么硬件,都可以自行设置进行物理计算。

  九、DX11 API的决定性技术优势问题

  答:从纯粹的C++设计角度而言,DX11 API仍然很糟糕,但功能齐全。我喜欢DX11的三样东西:计算着色器、细分曲面着色器、绘制创建上下文分离。最突出的是计算着色器,它实现了全新等级的算法和性能优化。

  十、DX11画质效果问题

  答:如果关闭DX11特效,得到的画面效果和DX10代码路径渲染出来的是完全一样的,唯一的区别就是性能不同。另外它也支持DX9。

  十一、有传言说《地铁2033》会成为NVIDIA DX11显卡的首发作品

  答:我们不对传言发表评论,不过我们确实一直在Fermi显卡上测试《地铁2033》。




====================================




PCGH:你们宣称《地铁2033》是采用全新的引擎,但这引擎同你们之前曾经开发的X-Ray有什么借用的地方?

Dean Sharpe: X-Raty价格引擎还是2001-2002年的东西,由现在看来是缺乏扩展性的,X-Ray在多线程支持、网络架构模型、资源和内存管理方面都存在问题,并不适应次世代的家用机架构。

我们一切都是从白纸重新开始规划,但得益于一些中间件的使用使得开发进度较快。

PCGH: 你们一小队人员从X-Ray退出,为什么不考虑采用UE3或者Xray这样商业引擎?而自己开发呢?

确实我们曾经考虑过采用UE3授权(X-Ray不在考虑的范畴),我们在权衡后优势和劣势后,发现UE3并不像其广告中宣称的那美好,其还是过于臃肿和传统,很多简单的事情还是要花费很多人力,所以我们考虑自己制作在任何方面都更好的引擎。

PCGH:你们宣称《地铁2033》对应PC,Xbox 360和PS3平台,而PC版更是支持DX11和GPU PhysX,你们这个游戏并不是完全跨平台开发?各个平台开发都有一定独立性?

Dean Sharpe:为什么?我不明白你的逻辑。各个平台都是执行相同的代码,使用相同内容,引擎架构考虑到多平台应用,当然不同平台还是有细节的调整和优化,但是作为一个整体进行开发的。

PCGH,除开DX11和GPU物理加速,你们还采用什么与众不同的技术?家用机又阉割了什么?

Dean Sharpe: 你有更为强大的平台,你就可以加入更多特性:PC版PhysX的加入可以使得我们可以更为精确的进行碰撞检测,而PC版音源数量更是家用机的两倍,当然这个仅仅只是很小一部分,其他还有

更高的纹理细节(PC为2048x2048,家用机的阉割版为1024x1024)
阴影映射分辨率可达943万
阴影过滤质量更好
所有表面都可以使用Parallax Mapping(视差映射),并且一些带有occlusion-mapping
DX10可以提供个别物体的运动模糊
光材料响应在高画质设置下几乎是符合物理规律现实的
对环境杂质表现进行优化,这对肮脏的环境表现特别有用
光照财政
环境光遮蔽效果更好
人物的脸部,手部使用SSS次表面散射
由于采用不同的LOD算法,模型细节更好,甚至在不使用DX11 tessellation也是如此

PCGH:如果你需要为《地铁2033》的图像效果做广告,你可以加上一堆如HDR、SSAO、视差映射等冠冕堂皇的词汇,你还有什么其他要补充的么?

Dean Sharpe:首先第一个是3D立体显示(3D Stereo),游戏在开发之初就为3D立体显示而考虑,在DX11下使用3D立体显示,你甚至可以获得比看IMAX阿凡达更为疯狂的视觉享受。

技术方面其他有趣的东西还有延迟反射、分析性抗锯齿(AAA),皮肤表现使用的屏幕空间次表面散射。

在高设置下,关闭MSAA(多重采样抗锯齿),使用分析性抗锯齿甚至在接近水平和竖直的位置甚至可以获得比MSAA更好的抗锯齿效果。

PCGH:你们游戏对SLI、CF这样的多GPU系统支持如何?玩家需要组建多GPU系统来玩你们的游戏么?

Dean Sharpe:我们已经测试了SLI,玩家几乎可以获得同GPU数量提升成线性同比增长的性能,当然一些方面还是受到驱动的限制,这就是我们能力以外的事情了。

PCGH:现在多核心处理器普及率很高,你们引擎开发之初是否就提供了多核心的支持?

Dean Sharpe: 是的,我们引擎在构架之初就为多线程优化,你不能在一定的开发周期之后再加入对多线程的支持。

PCGH: 游戏支持多少核心?性能可以获得如何提升?

Dean Sharpe: 我们至少支持双核心,你有多少我们可以支持多少,如果你的GPU不虫子瓶颈,CPU的核心数提升也可以使得你获得线性的性能提升。

PCGH:引擎效能是否会得益于超线程技术?你是否建议关闭HT以提升性能?

Dean Sharpe: 不,引擎会得益于超线程技术,Xbox 360会因为SMT而获得50%的性能提升,如果你CPU支持,请不要关闭。

PCGH: 你能告诉我更多的关于PhysX GPU的细节么?如敌人中弹或者墙壁坍塌这样的效果可以通过CPU计算实现么?

Dean Sharpe: 是的,物理因素被很好的集成在游戏中。

PCGH: 为什么要使用PhysX而不是用Havok或者ODE物理引擎呢?

在Ageia被NVIDIA收购之前,我们就选择了PhysX,其有更好的性能和功能特性,可以完全自定义内容通道,这对新引擎的构架是十分重要的。

PCGH:使用GPU和CPU物理加速在视觉效果上有何不同?非NVIDIA显卡用户会缺失什么?什么是CPU物理计算完成不了?

Dean Sharpe:都是采用IEEE浮点数操作,CPU和GPU不会有什么不同,但GPU的并行数据处理能力可以使得在计算高负载物理运行时速度更快?,游戏的布娃娃效果使用CPU计算,但布料材质、柔性身体、流体和粒子物理则可以使用CPU和GPU,如果有NVIDIA显卡,通过GPU PhysX可以获得更好的性能。

PCGH:《地铁2033》支持DX11,其是否支持硬件细分曲面技术?

Dean Sharpe: 是.

PCGH:你们还利用DX11 API和SM5的哪些优势呢?

主要有三件:compute shaders, tessellation shaders(曲面细分)和draw/create contexts separation(多线程优化),其中最让人振奋的要算compute shaders,其运行我们使用全新的算法类和提升性能.

用户虽然可以屏蔽DX11,但他可以发现DX11相比DX10性能更好,这是得益于我们很多对于DX11的细节优化。

PCGH:你们是否使用DX11 CPU多线程优化?

Dean Sharpe: 如果你指的是命令缓存块操作(command-buffer chunks),答案是否定,我们多平台开发这个是基于引擎层次的。

PCGH: DX11同DX10在画面上什么区别?

Dean Sharpe: 如果你屏蔽DX11,在DX10路径画面是一样的,DX11仅仅是对性能的优化。

PCGH: 你们使用了哪些shader model 5硬件的特性?

我们几乎一半的场景使用了曲面细分和置换映射,虽然其损失了一定的性能,但画面的提升是巨大的,此外还有景深效果,它可以营造如电影一般的真实感。

PCGH:《地铁2033》也支持DX9,是否DX9也可以实现DX10的大部分特效?

Dean Sharpe:是的,《地铁2033》也支持DX9,但很多效果和特性是必须DX10以上才能实现,不过也有例外,柔和粒子DX9可以实现,但其他游戏通常需要用DX11来实现。这样做不困难,我们当DX9用户不足1%才会放弃对其的支持。

PCGH:有传言《地铁2033》是NVIDIA次世代Fermi的御用游戏,这个是否属实?你们是否是在GF100上进行的DX11游戏开发和测试?

Dean Sharpe: 无可奉告,我们经常是在Fermi上进行的DX11测试.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|3DMGAME ( 京ICP备14006952号-1  沪公网安备 31011202006753号

GMT+8, 2026-5-22 15:16 , Processed in 0.031083 second(s), 16 queries , Memcached On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表