《战锤40K:暗潮》性能分析和系统要求


3楼猫 发布时间:2022-11-23 17:02:58 作者:肥鲨Fatshark Language

STEAM商店页原文链接:https://store.steampowered.com/news/app/1361210/view/3467237196841631255


大家好!


我是肥鲨(Fatshark)的联合创始人和首席技术官理Rikard Blomberg。1983年我第一次用来编程的计算机(或者说接触到的电脑)是一台ABC80,当时任何类似图形的东西就是我们现在所说的ASCII代码“艺术”。自那时起,计算机技术迎来了天翻地覆的发展。

 

今天,我们将发布《战锤40K:暗潮》的详细系统需求,包括高端配置和支持RTX和DLSS 3等NVIDIA技术的机型。与此同时,我们还会深入分析一下《暗潮》的游戏性能和预期体验,并向玩家分享利用现有的硬件配置获得最佳游戏体验的指南。

 

我们开始制作第一人称或第三人称游戏的历史可追溯到《铅与黄金:西部狂野之争》(Lead and Gold)。自那时起,终端用户的帧率和游戏体验等性能问题一直是我们考虑的重中之重。即便如此,我也无法说出哪款出自本工作室的游戏在性能方面能够让我们完全满意。为什么呢?因为作为游戏开发者,我们深知游戏各项具体参数的关系就如同一场“拔河”,对性能都有影响,不可能面面俱到。

 

我们认为,只有维持各方面的平衡,才能做出最好的游戏,因为这样才不会出现个别方面凌驾于其他方面之上。这并不等同于游戏以后就没有改进的空间,而是提醒开发者必须时刻注意我们的优先级。

 

《末日鼠疫》、《末日鼠疫2》和《暗潮》等游戏正是在这种宗旨下诞生的出色案例。就维持稳定的高帧率而言,这些游戏并非完美无缺,但与其在敌人数量或关卡画质方面做过多的妥协,我们仍选择按这样的原则开发游戏。我们认为,大部分玩家都可以接受游戏过程中出现短暂掉帧的情况。我们深知,对于竞技游戏,这么做很难让玩家买账,但这对于我们这类合作型游戏来说是必要的妥协。但是,我们是否对当前游戏的性能水平感到十分满意呢?并不是,我们永远也不会百分百满意。只要我们的游戏还有工作人员在维护和改进,这场“拔河”就永不停息。

 

在这种情况下,我们投入了大量的精力,不仅希望游戏在测试阶段就达到较出色的性能,还想通过发售后获取的玩家实际数据和反馈来确定游戏开发的优先级,力求打造最好的游戏性能。

 

大体上讲,我们的游戏也面临了类似的挑战。游戏世界中,各种事件林林总总,还有好多敌人,都由AI操控着,身穿的服装和配件细节异常丰富。我们还必须依赖大量的物理模拟去处理主要的近距离战斗场景(其中包含无数实体的移动和交互)。

 

拥有超多内核的新型硬件现在已不足为奇,而在现代处理器的加持下,实现并行处理的前景还是很可观的。但是任何游戏开发者都会告诉你,这绝非是彻底解决问题的良方。实现并行处理的前提是游戏各个性能项以并列而非顺序的方式运行,这意味着它们必须相互独立。然而,大部分游戏代码,特别是涵盖玩家以及玩家和世界之间互动方面的代码,难以实行并行处理,因为管理这些代码的规则之间通常高度关联,而不是独立的。在我们的游戏里,能够并行处理的内容也仅限部分人所理解的较低端的系统,比如升级动画、资源处理、向GPU发送命令等。但是,就算这些方面可以并行处理,我们的游戏对CPU的占用依然较高。

 

我们不妨先来探讨一下CPU、GPU,以及它们与帧率之间的关系。作为新时代的玩家,你们可能在上幼儿园时就了解到这些内容,比我小时候强多了。但是,我这个老顽固有一条基本原则:世上没有不值得问的愚蠢问题。

 

帧率(Framerate)就是每秒钟渲染在显示器上的帧数。不过,作为游戏开发者,讨论帧时(Frametime)才更为实际。帧时是帧率的倒数,表示完整渲染一帧到显示器上所用的时间。我们通常以毫秒为单位衡量帧时。换句话说,每秒60帧的帧率就相当于大约16.7毫秒的帧时。

 

