
DLSS帧生成分辨率修复 - 重制版
修复了《巫师3:重制版》中可能导致NVIDIA DLSS帧生成在原生、超宽屏和DSR/DLDSR分辨率下无法启用的内部渲染分辨率不匹配问题。仅运行时ASI修复;不强制启用帧生成,也不修改磁盘上的witcher3.exe。
查看大图DLSS 帧生成分辨率修复 - 重制版
版本: 0.2.0-beta 作者: Armando Galeano 分类: 错误修复 标签: 重制版兼容
修复《巫师 3:重制版》中的内部渲染分辨率不匹配问题,该问题可能导致 NVIDIA DLSS 帧生成在受影响的原生、超宽屏、DSR 和 DLDSR 分辨率下无法启用。
仅运行时 ASI 修复。不替换 DLSS/Streamline 文件,不修改磁盘上的 witcher3.exe,也不强制开启帧生成。
问题所在
《巫师 3:重制版》包含一个遗留的动态分辨率(DRS)计算逻辑,可能生成小于请求输出分辨率的内部最大分辨率。
该遗留路径由一个隐藏的默认值控制:
Rendering/DRS/Legacy UseLegacy = 1
例如,在 2560x1080 下:
请求 / 交换链:2560x1080
遗留 DRS 最大值: 2544x1060
因此,游戏的渲染资源(包括 DLSS 帧生成使用的无 HUD/UI 资源)可能小于实际视口。
游戏自身的 DLSS-G 验证会拒绝这种不匹配,因此即使该选项已启用,帧生成仍会保持禁用状态。
在 1920x1080 下,遗留计算恰好返回请求的分辨率,这就是帧生成在那里可以正常工作的原因。
v0.1.0-beta 修复了什么
v0.1.0-beta 使两个受影响的取值范围计算使用游戏现有的非遗留 DRS 路径。
在 2560x1080 下,这恢复了匹配的尺寸:
请求 2560x1080
->
DRS 最大值 2560x1080
->
视口/资源 2560x1080
->
原始 DLSS-G 验证通过
->
游戏正常启用帧生成
这修复了最初的 2560x1080 问题。
遗留问题
非遗留路径本身仍会将其最大 DRS 范围向下对齐到 4 的倍数。
这意味着某些 DSR/DLDSR 及其他非 4 倍数分辨率仍可能在内部被缩小。
例如:
请求 3413x1440
->
DRS 最大值 3412x1440
->
视口 3412x1440
->
偏移 = 1,0
->
DLSS-G 验证失败
->
帧生成保持关闭
仅一个像素的差异就足以使游戏的无 HUD/视口验证无法通过。
v0.2.0-beta 修复
v0.2.0-beta 保留了原始的 v0.1 遗留 DRS 修复,同时修正了这一残留的最大分辨率对齐问题。
请求的最大 DRS 分辨率保持精确,全分辨率渲染目标与该精确最大值保持一致。
在 3413x1440 下:
请求 3413x1440
->
DRS 最大值 3413x1440
->
视口 3413x1440
->
偏移 = 0,0
->
全分辨率资源 3413x1440
->
原始 DLSS-G 验证通过
->
游戏正常启用帧生成
较低的 DRS 分辨率槽位保留游戏原有的对齐尺寸行为。
因此,最大分辨率修正仅限于渲染路径中需要与请求输出匹配的部分。
此模组不会强制开启帧生成。
它修复上游的分辨率状态,并保持游戏原有的 DLSS-G 安全和验证逻辑不变。
游戏本身仍决定是否可以启用帧生成。
它不做什么
- 不替换 DLSS DLL
- 不替换 Streamline
- 不修改 nvngx 库
- 不在磁盘上修补 witcher3.exe
- 不修改存档
- 不修改游戏设置
- 不更改 DLSSGUseHudless
- 不强制调用 slDLSSGSetOptions(eOn)
- 不禁用游戏的 DLSS-G 验证
- 无网络访问
- 无遥测
- 无自动更新器
工作原理
插件对受支持的 witcher3.exe 构建应用一组经过验证的仅运行时补丁。
v0.2.0-beta:
- 保留原始的 v0.1 遗留 DRS 修正。
- 将请求的宽度和高度保留为最大 DRS 范围。
- 使全分辨率渲染目标描述符与该精确最大值保持一致。
- 为较低 DRS 槽位保留游戏原有的对齐尺寸。
- 保持游戏正常的 DLSS-G 验证逻辑不变。
受支持的构建接收 11 次运行时写操作,作为一组经过验证的补丁。
磁盘上的 witcher3.exe 永远不会被修改。
补丁仅在游戏运行时存在。
故障安全行为
在应用修复之前,插件会验证:
- 两个预期的遗留 DRS 签名。
- 两个位置引用相同的 UseLegacy cvar。
- cvar 元数据与 Rendering/DRS/Legacy / UseLegacy 匹配。
- 预期的非遗留代码块与受支持的游戏构建匹配。
- 每个精确最大修正的原始字节均存在。
- 渲染目标描述符尾部签名和预期字节匹配。
- 运行时钩子编码通过自检。
如果预期的游戏代码不匹配,则不会应用修复。
游戏继续正常运行,并且:
Witcher3RemasteredDLSSGFix.log
会报告不受支持的游戏构建。
已验证
- 《巫师 3:重制版》5.00c
- Steam 构建 25646871
- DX12
- NVIDIA RTX 50 系列
- DLSS 光线重建
- DLSS 多帧生成(3 个生成帧)
本地验证:
- 3413x1440 - 冷启动,DLSS-G eOn,3 个生成帧,DLSS-RR 输出 3413x1440,无 NGX InvalidParameter 失败。
- 3620x1527 - 冷启动,帧生成正常工作。
- 2560x1080 - 冷启动,帧生成正常工作。
- 3840x1620 - 分辨率切换后帧生成保持正常工作。
- 1920x1080 - 分辨率切换后帧生成保持正常工作。
所列分辨率也在同一会话中依次切换,未出现可见的渲染损坏或崩溃。
插桩验证运行使用独占全屏模式。
已与以下模组一同测试,但非必需且不保证兼容:
- RenoDX / DLSS 5 配置
- ReShade
- W3SpawnMenu
- NVIDIA App DLSS Override
- Streamline OTA 插件
安装
- 单独为《巫师 3:重制版》DX12 安装兼容的 ASI Loader。
- 解压 Witcher3RemasteredDLSSGFix.asi。
- 将其复制到:
The Witcher 3\bin\x64_dx12\
使用 DX12 启动游戏,并在图形设置中正常启用 DLSS 帧生成。
卸载
删除:
Witcher3RemasteredDLSSGFix.asi
你也可以删除:
Witcher3RemasteredDLSSGFix.log
不会修改任何存档文件。
包内容
- Witcher3RemasteredDLSSGFix.asi
- README.txt
- LICENSE - MIT
- CHANGELOG.txt
不包含任何游戏文件、NVIDIA DLL 或第三方模组。
必须单独安装兼容的 ASI Loader。
源代码
MIT 许可证下的开源项目:
GitHub - Witcher3RemasteredDLSSGFix
该仓库包含完整源代码、技术文档,以及一个 dry-run 审计工具,可在不启动游戏或不修改游戏的情况下验证受支持的 witcher3.exe。
Beta 说明
v0.2.0-beta 将原始修复扩展到更多分辨率对齐场景,包括 DSR/DLDSR 风格分辨率。
测试已在本地多个分辨率下确认修复有效,但其他 GPU、显示器、显示模式及 DSR/DLDSR 组合仍需社区验证。
欢迎反馈。
如果报告兼容性问题,请附上:
Witcher3RemasteredDLSSGFix.log
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。