随着DLSS 5神经渲染技术在《NBA 2K27》中首发,模组社区迅速行动,不仅将该技术移植至较旧的GPU架构,更成功解锁了面向旧显卡的DLSS多帧生成(MFG)功能。这一突破打破了英伟达仅针对最新Blackwell架构显卡的软件限制。通过与模组作者Dashdogy和Uncle Burrito的交流,我们揭示了这一技术突围背后的细节。

打破黑屏魔咒:Dashdogy解锁MFG

2025年,伴随RTX 5000系列显卡发布,英伟达展示了锁定在Blackwell GPU上的多帧生成(MFG)功能。尽管外界猜测该功能可能在RTX 4000系列硬件上运行,但官方从未正式支持。物理学专业学生Dashdogy在期中休假期间,利用AWS实例经过一周攻坚,终于在Ada Lovelace架构上解锁了“真正”的MFG功能。

此前,由于指令集不兼容导致的黑屏问题,其他开发者止步于此。Dashdogy发现,英伟达通过Streamline和NGX两个组件控制DLSS功能。他通过在内存中伪造Streamline和NGX调用,欺骗基于Ada的GPU,使其认为被允许生成更多帧数。例如,将40系列显卡的帧生成限制从1转换为5,从而规避了黑屏问题。

然而,初始模组在《赛博朋克2077》等游戏中超过2倍MFG时出现卡顿。Dashdogy利用RTX 6000 Pro Blackwell GPU的云实例进行内核转储,并结合AI模型分析,发现40系列显卡的运动处理内核被硬编码为仅输出2倍中点缩放,导致生成的帧集中在间隔中间,造成帧 pacing(节奏感)异常。修复后,生成帧分布更接近Blackwell参考标准,显著改善了延迟和流畅度。目前,该模组以ASI文件形式存在,支持高达6倍的帧生成,并被集成至ReShade等工具中。

逆向工程DLL:Uncle Burrito移植DLSS 5 NR

与此同时,模组作者Uncle Burrito将目光投向了随《NBA 2K27》早期访问版发布的DLSS 5神经渲染DLL。尽管该DLL专为Blackwell编写,但Ada架构共享读取FP8指令的能力。Uncle Burrito通过逆向工程发现,DLL中包含的15个CUDA二进制文件中有4个无法在Ada上运行,但这并非硬性限制,而是未完成的工作。

借助Ghidra和Claude Code,Uncle Burrito尝试重新编译不兼容的二进制文件。初期因AI模型错误使用CUDA SDK版本导致黑屏输出,在修正SDK版本后,他成功修补了这四个二进制文件,使RTX 4000系列显卡能够运行DLSS 5神经渲染。英伟达随后澄清RTX 4000系列确实支持神经渲染,佐证了其实现仅为“未完成”而非“不支持”的观点。

Uncle Burrito的方法随后被RenoDX社区的ShortFuse采纳,进一步将DLSS 5 NR移植至Ampere和Turing架构。由于这些旧架构缺乏原生FP8支持,移植工作涉及将模型转换为FP16指令可读形式,最终实现了跨代际的通用兼容性。

软件锁背后的市场逻辑

Dashdogy和Uncle Burrito的模组已成为社区基准,允许神经渲染和MFG在低至2018年Turing架构的硬件上运行,甚至扩展至AMD平台。Dashdogy指出,“40系列在支持多帧生成方面没有任何借口”,这仅仅是一个微小的更改。然而,越往旧架构回溯,延迟和性能开销越高。

Uncle Burrito认为,英伟达未在初期包含Ada支持,既可能是为了促进RTX 5000系列销售,也可能是为优化旧卡性能争取时间。在当前RTX 5090等高端显卡价格飙升的背景下,这些模组让玩家能够充分利用现有硬件,延长了显卡的生命周期。

颇具讽刺意味的是,推动英伟达盈利的AI生态系统,如今正被用于拆解其自家的围墙花园。对于不愿受制于硬件专属性的用户而言,只需修改少量文件,即可在非官方支持下体验前沿图形技术。