为了实现帧时等于或小于16.7毫秒,游戏在单次更新(一帧)中的所有操作都必须在这个时间内处理完毕。这意味着此时的CPU必须在这一时间内处理逻辑实体、物理、碰撞、AI、发送和接收网络消息、构造和向GPU发送指令等所有更新。同样,GPU必须能够在这一时间内处理所有来自CPU的指令,应用代码转换和放置对象、镶嵌表面、渲染阴影和光照、进行后处理等。如果这两个部分(GPU或CPU)的性能不匹配,游戏的帧时/帧率将取决于处理速度较慢的内核。

 

为了充分利用硬件的各项特定配置,CPU和GPU必须达到相近的帧时才不会彼此“拖累”。所以,在优化游戏时,我们通常会着眼于两者中速度较慢的一方,并努力寻找加快其处理速度的方法。

 

如前所述,并行处理对CPU的要求很高。我们会尽量识别相互独立的任务,交给CPU的其他线程来处理,从而或多或少地从总帧时中节省一点时间。我们还会找出那些可能不需要处理或不应该一直处理的部分。也许这些步骤每10帧处理一次就足够了,没有必要每一帧都处理一次。其次,还有很多更具体的处理技巧、应避免或提倡的模式等,都可以考虑优化。

 

缩短GPU帧时通常比缩短CPU帧时更容易。我们特地为玩家公开了一系列对GPU帧时影响较大的渲染设置。

 

降低分辨率、关闭高级视效、使用与硬件相配的缩放比例和抗锯齿,这些都可以由玩家自行设置,以便缩短GPU帧时并提高帧率。

 

尽管如此,我们通常也会花费大量精力调整游戏的内容和渲染功能,确保GPU能保持较低的帧时。

 

● 减少每帧的绘制调用(draw calls)数量。

○ 手动从关卡中移除对象

○ 改进关卡中的剔除机制,玩家视角看不到物体的时候不进行绘制

○ 用更少的材质创建分辨率较低的网格细节层次

○ 将多个对象合并成更大的单个网格

○ 利用实例化组合绘制调用

 

● 缩短渲染单个对象的时间

○ 创建更低分辨率的网格细节层次

○ 删除着色器中某些情况下可能不需要的特性

 

● 优化和改进高级渲染功能,如后期效果和材质/光照模型,更好地利用硬件。

 

 

对于每一款新游戏,我们都希望将技术和游戏引擎的水平提升一个档次。这不仅是为了完善游戏本身,也是为了提高我们的整体技术水平。在当时看来无用的新功能或奇怪的优先处理项可能会对未来的更新和游戏产生重大影响。

 

在技术方面,我们在《暗潮》开发之初就发现了一些想要改进或回炉重铸的内容,主要包括:

 

● 改变并改进网络模型(这是主题涵盖范围太广,希望后续能另起一篇独立的博文详述)。

● 过渡到仅能用DX12渲染的后端,以便利用更多DX12的新功能。

● 改进光照视觉质量以及光照工作流程。

● 用对代码依赖较少的新方法创作和处理武器、装饰和其他物品等游戏内容。

● 以更大的结构单元为基础构建关卡,以便更有效地制作多关卡内容。

● 改进技术捆绑策略,优化游戏下载包的大小和磁盘大小要求。

 

为了忠实于《战锤40K》的世界观,我们必须让整个遥远的严酷世界充满黑暗。但我们应该如何制造黑暗?不添加光照就可以了吗?这个问题的回答是:把黑暗中仅有的光源做得更好、更逼真、更吸引眼球。

 

因此,我们需要改进环境光照模型。在《末日鼠疫2》中,环境光照模型主要由非常稀疏的烘焙探针信息和全局环境光覆盖组成。从本质上来说,我们想要在场景中添加全局光照,并确保放置在游戏世界中的物体能够准确地烘托光照效果。有了更精确的环境光照后,也不能忘了镜面光照和反射,因为它们会让整个场景的效果更一致。很明显,我们必须在这方面做出大幅改进,才能不辜负《战锤40K》世界应有的严酷和黑暗氛围感。

 

