(本文编译自Eurogamer,原文作者Richard Leadbetter)
在今年的E3 2017微软发布会举办之前,我们期待着Xbox One X的全部游戏潜能都能够在舞台上得到揭示——不过最终微软只展示了一部分原生游戏,也正因为如此,围绕着Xbox One X的“真4K”也产生了一些怀疑论调。
在E3展会期间,也有不少开发者提及了Xbox One X上运行游戏的美妙成果:Monolith确认《中土世界:战争之影》可以原生4K运行,Respawn表示将通过动态升格至6K分辨率。除此之外,《方舟》开发商Wildcard工作室,将Xbox One X类比为一台16GB显存、搭载GTX 1070显卡的PC。微软本身对于Xbox One X的原生4K性能也持乐观态度,他们已凭借早期的跑分数据向玩家们展现了其硬件的可靠性。
今天外媒Eurogamer将公布Xbox One X的数据指标,不过在此之前也需要进行一些说明:该媒体的在三月底访问过微软的Redmond分部。微软ATG的软件工程师David Cook向他们展示了天蝎座引擎GPU的详细信息,其中就包含详细的性能分析。Eurogamer表示,尽管微软曾经在之前在独家访谈中与他们讨论过主机硬件,不过却没有提供具体数据。于是他们通过联系游戏开发者打探出了这些信息,又在这篇跑分结果发布前进行了测试。
Digital Foundary进行的跑分测试:
这一次对于天蝎座引擎(Scorpio Engine)性能特征的探究非常美妙,除了跑分数据意外,本次演示还揭示了:在Xbox One到Xbox One X完成更新换代的情况下,主机GPU的瓶颈是否也得到了突破——计算能力对于基础系统来说的确是决定性的瓶颈,但是在大多情况下,想要在新硬件条件下对内存、几何或者像素做出变动,都需要开发者们从整体方向上进行大的变动,而改进的重点就在于计算方面——恰巧这正是天蝎座引擎的强悍之处。令人欣慰的是,微软也在倡导将4倍各向异性纹理过滤升级至8倍,这对于最大限度地利用终极HD画质是非常重要的。
本次跑分测试中微软采用了自家的性能分析工具PIX,通过对数据进一步的捕捉,他们对Xbox One X的分辨率拓展性进行了展示,进而对机器的性能瓶颈进行测定。今天Eurogamer披露了9款游戏的跑分数据(这其中既有已经发售的游戏,也有尚在开发的作品)。以下表格中就是跑分测试的9款游戏以及他们在Xbox One上运行时的原始信息。
上表显示的是参测的9款游戏的类型、原始分辨率、引擎、API、发售情况
可以看到微软对于测试用的游戏都使用了代号进行称呼,不过Eurogamer的测评人员表示,你很容易通过数据猜测这些游戏究竟是什么:B和C分别是《极限竞速7》和《战争机器4》,而只有《星战前线》与代号H的项目相符。其他几款游戏的则不好确认:A可能是《重建核心》,G可能是《光环战争2》(这两个存疑)。不过重点并不是这几个游戏分别是什么,而是这些游戏在Xbox One X上运行时,能够获得多少提升。
要获得这些游戏的PIX指标,以上的全部9款游戏都得通过最基础端口登陆天蝎座的开发硬件——这也意味着要从最终版游戏当中获取代表性的数据,这其实也是相当有难度的。
Eurogamer表示,在阅读这些数据时我们还需要谨记,这些PIX结果仅代表GPU活动的单张“快照”效果(snapshot)——实际上,在以上任意一款游戏运行过程中,GPU的的负荷其实都会发生剧烈的变化。不过,我们这里假定微软选择了最有代表性的数据,从而展示游戏从Xbox One到了Xbox One X的硬件条件下究竟获得了多少的提升。
Eurogamer为了方便读者们阅读,已经将原始数据中的帧时间(frame-time)换算成了大家比较熟悉的帧率(frame-rate)。需要指出的是,这些数据是纯粹基于GPU时间得出的,和游戏最终发售时的官方设定的帧数上限无关。举例来说,B游戏(基本确定是《极限竞速7》)在Xbox One上的帧时间为13ms,在Xbox One X上以4K分辨率运行时则是11ms。11ms帧时间经过换算得出的帧数是90 fps,而实际上这款游戏在发售时明显是会锁60帧的——测试者表示,据他们所知开发商Turn 10在新主机上还是会设下这样的限制,这也是为了达到更加出色的画质。
上表数据为原生分辨率运行的Xbox One游戏与Xbox One X“准系统”下以2160p运行的游戏进行对比。数值按百分比计算,数字越高越好。数据显示,原生1080p的几款游戏扩展地很好,原生900p的游戏表现比预料中要好。至于720p?实在难以预料。
以上是一张帧率表,数值是从帧渲染时间转换过来的。数值越大越好。原生1080p的游戏在提升分辨率后帧率还有提升,3款900p游戏中有两款稍有落差,数值在5%-6%左右。
这张表格显示的是微软提供的原始帧渲染时间数据,数据通过PIX GPU采集,单位是毫秒,数值越低越好。原生900p的游戏D存在扩展问题,不过其他都表现良好。请谨记这只是一个非常初步的系统。
从微软展示的信息来看,Xbox One X的设计初衷是让原生1080p的游戏获得4倍的分辨率提升,不过在测试者访问微软期间,他们又进一步提高了自己的目标:微软不仅要将原生1080p引擎的游戏提升至2160p分辨率运行,他们还要让原生900p的游戏同样达到4K运行。从跑分数据上来看,在测试的9款游戏中大多数都达到了4倍分辨率设计的目标——即便Xbox One X硬件的GPU特性我们无从得知。
另一方面,这些以原生900p分辨率运行的游戏在Xbox One X上运行时,它们所获得的提升也不仅仅是干巴巴的“4倍分辨率”,在三款测试产品中,有两款还有着专门硬件针对的优化(可能),也让整体数据显得有些不同。
Eurogamer推测B游戏和C游戏分别就是《极限竞速7》和《战争机器4》,他们已经获得了这两款游戏的初始Xbox One X运行数据,也在E3展示上从微软那获知了游戏的优化成果。《极限竞速7》的开发商Turn 10使用的游戏引擎ForzTech想要达到60fps(换算成帧时间就是11ms)是完全没问题的。他们早先时候看到了较老版本的ForzaTech引擎运行的游戏Demo,从当时的表现来看,如果以60fps为目标,游戏大约会造成65%的GPU负载。从这一点出发来考虑,测试者表示他们很好奇,相比Xbox One上的基础版本,Turn 10最终会带来怎样的画面升级呢?现在可以确定的是,测试者试玩的Demo中纹理过滤看起来就已经相当出色了。
《战争机器4》的跑分结果更为美妙。的确,从数值上看想让分辨率提升到4K也是需要代价的,不过代价并不高昂——至少没法和《极限竞速》相比。另一方面,《战争机器4》的开发商Colition在E3上宣布将会带来包括更高分辨率的材质、更高的多边形数、更远的绘制距离、升级版的动态阴影并且提升反射效果的多项画面提升。如果再联系上跑分后游戏仅仅只增加了少量的帧时间,实在是难以相信《战争机器4》的Xbox One X版本能够如此出色,这也说明设计师们针对Xbox One X平台做了集中而且非常重要的优化,这才能够让跑分数值达到现今的等级。
如果情况如此,那么在进行跑分的3款900p游戏当中,有两款都应当能够提升到原生4K分辨率——同时数据也显示,A游戏的Xbox One X版本跑分结果仅仅与Xbox One版本在帧时间上相差了1ms,E游戏也只是落后2ms,两款游戏在帧渲染时间上只是增加了接近5-6%。不过很显然,并不是每款游戏都能够这么顺利地获得提升。图表中的D游戏——描述显示这是一款在Xbox One上以原生900p分辨率运行的开放世界冒险游戏,很显然它没办法很好地达成原生4K分辨率的目标。也许只是个巧合,在E3上以Xbox One X运行展示的开放世界冒险游戏《刺客信条:起源》的确展现出了2160p的画面,但是它需要运行棋盘式渲染和动态拉伸才能达成这个目标。不过很显然,这个结果已经足以给人留下深刻的印象。
再来看看游戏H,目前已经有了多项验证足以证明这款游戏是寒霜引擎运行的《星战前线》。在Xbox One上的版本可以达到720p分辨率,很显然本作即使以Xbox One X运行也难以达到原生4K分辨率。原初的数据指标显示,这款代号为H的游戏原本的帧数可也达到60fps,但是调整后可能会只能在38fps左右徘徊——这倒并不奇怪,因为你得知道从720p到2160p之间是有9倍的分辨率增长。Eurogamer表示,这其实也符合他们最近讨论的一个话题——Xbox One X的上市对于PS4 Pro其实也是一件好事。他们推测,寒霜引擎团队会因为Xbox One X对现行的PS4 Pro政策进行调整。再根据Eurogamer对于《圣歌》这款游戏(它在E3展示上运用了棋盘式渲染达到2160p分辨率)的分析来看,其实寒霜团队已经在背后悄悄做这件事了。
除了上述研究之外,在跑分结果中还有不少令人好奇的部分——其中最特殊的就是代号为I的开放世界游戏。这款游戏目前还在开发当中,使用的是一款内部引擎,游戏基于DX12技术研发。根据跑分结果来看,在Xbox One的基础硬件上运行游戏,其帧渲染时间为59ms,如果以这个数据来进行测定,这部分的游戏性能就只有17fps。这款游戏实际上在Xbox One X上是以原生4K运行的,它的性能似乎会受到GPU的限制——如果CPU方面再存在问题,那么后续的兼容性测定当中,这款游戏在缩放方面的局限性就更多了。
微软向Eurogamer提供了一份文件,其中就包含基础硬件和Xbox One X在相同分辨率下运行时的同比分辨率数据。这个数据本身似乎没有什么意义——除了向我们揭示了:如果开发人员坚持要在两个平台上都用同样的分辨率的话,可能会给GPU造成多么大的负担。不过这项数据的确与Xbox One X向下兼容Xbox One游戏的兼容性功能密切相关。
下列表格呈现了Xbox One游戏的比较性数据,同时还展现了它们在两种情况下在Xbox One X的硬件上的运行情况,两种情境存在差别:其一是在最新的XDK开发环境中进行编译,而另一种则使用的则都是老式的开发环境(也因此都是已经发售的游戏)。图表中的绿条就是Xbox One X的原生数据,它代表着那些2017年7月XDK(July 2017 XDK)环境下编写的游戏(在这个图表文件出炉时还尚在开发中)。而在此之后,即便是其开发人员没有拿到Xbox One X的开发机,也没有针对性地提升计划,在新的XDK环境下编译的每一款新Xbox One游戏也都会自然地获得了Xbox One X性能提升的支持。图表数据显示,相比那些早先发售的游戏,在新XDK环境下编译的作品就能够获得重大的提升。那么这其中究竟发生了什么变化?为何利用老式XDK编译的游戏就无法与新生代的产品比肩了呢?
这张图表显示的是游戏从Xbox One移植到Xbox One X上的性能对比,按百分比计算(蓝条表示Xbox One原版,因此数值都是100%),红条对比的是向下兼容的Xbox One游戏,绿条是在最新的XDK环境下以原生Xbox One X代码重新编译后的情况。老游戏在进行重新编译之后获得了很大的性能提升。
依然是和上表一样的数据,不过计量单位换成了基础帧率。只有向下兼容的游戏A没有获得很大的性能提升,但是使用原生Xbox One X代码进行重编译以后,它的提升却是几款游戏中最大的(值得注意的是,这还只是一个基础的版本)。
和前文的4K分辨率对比图一样,表中原始数据都使用PIX采集,单位为毫秒。数值越低越好。分辨率相同的情况下,蓝/红/绿分别对应的平台浮点运算能力是1.31TF、3TF、6TF。
事实证明,对早期游戏进行兼容绝非易事,所以在运行早先发售的Xbox One游戏时都默认使用了不同的预设。实际上,在运行这些游戏时,半数用于渲染的后端硬件都被关闭了,像素和顶点着色器也都只能分配到40个计算单元的半数。不过我们也不能一概而论。因为相比之下,原本在Xbox One的浮点运算能力只有1.3TF,而Xbox One X的新硬件则能为老游戏们提供3TF的运算能力支持,更进一步的来说,通过July XDK环境的编译,这个数值还能提升到6TF。从渲染时间方面的提升来看,已经发售的游戏应该能够获得足够的额外运算能力支持,从而达到最高的动态分辨率,同时还会增强各向异性过滤。微软同时也还承诺了为向下兼容作品带来更多的提升:包括减少读盘时间、提升CPU机能、以及RAM缓存等等方面的提升,这些内容并不在今天发布的跑分数据当中,不过我们没理由怀疑微软会放我们鸽子。
从这个角度来说,微软实现老游戏的向下兼容原理——有效地均摊GPU资源,也能够对PS4 Pro的“增强模式”的原理进行进一步的解释,因为在启动该模式时,纯粹的与GPU相关的场景中,似乎只有时钟速度(clock-speed)发生了变化。也许PS4 Pro和 Xbox One X同样都在升级之后获得了更加强劲的GPU,也都在运行老游戏时有着类似的局限性,不过其间还是存在着一些差别——Xbox One X拥有更多的计算单元和更高的时钟速度,这正是它的优势所在。
Eurogamer的评测者表示,他们非常期待亲手进行测试。而在没有加入Xbox One X补丁的情况下,《光环5》就是一个非常棒的向下兼容测试对象,可以通过它来见证Xbox One X的兼容性以及运算能力会如何影响动态扩展。届时Eurogamer也会推出更多测试项目。
除了兼容性之外,测试者表示他们还通过相关文档了解了Xbox One X的GPU的基础架构,目前他们已经确定该架构与原始的机型架构完全相配,同时也进行了相应的升级(这一点和PS4 Pro之于PS4的架构情况类似)。在架构之外,还有一些其他新特性——包括AMD的delta色彩压缩(delta colour compression),在微软的测试当中这项特性让性能提升了7-9个百分点。另外,DX12 API还独占了一项DCC特性。事实上,在Xbox One X平台上,DX11已经调到了“维护模式”,这也说明了微软非常希望开发者们能够积极地谋求进步——这对于Xbox One/Xbox One X来说都大有裨益,PC版本也会受益良多。毕竟我们在PC上也能用上升级版的DX12支持。 |