英伟达把多帧生成(MFG)锁在Blackwell显卡上,把神经渲染(Neural Rendering)留给最新一代GPU。但最近几周,这些功能被一群模组作者搬到了老显卡上——甚至一路移植回2018年的Turing架构。

他们是怎么做到的?我们和两位模组作者聊了聊:Dashdogy和Uncle Burrito。

打开网易新闻 查看精彩图片

一个澳洲学生的"完美风暴"

2025年,RTX 5000系列发布期间,一位澳大利亚学生正在看Digital Foundry对英伟达工程师的采访。工程师们展示了多帧生成(MFG),一项锁定在Blackwell GPU上的功能。播客里提到过MFG跑在老款RTX 4000系列硬件上的设想,但这个功能从未在Ada Lovelace硬件上发布。

"每隔几个月,我就会谷歌一下,看这事到底有没有发生,"Dashdogy说。他主修物理,同时学习数学和空间科学。"几周前,完美风暴来了。期中假期刚开始,我又做了同样的搜索。但我想,也许我该深入研究一下。能有多难?"

一个AWS实例,加上一周的熬夜,他在Ada Lovelace硬件上解锁了"真正的"MFG。此前这被认为不可能,因为指令不兼容,还有一块黑屏挡住了之前模组作者的路。

黑屏是怎么被绕过去的

Blackwell和Ada使用完全不同的指令集架构(ISA),尽管软件层面相似。"当这种情况发生时,帧会生成,但GPU会报错并返回黑屏,"他解释道。

英伟达在已发售游戏中实现DLSS,靠的是两个软件:一个叫Streamline的包,通常包含一套DLSS软件,是一个通用翻译器,让游戏能运行DLSS等各种超分辨率技术。与Streamline配合使用的是神经图形框架(NGX),英伟达的专有软件,支撑着超分辨率和帧生成等AI功能。游戏调用工具时,NGX负责计算,Streamline把它们送到游戏引擎。

Dashdogy直接瞄准了Streamline和NGX。"我专门在内存中伪造了Streamline和NGX的调用,这些调用定义了GPU被允许生成多少帧。"这个方法让基于Ada的GPU以为自己被允许生成比平时更多的帧。"这是一个很简单的拦截,在40系上把1变成5。现在GPU知道'我是一块4080,我被允许生成五帧'",成功绕过了之前模组作者遇到的黑屏问题,从而解锁了更高的帧生成倍率。

他很快把它打包成《赛博朋克2077》的模组,发到了Nexus Mods。这是更成熟整合的"煤矿里的金丝雀",但事情还不完美。Dashdogy和其他模组作者报告了一个问题——在Ada上使用超过2倍MFG时,游戏感觉迟钝,延迟不理想。在另一位模组作者的帮助下,他们认为这是传说中的"硬件翻转计量"(Hardware Flip Metering)在作祟,它负责平滑MFG的输出,也是英伟达给出的、该功能不支持老显卡的主要原因。

Dashdogy用一台搭载RTX 6000 Pro Blackwell GPU的云实例,迅速着手改进MFG模组。"我在GPU运行MFG时做了一次内核转储。"他还用上了OpenAI的Daybreak Blue AI模型,一个GPT的修改版本。

另一个人盯上了DLSS 5

Dashdogy不是唯一在为老一代GPU解锁功能的人。几周前,当DLSS 5的神经渲染DLL首次出现在网上时,RTX Remix模组作者Uncle Burrito直接把目标对准了它。

"我完全不知道(在Ada上运行DLSS 5)是否可能,"他们说。考虑到最初亮相时声称需要多块RTX 5090才能运行,Uncle Burrito知道DLSS 5的计算开销会很大,但这没有阻止他尝试进入DLL本身。"一旦我逆向工程了它,在Claude的帮助下,很明显这在Ada上是可能的。不仅大部分代码兼容,而且在我看来,Ada支持只是作为未完成的工作被落下了,而不是一个硬性限制。"

于是,在DLL随《NBA 2K27》抢先体验版发布后不到一天,Uncle Burrito就成功把这项技术移植到了Ada硬件上。

在Uncle Burrito最初解锁Ada GPU上的DLSS 5神经渲染之后的几周里,英伟达澄清,神经渲染确实会支持RTX 4000系列GPU。这印证了一个想法:在DLSS 5 DLL的初始发行版本中,Ada GPU上的实现只是未完成而已。

Dashdogy和Uncle Burrito的这两个基础模组,如今成了无数分支和整合的基线,把神经渲染和MFG带到了老硬件上,现在已经能一路移植回2018年的Turing架构;在DLSS 5神经渲染的例子里,甚至移植到了AMD硬件。现在,用众多工具中的一个,就能一键把两者装进数百款游戏。

Dashdogy的模组经验横跨多年,高中时就做过《群星》模组,写兼容脚本把多个模组拼在一起。但把DLSS MFG移植到Ada设备完全是另一回事。