Star 历史趋势
数据来源: GitHub API · 生成自 Stargazers.cn
README.md

DLSSG for SM86(Proxy)- 0.3.3 版本

中文 · English

在 RTX 30 系列(SM86)和 RTX 20 系列(SM75)上启用 NVIDIA DLSS 帧生成(DLSS-G)。Windows x64 / D3D12,运行文件为 version.dlldlssg_sm86.ini

本次更新说明

0.3.3

  • RTX 20 / 30:向游戏改写显卡架构的动作提前到游戏启动时,并改报 RTX 50。使用 Streamline 2.8 的游戏(如《最终幻想 7 重生》)此前在启动阶段就判定「本显卡不支持 DLSS-G」并卸掉帧生成插件(issue #509 / #528);本版在那之前就装好改写,游戏内的 3X / 4X / 6X 选项也按 RTX 50 放开。
  • Optimized=1 不再跳过同一组内重复的真实帧拷贝(SkipRepeatedRealCopy,各档位都默认关,需要时手动写 1)。该项从未在实际游戏中验证,0.3.2 上有画面闪烁报告(issue #532)。档位 1 画面仍与官方逐位一致。

0.3.2

  • 重写了部分推理内核(310.9 版):生成画面与官方 DLSS-G 完全一致(RTX 3080 Ti 与 RTX 5070 实测逐位相同;RTX 2080 Ti 的输出与 3080 Ti 逐位相同),不再有损,并有些许加速(3080 Ti 上 0~8%)。
  • 优化内核等级调整:[FrameGeneration] Optimized 现在是 03 四级。0 原厂内核,不加速;1 全部加速,画面与官方逐位一致(出厂默认);2 再开有损图像内核,更快,对官方画面 PSNR 约 50 dB 以上(仅 310.9 版);3 全部有损加速,最快。说明见 docs/INSTALL.md

0.3.1

  • 修复 RTX 20 系(Turing)开不了帧生成的问题。20 系现在和 30 系一样直接用出厂 dlssg_sm86.ini,同样支持 6X(310.9 版,MaxGeneratedFrames=5,需游戏自带插件支持)。
  • 出厂 MaxGeneratedFrames 改为 3(4X),要 6X 改成 5

0.3.0

  • 由 native 模式回退到代理模式。native 化(自建 NGX host)在部分游戏上存在难以修复的兼容问题;本版改用代理 DLL 内嵌未修改的原厂运行库,游戏对 NGX 的调用不变,兼容性更好。
  • 310.9 运行库新增 6X(MaxGeneratedFrames 上限由 3 提到 5)。在自身支持 Dynamic MFG 的游戏上,帧生成选「动态 / 自动」时会跑到 6X。
  • 内核最优集(离线基准快约 19~32%)、两档出厂 INI、录制回放与诊断日志等见下文与 docs/

声明与后续计划

  • 插帧(DLSS-G)的内核级工作已基本达到现阶段的最优水平,暂不继续做内核优化;后续版本只做兼容性与 bug 修复。
  • 下一个版本的重心是几个 Transformer 超分模型的 INT8 优化,目标是提升 RTX 30 / RTX 20 的基础帧率。
  • Vulkan 支持在项目当前状态下难以继续:封装层本身的游戏兼容性还不够好、覆盖测试也不多,再加上 Vulkan 只会带来更多兼容性问题。有需要的用户可以选用社区的 patch 版本。

运行要求

  • 系统与游戏:Windows 10/11 x64、D3D12。
  • GPU:RTX 30 系列(SM86)或 RTX 20 系列(Turing / SM75)。3080 Ti 上完成整套离线基准,3070 上做开发验证;RTX 20 在 2080 Ti 上实测可用,同一份输入下的生成画面与 3080 Ti 逐位相同,性能尚未测量。
  • 驱动:带 NGX / NVAPI / CUDA 接口的 NVIDIA 驱动,591.86 与 610.74 实测可用。cubin 需约 R580+ 驱动,更旧的驱动自动回退 PTX(仅首帧多一次 JIT)。
  • 不需要 CUDA Toolkit,不需要 Python。

两个发布包用法一致,仅内嵌运行库与上限不同;310.9 版在 4X 及以下与 310.1 版一致,另支持 6X。根目录下为310.9最新的dlssg版本,310.1为老版本。

不同配置的插帧额外显存参考

帧生成自身的本地显存增量(预热后减去创建特性前,向上取整到 10 MiB,310.9 版、最优内核)。该增量只随输出分辨率变化,与倍率无关:2X 与 6X 占用相同,倍率不额外占用显存。

画幅输出分辨率帧生成额外显存
16:9720p约 230 MiB
16:91080p约 350 MiB
16:91440p约 540 MiB
16:94K / 3840×2160约 810 MiB
21:92560×1080约 440 MiB
21:93440×1440约 700 MiB
21:95120×2160约 1050 MiB
32:93840×1080约 610 MiB
32:95120×1440约 990 MiB
4:31920×1440约 430 MiB

同高度不同宽度的占用接近(按输出像素数计)。该值为帧生成自身增量,不含游戏本体与合成输入纹理。

安装与升级

  1. 完全退出游戏。
  2. 进入游戏的渲染 EXE 目录(如《黑神话:悟空》为 ...\b1\Binaries\Win64\)。
  3. version.dlldlssg_sm86.ini 复制进去;该目录已有 version.dll 时先备份原文件。少数游戏不加载 version.dll,改用发布包 alternatives\ 目录下的其它代理名(按游戏实际加载的 DLL 选一个,如 winmm.dll / dxgi.dll / dbghelp.dll 等)。
  4. 启动游戏,在图形设置中开启 DLSS 帧生成,选 2X / 3X / 4X(310.9 版且游戏支持时可至 6X)。
  5. 升级:退出游戏后用新版 version.dll 覆盖即可,dlssg_sm86.ini 一般无需改动。
  6. 卸载:用备份的原 version.dll 覆盖回去(或删除),并删除 dlssg_sm86.ini

出厂 dlssg_sm86.ini 只保留两个决定性开关:[FrameGeneration] Optimized(优化内核等级 030 原厂内核不加速;1 全部加速、画面与官方逐位一致,出厂默认;2/3 有损但更快)与 [FrameGeneration] MaxGeneratedFrames(出厂 3 对应 4X;改成 5 对应 6X,仅 310.9 版,实际生成帧数由游戏请求、并钳到运行库上限)。其余诊断/兼容项取安全默认、不在出厂文件中,完整清单见 docs/INSTALL.md

杀软误报与签名

本版发布的代理 DLL(version.dllwinmm.dllalternatives\ 下各代理)均做代码签名。自签名证书仅验证签名者身份与文件完整性,不提供 Windows 默认信任;首次运行 Windows SmartScreen 仍可能提示「未知发布者」——这是基于信誉的提示,与杀软报毒是两回事。本次使用自签证书 CN=DLSSG for SM86 (self-signed),SHA-1 指纹 85BA66762F851E49148D706915D09026281418E6;可在文件属性→数字签名或用 signtool verify /pa 核对签名者与指纹。

性能(RTX 3080 Ti,离线基准)

RTX 3080 Ti,驱动 591.86,SM86,2026-09-13 实测。单位为每个真实帧对应整组帧生成的 GPU 毫秒数,含共用预处理;4 轮 × 每轮 256 组,取各轮中位数的中位数,同一轮内各配置交错运行以共享温度漂移。下表为 310.9 版、16:9 常见分辨率,原厂内核(Optimized=0)与最优内核(Optimized=1)的对比。耗时降低统一按 (原厂 − 最优) / 原厂 计算,使用未取整数据。

本表衡量的是帧生成的 GPU 计算开销,不等于实测游戏 FPS 增幅;如何据此估算显示帧率见下一节。该次测量之后最优内核集本身未变动(同一组 63 个变体 + 图像补丁 + 跨内核合并);0.3.2 只换掉 310.9 版那 26 个新内核的镜像,同卡实测比上表再快 0~8%,故以上数字对本次发布偏保守。

分辨率倍率原厂内核 (ms)最优内核 (ms)耗时降低
720p2X1.1350.77931.4%
720p3X1.7661.30726.0%
720p4X2.4051.83923.5%
720p5X3.0432.37222.0%
720p6X3.6802.90721.0%
1080p2X1.3890.94931.7%
1080p3X2.0111.48226.3%
1080p4X2.6412.02123.5%
1080p5X3.2692.56321.6%
1080p6X3.8883.09920.3%
1440p2X2.1431.49130.4%
1440p3X3.1562.32426.4%
1440p4X4.1633.16024.1%
1440p5X5.2064.00823.0%
1440p6X6.1974.84921.8%
4K2X2.6051.98723.7%
4K3X4.0913.21421.4%
4K4X5.5774.44220.4%
4K5X7.0665.66719.8%
4K6X8.5576.90219.3%

越低分辨率、越低倍率收益越大(更接近启动/延迟受限)。310.1 版在 2X–4X 与上表接近。21:9 / 32:9 / 4:3 各分辨率及「各 Evaluate 跨度之和」一表见 docs/evidence/。3X 及以上单组耗时可能双峰(各实现皆有),中位数或落在两峰之间,原始 min/mean 在数据 JSON 中。

插帧后帧率怎么估算

先在相同场景、输出分辨率、DLSS 超分档位与画质设置下关闭帧生成,得到帧率 F_off。用 1000 / F_off 换算基础帧时间,再从上表按分辨率、倍率与内核配置选整组插帧耗时 T_FG(ms)。

基础帧时间   T_base (ms) = 1000 / F_off
帧组时间     T_group (ms) ≈ T_base + T_FG
真实帧/帧组速率 G (组/s)  ≈ 1000 / T_group
插帧后总帧率 F_out (FPS)  ≈ G × M = 1000 × M / (1000 / F_off + T_FG)

M 为倍率(2X…6X 对应 2…6)。一组含一个真实帧与 M − 1 个生成帧;上表的 T_FG 已包含整组生成帧与共用预处理,不能再乘 M − 1。开启插帧后的真实帧/帧组速率 G 低于关闭插帧的 F_off

例:关闭帧生成约 50 FPS(基础帧时间 20 ms),取上表 4K 4XT_FG

内核T_FG (ms)帧组时间 (ms)帧组速率 (组/s)估计总帧率
原厂内核5.57725.57739.1156.4 FPS
最优内核4.44224.44240.9163.7 FPS

其他分辨率/倍率换用对应行,F_off 填该设置下自己实测的值。这是把基础渲染时间与插帧组开销相加的粗略估计;GPU 资源争用、同步、CPU 开销、限帧与刷新率都会影响实际结果,估计值不保证等于计数器读数或实际显示帧率。

6X 说明

6X(每真实帧生成 5 帧)为 NVIDIA DLSS 4.5 的 Dynamic Multi Frame Generation。310.9 版内嵌的运行库支持该能力,本项目使其能在 Ampere 上运行;是否得到 6X 取决于游戏:

  • 游戏自身支持 6X(自带较新的 Streamline 帧生成插件、菜单中可选 6X 或 Dynamic MFG):装 310.9 版并置 MaxGeneratedFrames=5 即可,实测可稳定运行 6X。
  • 游戏仅支持 4X(自带较旧的 4X 插件,当前多数游戏如此):上限由游戏侧插件决定,本项目无法将其抬到 6X(该插件在初始化时按 4X 铺设内部呈现队列,强行加帧会越界导致帧生成失效或崩溃)。这类游戏请使用 4X。

实测反馈

《黑神话:悟空》、《赛博朋克 2077》与 FH6 实测可正常开启 4X;《Resonance A Plague Tale Legacy》在 310.9 版、帧生成选「动态 / 自动」时默认跑 6X。插帧观感依赖基础帧率:基础帧率偏低时可能出现画面破坏与边缘效应,倍率越高越明显(6X 比 4X 更吃基础帧率),部分游戏即使 4X 也需适当降低画质设置、把基础帧率抬高后才有较好观感;这是帧生成在帧率余量不足时的固有表现,非本项目缺陷。

诊断与边界

  • 日志写入游戏目录 dlssg_sm86\logs\loader_<PID>.jsonl / backend_<PID>.jsonl)。默认 [Logging] Level=1 只记错误,排查时改 23
  • 帧生成未生效时先看 backend_*.jsonl 是否有 installroute active=true;缺失多为驱动/运行库不匹配,会记录原因并回退原厂路径。
  • 本版优化的是帧生成的 GPU 计算开销,不能将离线耗时下降当成实测游戏 FPS 增幅;实际帧率增益取决于游戏与瓶颈所在。
  • INI 全部键、日志字段与录制回放见 docs/INSTALL.mddocs/CAPTURE.md

SM75 来源与致谢

  • Coldwood1026 的 RTX 20 系列 / SM75 适配(实验性 SM75 路由的内核族来源,见 THIRD_PARTY_NOTICES.txt)。
  • NVIDIA 的 DLSS-G 运行库、模型与前后处理(内嵌、未经修改)。

许可与第三方

  • 本项目源码采用 GPLv3。
  • 内嵌的 nvngx_dlssg.dll(310.1 SHA 前缀 c989c0eb…、310.9.1 SHA 前缀 ff6e90eb…)、提取/重编译的内核资源与 assets/kernels/sm75/ 为 NVIDIA 及上游第三方材料,不随源码转授权,见 THIRD_PARTY_NOTICES.txt

关于 About

Here is a dlssg for RTX30 Series GPU

语言 Languages

提交活跃度 Commit Activity

代码提交热力图
过去 52 周的开发活跃度
21
Total Commits
峰值: 11次/周
Less
More

核心贡献者 Contributors