幸好,目前有一项出色的备选技术可以解决这个问题,即光线追踪,确切的说是利用RTXGI技术渲染全局光照。

 

尤其是在硬件支持方面迎来了一波爆发式增长之后,光线追踪成为了游戏渲染领域的新秀。从渲染开发的角度来看,光线追踪也很有吸引力。针对更传统的光栅化渲染时出现复杂的极端情况,光线追踪提供了统一的解决方案。


NVIDIA DLSS 3和RTX支持

在与NVIDIA的合作下,我们选择在渲染器中支持光线追踪,并且最终实现了RTXGI和光线追踪反射的优化效果。这也为我们继续尝试其他的光线追踪功能奠定了基础,未来有希望进一步改善阴影、透明度渲染和VFX(粒子等视觉效果)等方面。为进一步改善游戏的帧时和响应时间,我们还决定支持其他RTX功能,如DLSS和Reflex。

 

我们最终选择使用RTX全局光照(RTXGI)带来的另一个额外好处是,我们决定用烘焙的RTXGI探针网格替换烘焙的环境光解决方案。这可以让我们在开发引擎上使用RTX显卡快速烘焙可应用到场景中的全局光照,哪怕GPU没有足够的配置来驱动这样高级的光线追踪功能。当然,如果你的主机GPU已经足够强大,那就无法获得完整的动态全局光照提升效果,但静态全局光照仍然保留了场景中不错的黑暗氛围,否则游戏场景将非常平淡和无聊。

 

如果没有性能良好的超分辨率功能,开发光线追踪等非常耗费资源的功能就没有多大意义了,所以我们决定支持DLSS和Reflex功能。

 

其实,我们最初应用的是DLSS 2.1,但随着项目的扩展,我们开始倾向DLSS 3。之后,我们抓紧了机会,将DLSS 3轻松集成到《暗潮》中。因为我们在开发过程中经常受到CPU的限制,所以带有帧生成这种新型功能的DLSS 3成了我们的好帮手,而且我们早已集成了Reflex来处理增加的延迟问题。看到DLSS 3给我们带来了巨大的帧率提升,我们感到非常高兴。

《战锤40K:暗潮》性能分析和系统要求-第0张

(*)这里讨论的是绝大部分情况。在极为复杂、细节密度极高的场景中,由于CPU的限制,有时仍可能会出现性能短暂下降的情况。


整体性能

为了使游戏内容的质量和数量更上一层楼,开发《暗潮》的过程非常费时费力,但我们仍然愿意支持广大玩家不同的硬件配置。为了做到这一点,我们必须为许多功能和功能的保真度设计可调节的参数。我们也明白,对于许多玩家来说,搞清楚选择哪种设置可以获得最佳游戏体验并不简单。因此,我们会在下文解释如何理解和使用游戏中的不同设置参数,并提供建议和提示。希望会对各位玩家有所帮助。

 

由于在游玩《暗潮》的过程中,屏幕上可能会出现超过100个敌人,调整部分设置可能会提高战斗时的帧率。比如,减少布娃娃最大值(MAX RAGDOLLS)可以提升CPU性能(模拟的本地物理对象更少),而减少武器命中和血迹的贴花(MAX WEAPON IMPACT DECALS, MAX BLOOD DECALS)数量以及它们的时效(DECAL LIFETIME)可以提高GPU在类似情况下的性能。

 

大多数设置往往主要影响GPU,所以如果CPU性能不佳,提升帧率的方法就更为有限。在CPU性能有限的情况下,只有几个设置可以调节,即:

 

● 布娃娃最大值(该数值对CPU的影响很大)

● 散射密度

● 镜头眩光(只有开启最高选项“所有光照”才会对有CPU影响)

● 视野

 

主要与性能相关的设置

DLSS / FSR

图像增强和升级技术在提高GPU性能方面备受推崇。对于GeForce RTX显卡,我们集成了NVIDIA DLSS,这是使用AI输出高分辨率帧的技术框架。我们增加了对两种AMD的超级分辨率锐画技术(FSR)升级技术的支持,这种技术可以在任何GPU配置上使用。它们的不同设置平衡了速度和质量,但请注意,大多数性能预设是为高于1080P的分辨率定制的。任何情况下只能使用以上三种可用技术中的一种。

 

