如果您点击链接并进行购买,我们可能会收到一小笔佣金。阅读我们的编辑政策

来见见破解AMD的新升级技术到赛博朋克2077的modder

所有带有DLSS的游戏都能很快拥有FSR 2.0吗?

本周早些时候,有消息称一个mod破解了AMD的FSR 2.0时间升级技术到赛博朋克2077中,允许非rtx显卡的用户有机会以更高的帧率玩游戏,视觉质量比FSR 1.0升级更好。这对于AMD gpu的所有者来说是巨大的,mod甚至在Steam甲板上工作得很漂亮。

我们联系了这个mod的创造者,PotatoOfDoom1337,来找出它到底是如何工作的——以及这是否意味着FSR 2.0很快就会出现在大量现有的游戏中。以下是采访内容,为清晰起见,略加编辑。享受吧!

Alex Battaglia关于FSR 2.0的入门介绍展示了《战神》的功能,这是三款已发布的FSR 2.0游戏之一。

你在编程和游戏mod方面有什么背景?在NexusMods上,看起来你从去年4月才开始创建mods ?

PotatoOfDoom我正在学习计算机科学,一直对电子游戏的技术方面很感兴趣,当我了解到像这样的项目时,我就着迷了Reshade特殊KDXVK.我认为编程是我最大的爱好,此外,我还喜欢逆向工程,经常摆弄代码。我制作了我的第一个赛博朋克2077 mod,因为CDPR修复了游戏中一个非常有趣的bug。这让我非常恼火,以至于我下载了开发工具,自己重新实现了这个错误。创建这个mod的过程让我着迷,随着时间的推移,我了解了更多关于游戏的知识,并开始创建更复杂的mod。

是什么促使你试图将FSR 2.0黑进赛博朋克2077?

PotatoOfDoom主要是我的老旧的GTX 1080,有点嫉妒RTX用户,因为他们独家的DLSS技术,好奇临时升级解决方案是如何工作的。此外,FSR 2.0和DLSS被描述为非常相似,所以我只是想看看它是否可能。

你是如何开发这个mod的?

PotatoOfDoom:我最初在几周前开始了这个mod,期待FSR 2.0的开源发布。第一步是让游戏与我的自定义.dll对话,告诉游戏它支持DLSS,并通过实现所需的接口向游戏报告可用的DLSS分辨率。然后我写了一个小的着色器,只显示一个空白的红色图像。我的目标是使用它作为基础来验证我的代码中的DirectX部分是否正确工作。然后我就等着开源的发布。在AMD发布源代码后,我立即用FSR 2.0替换了我的测试代码。我原以为要花好几天的时间来完成它,但令人惊喜的是,我只花了几个小时就完成了。我使用了像x64dbg这样的调试器以及像IDA和Ghidra这样的逆向工程软件去寻找游戏代码中DLSS行为的细节。此外,对于调试缓冲区,RenderDoc是非常有用的。

dls(性能)
FSR 2.0(性能)
FSR 1.0(性能)
本地4 k
在赛博朋克2077中,当你步行时,FSR 2.0 mod已经很好地工作了,但当你在汽车或自行车上时,鬼影很明显。
dls(性能)
FSR 2.0(性能)
FSR 1.0(性能)
本地4 k
mod也被移植到垂死之光2,在那里它产生了更好的结果比标准的FSR 1.0在游戏中-检查树在最左边的一个例子,它失败了,虽然。

以下是在赛博朋克2077和垂死之光2中,与DLSS, FSR 1.0和原生4K相比,mod的效果。

在事情变得更困难或更容易方面有什么惊喜吗?

PotatoOfDoom:主DLSS和FSR输入缓冲区相同。我基本上只是从AMD的例子中复制FSR集成,设置FoV/Depth值,启动游戏,立即得到一个相当不错的图像。最糟糕的是在《赛博朋克》中,游戏在运行DLSS后不会重置一个特殊的DirectX结构(ComputeRootSignature)。这对于英伟达的DLSS来说并不重要,因为它使用CUDA,但不幸的是FSR使用普通的DirectX计算着色器,这破坏了游戏。所以在运行FSR之后,我必须找到一种方法来恢复这种结构。

就FSR 2.0 CP2077的实现而言,目前哪些工作得很好,哪些需要修复?

PotatoOfDoom:重影和动画纹理是目前最大的问题。DLSS和FSR都使用单独的蒙版来给出算法提示,提示是否重用旧的时态材料或丢弃它,但它们似乎不兼容,我需要创建一个着色器,将DLSS蒙版转换为FSR蒙版。

DLSS和FSR面具…它们类似于Photoshop的蒙版吗?

PotatoOfDoom:是的,基本上就是这样。你可以把它们想象成一个值在0.0到1.0之间的灰度图像,时间上标器会根据这些值重新投影旧帧。的FSR文档会更详细地介绍。

这是一个直观的例子。我在街上扔了一枚手榴弹,你可以看到在运动向量和深度缓冲区中什么都没有。这是因为游戏中的2D火焰纹理和火花粒子都没有3D表现形式。为了确保小火花不会造成难看的痕迹,它们在InputBiasColorMask中被掩盖,以便重投影算法忽略这些像素,并且不会在该位置重投影任何东西。

