Skip to content

Releases: Fshihe/dlssg-framegen-tool

Release list

v1.3.0

Choose a tag to compare

@Fshihe Fshihe released this 10 Sep 20:36

v1.3.0

上一个发布是 v1.1.0。这一版改动比较大,先说三件影响使用的事。

1. 工具改名了,exe 文件名也变了

「DLSSG 帧生成一键开启工具」→ 帧生成解锁工具。

旧 新
exe dlssg-cn.exe framegen-unlock.exe
命令行 dlssg-tool framegen-unlock

改名的原因:工具现在带两个引擎,不只做 DLSSG 了。

已经装过的游戏不受影响,安装记录、备份、日志都还在原处(%LOCALAPPDATA%\DLSSG-SM86-Tool)。
旧版本写进游戏配置里的署名也仍然认得出,可以直接用新版卸载。

2. 现在有两个引擎,按显卡自动选

显卡 自动选
RTX 20 / 30 系 DLSSG 引擎(NVIDIA DLSS 帧生成)
A 卡 / I 卡 / 核显 / 其他 XeSS 引擎(OptiScaler)

两个引擎的区别是倍率由谁决定:

  • DLSSG 引擎:倍率上限由工具写入,但实际用几倍由游戏决定。游戏只给「开/关」的话固定 2X。
  • XeSS 引擎:倍率由工具直接下发,不依赖游戏提供选项。

同一个游戏目录默认只能装一个。想要两个都装,见下面第 3 条。

3. 新增共存模式

「高级」页可以勾选让 DLSSG 引擎与 XeSS 引擎装在同一目录。两者用不同的代理入口
(DLSSG 用 version.dll、OptiScaler 用 dxgi.dll),实测能在同一个游戏进程里同时加载。

用途:UE 游戏里 XeSS 走 upscaler 输入会撞上「运动矢量与深度分辨率不一致」
(帕鲁实测 5572 次报错、倍率不起作用);而 DLSSG 引擎把游戏自身的 DLSS 帧生成通道
换成真的之后,XeSS 改用 dlssg 输入就没有这个问题(同机同配置 0 报错)。
此时倍率仍由 XeSS 决定。

命令行对应 --coexist,输入源用 --fg-input dlssg。

DLSS 5 神经网络渲染:实验性

「高级」页新增一个实验性引擎:OptiScaler 的 DLSS 5 神经网络渲染。

目前无法与帧生成同时使用。 实测开启后帧生成仍会产出帧(计数器涨到一百多),
但产出的帧不进入画面,观感就是原生帧率。要用帧生成请选 XeSS 多帧生成那个引擎包。

另外两点:

  • 所用 nvngx_dlssnr.dll 是未签名、且不在当前驱动里的预览版组件
  • 只能在游戏内通过叠加层快捷键启用。写进 ini 后该值会被回写为 true,
    而 true 会导致下一次启动的游戏退出 —— 启动前需改回 false,或重装一次引擎包

其他改动

  • 界面分成三个页签:环境 / 游戏与安装 / 高级,日志区固定在下方
  • 预检不再对「选 XeSS 引擎」的游戏列表标注 DLSSG 帧生成可用性(那是 DLSSG 引擎的判据)
  • 安装前的判定文案只保留结论与组件清单
  • 「高级」页新增技术来源链接
  • 修 DLSS 5 引擎包缺帧生成 provider 的问题。该包的 provider 在 Optiscaler\ 子目录,
    提取白名单只认根目录,导致包是残的 —— 装完进游戏才会报 Can't find libxess_fg.dll 并闪退
  • 修卸载后 Optiscaler\ 空目录残留
  • 修日志级别选择静默失效(选 Level 2/3 实际退回 1)
  • 修勾选 DLSS 5 后,异步完成的环境检测会把选择覆盖回 DLSSG

实测数据

《黑神话:悟空 性能测试工具》,DLSSG 引擎,RTX 3070 / 驱动 610.88:

显卡 开启前 开启后
RTX 3070 41 FPS 105 FPS
RTX 2070 笔记本 40 FPS 65 FPS

倍率当时没有记录下来,这组数字是按上游给的公式反推出的(3070 那组对应 3X,
2070 那组对应 2X)。两台机器都没看到画面异常。

《幻兽帕鲁》:DLSSG 引擎 4X 正常,日志 active=true、接管 70 个内核。

提升幅度跟显卡关系很大,卡越弱插帧本身的开销占比越大,提升越小。
不同游戏差别也很大,不要把上面的数字当预期。

XeSS 引擎的实际效果:未验证

XeSS 引擎的画面效果我没有验证成功。

在 RTX 3070 与 RTX 2070 笔记本上测到的:安装成功、不闪退、XeFG 激活、
菜单倍率可改、日志无报错。

未测到的:画面观感与原生帧率有可辨差异。也就是说,日志显示它在工作,
但看不出真的插了帧。原因没有定论(怀疑与 UE 覆盖 dilated motion vectors、
以及和游戏自身帧生成同时呈现有关)。

A 卡 / I 卡没有 DLSS 引擎这条路,XeSS 是唯一选择,所以这个引擎保留在工具里。
它的实际效果需要你自己确认。

用之前注意

  • 游戏提示「显卡不支持帧生成」时,先确认硬件加速 GPU 计划已开启。
    这是 DLSSG 引擎的前置条件,关着的话 40 系也用不了。环境面板有状态显示和一键开启按钮,改完需重启。
  • 装完要完全退出游戏再启动。
  • 联机游戏不要用,DLL 注入有封号风险,工具会拦住带反作弊的游戏。

文件校验

certutil -hashfile "framegen-unlock.exe" SHA256

应与 SHA256SUMS.txt 一致:

f3178c7c129d6ba44fb83ab0834b10f7fae244a3b53f899cc573b3a8e0ccf6cd  framegen-unlock.exe

DLSSG 引擎底层是 sdli1995/dlssg_for_sm86;
XeSS 引擎基于 OptiScaler 与
Intel XeSS SDK。这里只是做了个壳。