在不使用这些技术的情况下以高分辨率运行游戏将对性能产生巨大影响。

 

NVIDIA DLSS超分辨率

DLSS超分辨率技术使用AI输出更高分辨率的帧,而不影响图像质量或响应能力。该功能需要GeForce RTX显卡。从质量模式(对视觉效果影响最低)到超高性能模式(性能提升幅度最大)的参数各不相同,后者最好在以更高分辨率(如4K)运行游戏时选用。还有自动模式可选,可以根据配置自行设置最佳方案。

 

可选参数,按照对视觉效果影响最低、性能提升最低到对视觉效果影响最高、性能提升最高排序。


关闭⇒高质量⇒平衡⇒高性能⇒超高性能

 

 AMD超级分辨率锐画技术1.0(FSR 1.0)

AMD超级分辨率锐画技术1.0是一项尖端超级优化空间放大技术,可在任何GPU的基础上以高帧率呈现绝佳的图像质量。选择性能最高的设置会降低图像质量,建议在屏幕分辨率更高的情况下使用。

 

可选参数,按照对视觉效果影响最低、性能提升最低到对视觉效果影响最高、性能提升最高排序。


关闭⇒高质量⇒平衡⇒高性能⇒超高性能

 

 AMD超级分辨率锐画技术2(FSR 2)

AMD超级分辨率锐画技术2是一项尖端时域放大算法,可以较低的分辨率输入生成高分辨率帧。该技术提供超高质量(对视觉效果影响最低)和高性能(性能提升幅度最大)的选项,后者最好在以更高分辨率(如4K分辨率)运行游戏时选用。总体而言,FSR 2.0在更多种分辨率上的表现比第一代更佳,特别是在较老的硬件上,但缺点是消耗更高。

 

可选参数,按照对视觉效果影响最低、性能提升最低到对视觉效果影响最高、性能提升最高排序。


关闭⇒超高质量⇒高质量⇒平衡⇒高性能  

 

NVIDIA REFLEX低延迟

这是一项用于衡量和改善游戏延迟的技术。启用此功能可以降低系统延迟,提升PC响应能力。此功能对性能的影响非常小。BOOST选项将覆盖GPU的省电功能,可以额外小幅度降低延迟。

 

可选参数:

关闭⇒开启⇒开启+BOOST

 

帧率上限

将帧率锁定在最大值,可用于实现更稳定的帧率。只能与NVIDIA Reflex低延迟功能配合使用。

 

可选参数:

30⇒60⇒120⇒无限制(关闭)

 

抗锯齿

抗锯齿功能可以改善多边形锯齿状边缘的外观,使其在画面中呈现出平滑的效果。TAA比FXAA的效果更好,但GPU使用率更高。

 

可选参数,按照GPU负载从低到高排序:

关闭⇒FXAA⇒TAA

 

锐化

与TAA搭配使用可提高边缘质量,会略微提高GPU使用率。

 

关闭⇒开启

 

垂直视野

垂直视野用于控制呈现在显示器上的可视游戏世界范围,以视野垂直方向的角度作为衡量参数。提高垂直视野会对性能产生很大的负面影响。视野对GPU和CPU均有影响。

 

可设置为45°(最窄)至85°(最宽)之间的数值。


光线追踪相关设置光线追踪预设

启用DirectX光线追踪(DXR),实现逼真的反射和全局光照效果。

根据以下方案设置光线追踪。光线追踪可能对GPU性能产生很大的影响,具体情况取决于设置。它对CPU性能也可能产生相对较小的影响。

 

《战锤40K:暗潮》性能分析和系统要求-第1张


光线追踪反射

启用DirectX光线追踪(DXR)可以实现逼真的反射效果。“低”预设结合将DXR与SSR相结合。“高”预设对GPU性能有很大影响,仅建议在高端硬件上启用该选项。

 

可选参数,按照GPU负载从低到高排序:


关闭⇒低⇒高

 

RTX全局光照

