《Metro Redux》:面向PS4和Xbox One开发游戏的真实情况
与4A Games坦诚讨论新一代主机。
就技术面试而言,这是一个很不错的面试。我们以前的读者地铁2033而且地铁最后一盏灯4A Games的首席技术官Oles Shishkovstov并不会在重要的事情上退缩,在向主机硬件的新浪潮过渡的过程中,显然有很多重要的话题可以讨论。
而正是这种坦率和直接,到一定程度的诚实,总是让奥莱斯的采访令人耳目一新。在这种情况下,4A是第一个愿意深入讨论新游戏机开发过程的开发商,讨论PlayStation 4和Xbox One的硬件和软件所代表的问题和机遇。bwin必赢亚卅bwin世界杯Oles阐明了之前谣言和传闻的主题,描绘了Xbox One游戏制造商所面临的挑战,让我们得以一窥微软是如何在幕后改进XDK开发的。
这里有大量的信息让你深入研究——Xbox One和PlayStation 4之间的性能差异,对微软主机ESRAM的坦率和诚实的评估,CPU和GPU共享相同的内存空间(和带宽)的影响,以及对PC硬件和DirectX 1bwin世界杯bwin必赢亚卅2的观察。也有一些启示。你知道微软现在允许开发人员绕过DX11,以类似于索尼GNM API的方式直接与硬件对话吗?Kinect GPU时间切片的回归对开发者来说有多大意义呢?
顺便说一句,我们希望今天能给你带来地铁终极对决。然而,一些最后一分钟补丁到PC版本意味着这将不得不等待。与此同时,我们也包含了一些我们一直致力于开发的完整主机资产。有关主机版本的更深入报道,请访问我们的last-gen vs Redux而且性能分析如果你错过了它们,值得一看。就目前的情况来看,我们推荐这款游戏是没有问题的——它非常特别。
我认为考虑到我们在工作室中开发工具的时间,我们在新主机上所取得的成就是非常出色的——我们在Xbox One上只有4个月的实践经验,在PlayStation 4上只有6个月的实践经验(我想我们在基辅办公室遇到的工具问题现在已经众所周知了)。bwin必赢亚卅bwin世界杯
但事实是,我们还没有开始充分利用我们拥有的所有计算能力。例如,我们没有使用并行计算上下文,因为缺乏时间,而且当时这些控制台的支持处于“alpha”状态。这意味着随着我们对硬件的熟悉,还有许多未开发的性能可以转化为更好的视觉效果和游戏玩法。
很明显,他们没有为你现在可以买到的最先进的PC硬件(尽管花了很多钱)。但它们是相对平衡的硬件,在性能方面远远高于目前大多数人拥有的硬件。别忘了,接近金属的编程通常意味着我们可以获得比同等PC规格的2倍性能增益。不过,实际上实现这种性能需要一些时间!
但要回答这个问题,他们可以持续时间一样长。请记住,当PS3首次上市时,Nvidia G80也发布了,它几乎比RSX快两倍……
类似的GPU架构确实是件好事。原因是现代gpu是非常复杂的设备,性能悬崖并不明显。你不能再说:“这里我们是ALU有限或ROP有限或纹理寻址有限或纹理过滤有限或占用有限。”根本没有正确而简单的答案。我们可能会受到ALU的限制而且受纹理寻址的限制而且有点受带宽限制-所有在同一时间…掌握这一点需要一些时间。
至于CPU——这一点都不重要,只要性能足够好就可以了。至于RAM层次结构和它的性能——它在不同平台之间是不同的。
我们只是将游戏移植过来并进行了大量测试!
我可以举一个小例子:之前两款主机上的《Metro Last Light》都有一些大量矢量化和手工优化的纹理生成任务。其中一个在单个PS3 SPU上需要0.8ms,在单个Xbox 360超线程上大约需要1.2ms。当我们第一次在PS4上分析它时——已经通过AVX+VEX矢量化了——花了超过2毫秒!对于一个16ms帧来说,这看起来很糟糕。但问题是,这个任务的唯一目的是从(旧的)gpu上卸载一些循环,这在当前的下一代主机上是适得其反的。那个代码路径刚刚被关闭了。
好吧,你回答了你自己的问题——PS4只是更强大一点。你忘了提到ROP计数,这也很重要——我们不要忘记CPU和GPU(在两个主机上)都共享DRAM带宽。在分析Xbox One时,我看到过很多GPU可以足够快地运行,但只有在CPU基本空闲的情况下。不幸的是,我甚至看到了相反的情况,当CPU按照预期执行时,但只是在空闲的GPU下,即使它(CPU)应该获得优先的内存访问。这就是为什么微软在发布前提高时钟的决定是一件明智的事情,因为设计是固定不变的。
计算像素输出可能不是衡量它们之间差异的最佳方法。除了分辨率,还有很多其他(更重要的因素)影响图像质量。我们可能会在PS4上每帧提高40%的像素,但结果并没有提高40%……你自己的眼睛可以告诉你。
事实上,真正的痛苦不是来自于ESRAM,而是因为它的量很小。至于ESRAM的性能,对于Xbox One的GPU来说已经足够了。是的,这是真的,最大的理论带宽——有点比得上PS4——很少能达到(通常是同时读写,如fp16混合),但在实践中,我只看到少数情况下,它成为一个限制因素。
让我们这么说吧——我们曾经看到过这样的场景:仅仅通过在Xbox One上发出draw-calls,一个CPU内核就被完全加载了(当然,这肯定是在“mono”驱动程序上,使用了几个快速路径调用)。然后,在PS4上的相同场景中,实际上很难在配置文件图中找到这些绘制调用,因为它们几乎没有使用时间,因此几乎不可见。
总的来说,我真的不明白为什么他们选择DX11作为控制台的起点。这是一个控制台!为什么要关心这些遗产呢?在PS4上,大多数GPU命令只是写入命令缓冲区的几个dword,比方说只有几个CPU时钟周期。在Xbox One上,由于API所做的所有簿记工作,它可能会慢上100万倍。
但微软并没有睡着,真的。在Xbox One发布之前和之后发布的每个XDK都带来了越来越快的调用速度。他们添加了大量的特性,只是为了解决DX11 API模型的限制。他们甚至提供了DX12/GNM风格的diy API——尽管由于时间限制,我们没有在Redux上发布它。
没有什么秘密。我们只是适应了目标硬件。
GCN不喜欢插补器?放弃逐顶点的切线空间,切换到逐像素的切线空间。CPU任务在无序的CPU上变得太快?合并这些任务。任务太慢?Parallelise它。也许GPU不喜欢循环中的高根数?但它在整数数学中很好-所以我们将使用旧的整数技巧。等等,等等。
这就是优化的艺术,仅此而已。顺便说一下,PC版本也直接受益于这些优化,特别是cpu方面,因为所有平台都有无序的cpu。
因为我们可以!实际上在下一个未公布的项目中,设计师想要更多的东西(像往常一样),我们很可能会把目标定在30fps。
你看,我们发布了一款60帧的坚固游戏,其质量介于PC版本的高和非常高的预设之间。让我们放弃大约30%的帧时间用于后期处理(因为这基本上是一个恒定的成本)——所以我们在屏幕上的东西大约有11毫秒。现在想象一下,如果我们将目标设定为30fps,那将创造出2.5倍的更好且更丰富的视觉效果。
自从《地铁最后的光》上市以来,我们收集了许多玩家的改进建议,以便将它们包括在地铁Redux中。新主机的强大功能也让我们能够在对游戏玩法最关键的领域改进游戏,特别是枪战和总体感觉——例如战斗和过场动画变得更加流畅,控制也变得更加灵敏。除此之外,地铁2033的新化身享受了地铁:最后的光中引入的许多升级:新的武器及其升级,改进的隐身模式生存能力和拿下能力,改进的AI具有更真实的行为,以及改进的视觉效果等。
我们很高兴游戏变得更加平衡:他们玩得更好,跑得更快,看起来更新鲜。事实上,我们成功地将整个地铁世界与所有dlc、游戏模式和难度设置整合到一个包中,从而提供了最终的包。
我们两者都在做。除了Redux,我们还在开发一款新游戏。当下一个项目处于早期预生产阶段时,我们有空闲的生产资源来处理Redux,尽管现在随着我们的增加,下一个项目需要Redux团队!但你已经看到了,地铁Redux不仅仅是一个移植或转换-它呈现了一个全新的体验,特别是2033年的部分!
肯定。
对于我们现在正在开发的游戏,我们的设计师已经转向了更多沙盒风格的体验-较少的线性,但仍然是巨大的故事驱动。我不会详细说明,但这也需要程序员做一些工作。此外,我们也在不同方面改进图像,比如最近我们做了一个基于物理的全局环境遮挡(而不是像SSAO那样的局部)。我不会在这里谈论PBR(基于物理的渲染),因为我们还处在艺术家们还在调整心态的阶段。
实际上,什么是PBR,为什么要使用它?首先,这意味着更少的内容调整,以使其看起来更好。因此,灯光艺术家喜欢它,纹理艺术家讨厌它。但从技术方面来说,PBR是关于镜面作为一个头等公民在每一个像素。实际上,Redux带有能量保护镜面-这是PBR的一个小而重要的部分,尽管我们故意为艺术家保留了所有的调谐旋钮。但是,是的,我们现在完全为下一个项目做准备了。不再有调谐旋钮——至少现在是这样。
除了它们更接近(现代)金属之外,这些API是API设计中的一个范式转变。DX11是“我会为你记录一切”。DX12说“现在这是你的责任”-所以它可能是一个更薄的层。至于Mantle,在我看来,它只是一个临时API。
不,这很重要。所有依赖项跟踪都需要消耗大量CPU能量。如果我们谈论的是多线程命令缓冲区块生成——DX11模型本质上是一个“失败”,而DX12应该是正确的。
好吧,这个问题稍微复杂一点——它不是像‘这里,拿走我们以前偷来的10%的性能’,实际上它是可变的,比如有时你可以多使用1.5%,有时可以多使用7%,等等。我们本可以瞄准更高的分辨率,但这次我们追求的是100%稳定的vsync锁定帧率。这并不是说我们不能用更多的时间做更多的事情,而且根据我之前的回答,XDK和系统软件每个月都在不断改进。
好吧,CPU性能基本上由于各种因素而停滞不前——经济是其中之一。我认为PC游戏开发商应该瞄准主机cpu。
如果不卷入“粉丝大战”,这个问题很难回答。购买你预算允许的最强大的组件,重点是GPU。
统一内存的问题是内存一致性。甚至在我们看到高度集成soc(芯片上的系统)的主机上,我们也可以选择映射内存地址范围,基本上是“用于CPU”、“用于GPU”和“完全一致”。完全连贯真的没有那么有用,因为它浪费了性能。那么传统的个人电脑呢?通过某种外部总线只是为了窥探缓存-它会非常慢。
是的,最初的Metro Last Light Linux移植版本是基于OpenGL 3.2的——它很稳定,但不支持高端功能。对于Redux,我们基本上复制了DX11版本,在功能上几乎一一对应。这种方法的缺点是GPU至少应该是OpenGL 4的“核心配置文件”。
肯定。K1只是移动世界中的一颗亮星。我希望天空充满星星,这样在经济上对我们来说是可行的!
bwin888官网Digital Foundry专注于游戏硬件和软件的技术分析,使用最先进的捕获系统和定制软件向您展示游戏和硬件的运行状况,准确地可视化它们的能力。为了向你展示4K游戏的真实面貌,我们需要建立自己的平台,为离线观看提供高质量的4K视频。于是我们就这么做了。
我们的视频文件是几亿字节,我们选择了高质量的提供商,以确保快速下载。然而,带宽并不是免费的,所以我们每月收取4.5英镑的小额订阅费。我们认为这是一个很小的代价,以无限访问我们的内容的顶级质量编码。谢谢你!
支持数字化铸造bwin888官网