MHW-DLSS4

MHW-DLSS4

《怪物猎人:世界》(15.23)的正式 DLSS 4 移植版,以拖放式 Stracker's Loader 插件形式实现。可通过 OptiScaler 兼容 FSR4。

[b]MHW-DLSS4[/b]

游戏自带的是 DLSS 1,看起来发虚且模糊。此插件会自动运行当前版本的 DLSS:NVIDIA 驱动已下载的版本,或你自选的 [font=monospace]nvngx_dlss.dll[/font]。

[b]功能[/b]
[list]
[][b]DLAA[/b](默认):原生分辨率,DLSS 取代游戏的 TAA。[/]
[][b]Quality / Balanced / Performance / Custom[/b]:降低渲染分辨率,DLSS 再放大到输出分辨率。[/]
[]DLSS 之后有三个锐化滤镜,在 ini 中设置:NVIDIA 的 [b]NVSharpen[/b](默认)、[b]Vanilla[/b],或 AMD 的 [b]RCAS[/b]。[/]
[][b]NVIDIA Reflex[/b],与 DLSS 可搭配或不搭配使用。[/]
[]支持 [b]DX12[/b]、[b]DX11[/b] 和 [b]HDR[/b]。[/]
[][url=https://github.com/odt1/MHW-DLSS4][b]开源[/b][/url][/]
[]可与 OptiScaler 搭配使用以切换到 FSR4,社区说明见置顶帖。[/]
[/list]
[b]要求[/b]
[list]
[]NVIDIA RTX GPU,以及当前驱动(已包含 DLSS)或你自选的 [font=monospace]nvngx_dlss.dll[/font] 3.x 或 4.x(见 [b]使用特定 DLSS 版本[/b])。推荐 310.x(DLSS 4)。[/]
[][url=https://www.nexusmods.com/monsterhunterworld/mods/1982]Stracker's Loader[/url],或任何会加载 [font=monospace]nativePC\plugins[/font] 中 DLL 的加载器。[/]
[/list]
[b]安装[/b]

[list=1]
[]将 zip 解压到游戏文件夹。你会得到:

[code]nativePC\plugins\MHW-DLSS4.dll
nativePC\plugins\MHW-DLSS4.ini[/code]
插件会将其余文件保存在 [font=monospace]nativePC\plugins\MHW-DLSS4\[/font] 中。它会自动将 NVIDIA 驱动的 DLSS 文件复制到 [font=monospace]MHW-DLSS4\driver\nvngx_dlss.dll[/font],并在驱动有更新版本时再次复制。切勿将 [font=monospace]nvngx_dlss.dll[/font] 直接放入 [font=monospace]nativePC\plugins[/font]:Stracker's Loader 会加载那里的每个 DLL。游戏自带的 [font=monospace]nvngx_dlss.dll[/font] 请留在游戏文件夹中不要动;它已不再被使用,但也不会有害。[/
]
[]启动游戏,在图形选项中将 [b]NVIDIA DLSS[/b] 设为 [b]On[/b],并保持 [b]Image Quality[/b] 为 [b]High[/b]。开启 DLSS 时 [b]Anti-Aliasing[/b] 会变灰;无论它显示什么,插件都会将游戏的 TAA 与 DLSS 搭配使用,并保持 FXAA 关闭。[/]
[/list]
要卸载,请删除 [font=monospace]MHW-DLSS4.dll[/font]、[font=monospace]MHW-DLSS4.ini[/font]、[font=monospace]MHW-DLSS4.log[/font] 以及 [font=monospace]nativePC\plugins[/font] 中的 [font=monospace]MHW-DLSS4[/font] 文件夹。

[b]设置[/b]

游戏运行时你也可以编辑 [font=monospace]nativePC\plugins\MHW-DLSS4.ini[/font];更改会在一秒内生效([font=monospace]DLLPath[/font] 除外)。

[font=monospace]Mode[/font]:[font=monospace]DLAA[/font]、[font=monospace]Quality[/font]、[font=monospace]Balanced[/font]、[font=monospace]Performance[/font]、[font=monospace]Custom[/font] - 渲染分辨率。游戏渲染不会低于一半分辨率,因此没有 Ultra Performance 模式。
[font=monospace]RenderScale[/font]:0.5 到 1.0 - [font=monospace]Mode=Custom[/font] 使用的缩放。
[font=monospace]Preset[/font]:[font=monospace]Default[/font]、[font=monospace]J[/font]、[font=monospace]K[/font]、[font=monospace]L[/font]、[font=monospace]M[/font] - DLSS 模型预设。K 是 DLSS 4 transformer;L 和 M 是面向性能模式的 DLSS 4.5 模型。
[font=monospace]Sharpness[/font]:0 到 1,[font=monospace]Game[/font] - DLSS 之后的锐化;0 表示关闭。0.33(默认)为中等,1 为强。[font=monospace]Game[/font] 会按同一刻度跟随游戏内 DLSS Sharpness 滑块。
[font=monospace]Sharpener[/font]:[font=monospace]NVSharpen[/font]、[font=monospace]Vanilla[/font]、[font=monospace]RCAS[/font] - 锐化滤镜,见下文。
[font=monospace]DLLPath[/font]:文件夹或文件 - 要使用的 [font=monospace]nvngx_dlss.dll[/font]。留空(默认):使用驱动自带的版本。见 [b]使用特定 DLSS 版本[/b]。游戏启动时读取。
[font=monospace]AutoExposure[/font]:0 / 1 - 让 DLSS 估计曝光(预设 L 和 M 始终如此)。
[font=monospace]Bypass[/font]:0 / 1 - 仅 DLAA 模式:显示游戏的 TAA 以作对比。
[font=monospace]LowLatency[/font]:[font=monospace]Off[/font]、[font=monospace]On[/font]、[font=monospace]Boost[/font] - NVIDIA Reflex,见 [b]NVIDIA Reflex 与帧率上限[/b]。
[font=monospace]LogLevel[/font]:[font=monospace]Debug[/font]、[font=monospace]Info[/font]、[font=monospace]Warn[/font]、[font=monospace]Error[/font] - 写入插件旁 [font=monospace]MHW-DLSS4.log[/font] 的内容量。

[b]锐化[/b]

当前的 DLSS 不再锐化图像,并且会忽略游戏的 DLSS Sharpness 滑块。因此插件会自己在 DLSS 之后立即锐化图像:
[list]
[][font=monospace]Sharpness[/font] 设置强度,从 0(关闭)到 1(强)。默认值 0.33 是轻度的。[/]
[][font=monospace]Sharpness=Game[/font] 则让游戏内的 [b]DLSS Sharpness[/b] 滑块来设置。新值会在你在游戏中应用图形设置后生效。[/]
[/list]
[font=monospace]Sharpener[/font] 选择滤镜:
[list]
[][b]NVSharpen[/b](默认):NVIDIA 的锐化,与 NVIDIA 驱动设置中的 Image Sharpening 选项是同一滤镜。全能之选。[/]
[][b]Vanilla[/b]:游戏原版 DLSS 的锐化,为此插件重建。相比边缘,它更能突出细腻的纹理细节,并且保持相当温和:1 是原版游戏允许的最强值。[/]
[][b]RCAS[/b]:来自 FidelityFX Super Resolution 的 AMD 锐化。在低值时与 NVSharpen 相似,在高值时是三者中最强的。[/]
[/list]
相同的 [font=monospace]Sharpness[/font] 在每个滤镜下会产生不同的锐化量。

在 [b]Balanced[/b] 和 [b]Performance[/b] 下,DLSS 所放大的图像本身已带有来自游戏后处理的细腻颗粒,锐化会将其凸显出来。此时应保持较低的锐化:NVSharpen 或 RCAS 约 0.33,Vanilla 约 0.5。

[b]NVIDIA Reflex 与帧率上限[/b]

插件为游戏添加了 NVIDIA Reflex。无论 NVIDIA DLSS 开启还是关闭,它都能生效。
[list]
[][font=monospace]LowLatency=On[/font](默认)让驱动在每一帧刚好来得及供显卡使用时才启动该帧。游戏本身已很少积压已完成帧,所以收益很小:在我的测试中约为半毫秒。[font=monospace]Boost[/font] 还会让显卡保持满时钟速度,以降低约 2 毫秒输入延迟,但会消耗更多电量。[/]
[]在这款游戏中,帧率上限会增加输入延迟,无论你使用哪种限制器:游戏在读取你的输入后经过一次更新才显示一帧,而每次更新都会等待限制器。在我的测试中(RTX 4080 SUPER、1440p、DLAA),从鼠标操作到完成帧的时间,在无上限的 165 fps 下约为 15 毫秒,而在 60 fps 下约为 24 毫秒。[/]
[]使用游戏自带的 Frame Rate 选项,或 NVIDIA 控制面板或 NVIDIA App 中的 Max Frame Rate 来限制;只要 [font=monospace]LowLatency[/font] 开启,两者增加的输入延迟相同。Reflex 让驱动的限制器在帧开始时等待;不开启时驱动会在帧中较晚的位置等待,在我的测试中 60 fps 下多出约 7 毫秒。[/]
[]DLSS 本身不会增加输入延迟:DLAA 测得的结果与关闭 DLSS 相同,而放大模式会降低延迟,因为显卡更早完成每一帧。[/]
[/list]
[b]使用特定 DLSS 版本[/b]

默认情况下,插件使用你的 NVIDIA 驱动已下载的最新 DLSS。若要改用特定的 [font=monospace]nvngx_dlss.dll[/font],例如你偏好的旧版本、来自另一款游戏的版本,或在 Linux 上玩时:
[list]
[][b]最简单:[/b]将该 DLL 放入 [font=monospace]nativePC\plugins\MHW-DLSS4[/font]。当它比驱动自带的更新时,插件会使用它。[/]
[][b]任意版本,无论更新或更旧:[/b]在 [font=monospace]MHW-DLSS4.ini[/font] 中设置 [font=monospace]DLLPath[/font] 并重启游戏。[font=monospace]DLLPath[/font] 可以是包含 [font=monospace]nvngx_dlss.dll[/font] 的文件夹,也可以是该 DLL 文件本身(可任意命名,便于并排放置多个版本)。[/]
[/list]
不带盘符的路径从游戏文件夹开始,即包含 [font=monospace]MonsterHunterWorld.exe[/font] 的那个文件夹(例如 [font=monospace]C:\Program Files (x86)\Steam\steamapps\common\Monster Hunter World[/font])。[font=monospace]..\[/font] 表示向上一级文件夹,可到达同一 Steam 库中的其他游戏。示例:

[code]
; nvngx_dlss.dll in nativePC\plugins\MHW-DLSS4, even when the driver has a newer one
DLLPath=nativePC\plugins\MHW-DLSS4

; a renamed copy in the same folder
DLLPath=nativePC\plugins\MHW-DLSS4\nvngx_dlss_310.4.dll

; the DLSS of another game in the same Steam library
DLLPath=..\Cyberpunk 2077\bin\x64

; a full path; spaces are fine, quotes are optional
DLLPath=D:\DLSS versions\310.9\nvngx_dlss.dll[/code]
切勿将 [font=monospace]nvngx_dlss.dll[/font] 直接放入 [font=monospace]nativePC\plugins[/font]:Stracker's Loader 会加载那里的每个 DLL。如果路径错误,日志会说明,插件会回退到驱动自带的 DLSS。

获取 [font=monospace]nvngx_dlss.dll[/font] 文件时请始终使用可信来源,例如 [url=https://github.com/beeradmoore/dlss-swapper]DLSS Swapper[/url],但不要用它来替换 .dll,仅用于直接下载。

[b]故障排除[/b]

插件会将其所有操作写入 [font=monospace]nativePC\plugins\MHW-DLSS4.log[/font]。当出现异常时,先查看那里。
[list]
[][b]NVIDIA DLSS 选项变灰或缺失:[/b]日志会说明原因。通常是 GPU 不是 RTX 显卡,或驱动太旧。[/]
[][b]日志显示 "no nvngx_dlss.dll" 或 "DLSS is not available":[/b]驱动尚未下载 DLSS 3 或更新版本,且未找到其他 [font=monospace]nvngx_dlss.dll[/font]。将一个(3.x 或 4.x)放入 [font=monospace]nativePC\plugins\MHW-DLSS4[/font],或将 [font=monospace]DLLPath[/font] 指向一个。DLSS 1 文件不可用。[/]
[][b]正在运行哪个 DLSS 版本?[/b]以 [font=monospace]nvngx_dlss.dll:[/font] 开头的日志行会显示版本及其来源。你也可以开启 NVIDIA 的屏幕 DLSS 指示器:将注册表值 [font=monospace]HKLM\SOFTWARE\NVIDIA Corporation\Global\NGXCore\ShowDlssIndicator[/font](DWORD)设为 [font=monospace]1024[/font],再设回 [font=monospace]0[/font] 可隐藏。[/]
[][b]NVIDIA App DLSS 覆盖:[/b]它可在此插件之上生效,与其他任何 DLSS 游戏一样。[/]
[][b]崩溃后游戏以 DirectX 11 启动:[/b]游戏在图形崩溃后会自行切换到 DirectX 11。请在图形选项中重新开启 DirectX 12。[/]
[][b]要与游戏自带的 TAA 对比:[/b]在 DLAA 模式下设置 [font=monospace]Bypass=1[/font],之后设回 [font=monospace]0[/font]。[/]
[/list]
[b]工作原理[/b]

简而言之:游戏仍以为自己在运行其自带的 DLSS 1,但每次 DLSS 调用都会转到插件,由插件运行当前版本的 DLSS。不修改任何游戏文件或游戏代码;移除插件后游戏即恢复正常。技术细节见 [url=https://github.com/odt1/MHW-DLSS4/blob/main/docs/technical.md]technical.md[/url]。

[b]已知限制[/b]
[list]
[]在 Quality、Balanced 和 Performance 下,DLSS 在游戏的后处理(景深、运动模糊、色调映射)之后放大图像,也就是游戏自带 DLSS 1 所在的位置。DLSS 设计上是在这些效果之前工作,因此放大模式的效果无法像为当前 DLSS 打造的游戏那样好。[/]
[]纹理锐度跟随你加载区域时的模式:在游玩中更改 [font=monospace]Mode[/font] 后,纹理会到下次区域切换(或重启后)才获得新的锐度。[/]
[]在 DLAA 下,游戏自带的 TAA 仍会在底层运行,其结果会被丢弃。这会消耗零点几毫秒。[/]
[/list]
[b]从源码构建[/b]

见 [url=https://github.com/odt1/MHW-DLSS4/blob/main/docs/technical.md#building]technical.md[/url]。

[b]AI 免责声明[/b]

在 Claude Opus 5.5 的 Max effort 帮助下开发。