启用这个选项可以获得逼真全局光照,利用光线追踪在游戏中呈现更精确的光照效果。主要对GPU性能产生影响。

 

可选参数,按照GPU负载从低到高排序:


关闭⇒低⇒高

 

通用图像设置和预设图像预设(画质)

根据三个预设方案调整更细节(高级)的设置。此选项不会影响任何与视野、光线追踪、性能等相关的设置。对于大多数玩家,选择这些预设往往比较合适。查阅下方表格即可了解这三种预设方案的对应设置。

 

在设置“图像预设”后更改任何高级设置都将变为“自定义”方案。注意,将设置从自定义更改为任何预设都将重置所有自定义设置。

 

《战锤40K:暗潮》性能分析和系统要求-第2张

 

 

可选参数,按照GPU和CPU的负载从低到高排序:


低⇒中⇒高

 

高级设置环境光遮蔽质量

环境光遮蔽是计算场景间接光照的模型。我们使用组合自适应计算环境光遮挡(Combined Adaptive Compute Ambient Occlusion,CACAO)作为环境光遮蔽模型。提高环境光遮蔽(AO)质量会增加GPU的负载。

可选参数,按照GPU负载从低到高排序:


关闭⇒低⇒中⇒高


光源质量

影响光源和阴影的质量。参数越高,内存消耗和GPU负载越高。

可选参数,按照GPU负载和内存消耗从低到高排序:


低⇒中⇒高⇒极高


体积雾质量

设置游戏中雾的视觉质量。提高雾的质量会增加GPU负载。

可选参数,按照GPU的负载从低到高排序:


低⇒中⇒高⇒极高


景深

增加附带不同质量设置的镜头对焦效果。该设置将提高GPU使用率。

可选参数,按照GPU的负载从低到高排序:


关闭⇒中⇒高


泛光

通过后期处理实现的游戏内明亮镜头泛光效果。该设置将略微提高GPU使用率。


关闭⇒开启


皮肤次表面散射

通过后期处理实现的逼真人物皮肤效果。该设置将提高GPU使用率。


关闭⇒开启


动态模糊

通过后期处理模拟运动的模糊效果。该设置将提高GPU使用率。


关闭⇒开启


屏幕空间反射

通过后期处理生成游戏内的反射效果。该设置将提高GPU使用率。

可选参数,按照GPU的负载从低到高排序:


关闭⇒中⇒高


全局光照

烘焙模拟间接反射光照,开启光线追踪时,光线追踪全局光照将代替该设置,所以在该情况下启用全局光照不会产生效果。


低⇒高


镜头质量

为镜头质量彩色边纹和失真启用后期处理效果。该设置将提高GPU使用率。


关闭⇒开启

 

镜头眩光

为太阳光或所有光源添加镜头眩光效果。该设置将提高GPU使用率。

选择“所有光源”还会对CPU产生细微影响。

可选参数,按照GPU的负载从低到高排序:


关闭⇒仅限阳光⇒所有光源


散射密度

缩放游戏内碎片等细节元素的密度。散射密度越高,CPU使用率越高。

可以设置为0.0和1.0之间的数值


布娃娃最大值

设置敌人布娃娃的启用数量。布娃娃数量越多,CPU使用率越高。

可以设置为3到50之间的数值


武器命中效果最大值

设置同时存在的武器命中效果数量。该设置将提高GPU使用率。

可以设置为5到100之间的数值


血迹效果最大值

设置同时存在的血迹效果数量。该设置将提高GPU使用率。

可以设置为5到100之间的数值


贴花时效

设置游戏内贴花的存在时间(以秒为单位)。该设置将提高GPU使用率。

可以设置为10到60之间的数值


如需帮助

由于玩家的硬软件配置存在巨大差异,我们很难预测各类配置下的GPU和CPU性能。如果您遇到性能问题,可以发布在我们的论坛上,以便转发给开发团队。在提交问题时,请详细描述问题,比如是属于具体情境下发生的问题还是因设置变更而出现的问题,另外请附上您的硬件和设备信息,这有助于我们更快地解决您的问题。

 


© 2022 3楼猫 下载APP 站点地图 广告合作:asmrly666@gmail.com