FSR 2.0和DLSS在需要什么输入方面有相似的要求吗?

PotatoOfDoom:是的,否则这个mod是不可能的。这两种集成都需要颜色、运动向量和深度缓冲区作为输入。此外,他们还使用我前面提到的面具。它们对于那些没有运动向量的东西来说非常重要,比如粒子或游戏中的烟雾和电脑屏幕等动画纹理,而错误地使用蒙版是游戏中出现鬼影的主要原因。此外,FSR需要知道FOV和深度缓冲区的近面和远面。DLSS不需要这些额外的信息(我猜它是通过集成ML算法计算出来的)。

以你现在所知道的,为其他DLSS游戏开发类似的解决方案会有多简单?

PotatoOfDoom:是的,我想是的。我还没有完成这款游戏,但如果其他游戏也有类似情况,那么每款游戏的制作时间应该不会超过几天。我已经对《死亡搁浅》做了一些初步测试,初步结果看起来非常不错。

例如,FSR 2.0是否可以添加到《Control》中,这款游戏在AMD gpu上运行非常糟糕,即使禁用了RT ?

PotatoOfDoom:是的,我想是的。控制更新到DLSS 2.0,这意味着游戏的DLSS界面与赛博朋克相同或至少非常相似。这是最重要的部分。

考虑到公众对国防部的巨大兴趣,你们有什么下一步的计划?你们是否愿意让其他开发者加入这个项目来改善结果,或者在其他游戏中加入类似的mod ?

PotatoOfDoom:我真的没想到我的mod会有这么多的兴趣,如果我知道的话,我在上周四点击发布按钮的时候就会准备得更多一些。我想先完成赛博朋克(如果真正的开发者没有比我XD快的话),然后再转向其他DLSS游戏。是的,我当然希望其他开发人员加入我,帮助我更快地完成概念验证阶段的项目,并使其成为人们可以使用的东西。我听说已经有人想把我的mod移植到《荒野大镖镖队2》了。

国防部的官方形象是Photoshop的杰作-哇,所以图形。
哇,图像。国防部的官方形象堪称杰作。

是否有可能创建一个可以在一系列游戏中使用的DLSS替代品(如Github用户所建议的“dlss2fsr”),或者你认为它更像是一系列针对特定游戏量身定制的mod ?

PotatoOfDoom只有做了一些妥协。这将有可能创建某种mod,从一个简单的ini文件获得FoV和深度值。这个mod几乎适用于任何DLSS游戏,但图像质量可能不是那么好。我的意思是,甚至英伟达也为某些游戏优化了DLSS。例如,第一个版本的DLSS在《赛博朋克》中有很糟糕的鬼影,而后来的DLSS更新改善了这种情况。我不能代表其他游戏,但以《赛博朋克》为例,它无意中将对象ID缓冲区发送给DLSS(游戏邦注:这是一种为场景中的每个对象分配单一颜色值的缓冲区)。DLSS不需要这个缓冲区,也不能对这个信息做任何事情,但这让我极大地提高了反重影(特别是在驾驶时)。另外,我之前提到的ComputeRootSignature漏洞是赛博朋克独有的,这使得这个版本的FSR mod与任何其他游戏都不兼容。每款游戏都有一些独特的怪癖甚至漏洞,这使得优化每款游戏以获得最佳体验变得非常重要。我显然不能对每一款游戏都这么做,但我认为如果存在某种DLSS2FSR框架,其他具有编程经验的开发者应该可以轻松地为其他DLSS游戏集成和优化FSR。

还有什么你想分享的关于制作mod的过程,或者你想让人们知道的吗?

PotatoOfDoom:我想我上面的答案应该涵盖了所有关于mod的东西。这个mod只有几天的时间,已经很受欢迎了。我相信在接下来的几周里,我们会看到很多令人兴奋的进展。请继续关注。

真是令人兴奋!自从这次采访开始,另一位贡献者的ID是mnxn成功地改编《消逝之光2》的mod,如果一切顺利,我希望在接下来的几周内看到更多游戏得到支持。感谢PotatoOfDoom花时间创建mod并与我们交谈!

如果你有兴趣尝试自己的mod,你可以在NexusMods上找到它.安装非常简单——替换CP2077目录中的几个文件,并更改注册表。你也可以跟随mod的发展PotatoOfDoom的GitHub存储库

你会支持Digital Foundry团队bwin888官网吗?

bwin888官网Digital Foundry专注于游戏硬件和软件的技术分析,使用最先进的捕获系统和定制软件向您展示游戏和硬件的运行状况,准确地可视化它们的能力。为了向你展示4K游戏的真实面貌,我们需要建立自己的平台,为离线观看提供高质量的4K视频。于是我们就这么做了。

我们的视频文件是几亿字节,我们选择了高质量的提供商,以确保快速下载。然而,带宽并不是免费的,所以我们每月收取4.5英镑的小额订阅费。我们认为这是一个很小的代价,以无限访问我们的内容的顶级质量编码。谢谢你!

支持数字化铸造bwin888官网

了解更多关于Patreon的好处

Baidu
map