快速光线追踪 极致性能RT

快速光线追踪 极致性能RT

使用光线追踪提升性能。根据不同场景有所差异,但在树木密集的GPU受限场景中提升约10%。此模组包含两个ini文件,你可以选择使用其中一个或两个。

这个模组包含两个 ini 文件。你可以使用其中一个或同时使用两个。

近期更新:

v3.4 版本修复/改进内容: 增加了着色光线数量以提升画质。这修复了自 4.03 版本以来出现的过饱和补丁问题。将网格间距从 2.52 恢复到 2.625。有用户报告了可能与内存相关的问题,通过使用《巫师 3:狂猎》调试工具,我注意到 FreeProbesSpaceLeftPercent 数值偏低。2.625 的间距能为内存留出更多余量。

v3.3 版本的修复/改进: 减少闪烁(设置 EarlyAsyncGIUpdates=false)

版本 3.2 中的修复和优化: 已将 [Rendering/RT/Speedtree] 配置调整为在 W3 4.03 更新后正常工作。 已在 4.03 和 4.04 版本中测试。CDPR 在 4.03 版本中改进了光线追踪性能——目前性能在 CPU 受限场景中表现接近。如果你遇到了比未使用此模组时严重得多的视觉伪影问题,请在评论中告知我出现的时间和地点。

兼容性:     FasterRTifNoRTShadows.ini 与我制作的“Improved Ray Traced Shadows”模组不兼容     不要在使用 FasterRTifNoRTShadows.ini 时启用 RT 阴影——非 RT 阴影效果会更好。     FasterRTUltraPerformanceGlobalIllumination.ini 与“优化光线追踪”模组不兼容。

依赖:无。

与类似的模组不同,这个不需要 rtxgi 解锁器 dll 文件。

     注意:在 v2 版本中,我曾建议不要与 RT 反射一起使用。随着 v3 版本的更新,反射质量已显著提升。离屏小物体可能会比原版稍近一些地出现在反射中,但通常不易察觉。

安装:     找到你的《巫师 3》安装目录,并将这两个 ini 文件放入 bin\config\platform\pc\ 中     如果你还有来自该模组 v1 版本的 FasterRTifNoRTShadowsNorReflections.ini,请将其删除。

卸载:     删除 bin\config\platform\pc\FasterRTifNoRTShadows.ini 和 bin\config\platform\pc\FasterRTUltraPerformanceGlobalIllumination.ini。

配置: 这个模组目前还没有添加菜单 - 配置是通过安装或移除 ini 文件来完成的。

建议的游戏图形设置:     光线追踪:开启     光线追踪全局光照:性能     光线追踪反射:您的选择     光线追踪阴影:关闭(重要!使用此模组时,RT 阴影会比原版更糟糕!)     光线追踪环境光遮蔽:开启

小贴士(在 CPU 受限的场景,如繁忙的城市中可能有所帮助):     背景角色数量:中等(非超多)

关于:

FasterRTifNoRTShadows.ini 重要提示:使用此功能时,请在游戏菜单中禁用光线追踪阴影,否则效果会不佳 这可以减少加载到 GPU 光线追踪加速结构中的几何体数量。 优点:     提升 CPU 和 GPU 性能。 缺点:     远距离物体在光线追踪阴影和反射中不会有阴影/反射效果,树木的阴影也不会随风摆动。建议关闭光线追踪阴影,因为非光线追踪阴影整体效果更好。光线追踪反射中这些问题不太明显,因此您可以根据需要开启它。

FasterRTUltraPerformanceGlobalIllumination.ini 这会改变全局光照光探针网格,减少每帧的光线追踪数量,尤其是那些最消耗资源的光线。 优势:

  1. 大幅提升 GPU 性能。
  2. 改善中远距离的画质。
  3. 修复或减少了原版中的一些视觉缺陷,例如墙壁上可见的探针网格,以及凯尔卓隧道中的怪异现象。 缺点:
  4. 靠近相机的间接光照细节较少 - 在较小的房间中可能看起来效果不佳。
  5. 加载或快速旅行后,全局光照需要几秒钟才能更新,在此期间光照可能不正确。原版《巫师 3》也存在这个问题,但加载后更新速度更快。
  6. CPU 性能无提升。
  7. 偶尔闪烁 - 此 BUG 在没有模组时仍然存在,但使用原版设置时可能不太明显。
  8. 更多钟乳石照明缺陷 - 原版中也存在,但由于我们的探针间距更小,这种现象变得更常见了。 它在游戏内全局光照设置中的性能或质量模式下均可工作,我推荐使用性能模式。 如果仅使用此文件而不使用 FasterRTifNoRTShadows.ini,则可以安全地启用光线追踪阴影(提示:如果启用光线追踪阴影,请查看我的改进版光线追踪阴影模组 https://www.nexusmods.com/witcher3/mods/7685

基准测试: GPU: Nvidia 3080Ti CPU: AMD Ryzen 9 5900X 分辨率 3180x2160 DLSS 平衡 W3 版本:4.03 设置:无光线追踪阴影和反射,Hairworks 开启,阴影超高+,其余所有选项设为超高。 场景 1:断桥快速旅行点,白果园(很多树木) Vanilla - 59 FPS 此模组 - 65 FPS 场景 2:诺维格瑞的梯级广场(公认的严重依赖 CPU 的场景,人山人海,建筑密集) 香草 - 50 帧每秒 这个模组 - 51 FPS (注:为保持一致性,每次基准测试都会退出并重启游戏,我进行了三轮测试,每次均重启。在实际游戏中,由于你会在世界中四处移动,帧率会略低于此。)

技术细节:

FasterRTifNoRTShadows.ini 工作原理:

  1. 将 TLASObjectAngleSize 从 .1 增加到 .14。效果:小物体在视野中达到该大小前不会添加到光线追踪中。
  2. 将 Decreased ProximityTLASSize 从 400 减少到 140,并将 ProximityExtendedTLASSize 从 800 减少到 600。这减小了小型和大型物体被光线追踪的最大距离。
  3. 相同的树共享数据,并且在光线跟踪的世界视图中不会动画(它们在相机的世界视图中仍然会移动。) 设置已更改: [Rendering/RT] ProximityTLASSize=140.000000 ProximityExtendedTLASSize=600 ProximityTLASObjectAngleSize=0.14 [Rendering/RT/SpeedTree] RTSTTreesUpdateOnlyOnce=true RTSTTreesUpdateOnlyNear=false

FasterRTUltraPerformanceGlobalIllumination.ini 工作原理: 默认情况下,W3 使用两个 RTXGI 网格:一个大型(> ½km)全局网格(更新较慢)和一个小型局部网格 Grid1(77m)(具有更高的光照探针密度和更新速度)。我们对此进行修改:

  1. Grid1 已更改为类型 0 - 这意味着固定位置而非跟随玩家,并设置为最小大小和更新速率。我们希望完全移除它但无法实现。它将位于远离玩家的天空中,其性能影响微乎其微。
  2. 我们将 X,Y 探针间距从 3.5 减小到 2.625 以提高 GlobalGrid 的质量(进一步减小会导致更新过慢,若 RT 设置为质量模式还可能引发崩溃)。
  3. 通过降低分类射线的数量以及禁用 DebugTlas 来提高速度。
  4. 通过调整探针有效性检查、重定位和偏移来减少漏光现象。
  5. 通过降低 ProbeHysteresis 来加快更新速度,通过减少 FramesNumPerShadingCycle 来使其更平滑。否则,当房间通过门的光线照亮且门关闭时,更新速度会过慢。
  6. EarlyAsyncGIUpdates 设置为 false - 这可以减少闪烁。我认为闪烁是由两个事物同时读写同一数据结构时的竞争条件引起的。这改变了 GI 探针更新的顺序/优先级,似乎可以减少但不能完全消除问题。
  7. 将阴影射线数量从 32 增加到 64。这修复了 4.03 补丁后(例如在鲍克兰)出现的某些特定位置过度饱和的问题。 所有这些操作都不依赖于游戏自带的性能/质量切换设置(与优化 RT 不同),因此无需使用 dll 覆盖这些设置即可生效(注意:游戏中通常忽略的 GridCoverage 项已被定义,以防您正在使用 emoose 的 RTXGI 解锁器及设置自动更新 dll)。 尽管增加了 GlobalGrid 探测点数量,性能提升仍超出预期。RTXGI 足够智能,能优先处理正在变化或靠近玩家的光照探针,因此半公里外额外增加的探针密度并不会带来太大负担。我认为真正的性能提升来自于移除 Grid1,因为使用双网格时,靠近玩家的区域会被光线追踪两次,而这片区域正是世界中最昂贵的光线追踪部分——因为玩家附近所有几何细节都保持在最高级别,而远处细节则大幅简化。 注意:网格覆盖和最大探测设置无效,并会根据游戏的性能/质量模式被覆盖。它们仅用于兼容性,如果你使用的是解锁器 dll(本模组并不需要它)。 [Rendering/RT] DebugTlas=0 [Rendering/Async/RT] EarlyAsyncGIUpdates=false [RTXGI/GlobalGrid] GridCoverageX=504.000000 GridCoverageY=504.000000 GridCoverageZ=204.000000 ProbeGridSpacingX=2.625 ProbeGridSpacingY=2.625 ProbeGridSpacingZ=2.0 ViewBias=0.50000 NormalBias=0.5 MinFrontfaceDistance=0.5 BackfaceThreshold=0.4 NumClassificationRaysPerProbe=48 NumShadingRaysPerProbe=64 ProbeHysteresis=0.3333333333333333333333333333333 FramesNumPerClassificationCycle=4 FramesNumPerShadingCycle=1 MaxProbesShadedPerFrame=8192 MaxProbesClassificatedPerFrame=131072 MaxProbesClassificatedPerFrameAfterFirstPass=32768 EnableVarianceTracking=true [RTXGI/Grid1] Type=0 ProbeGridCountsX=1 ProbeGridCountsY=1 ProbeGridCountsZ=1 MaxProbesShadedPerFrame=1 MaxProbesClassificatedPerFrame=1

P.S. 如果你想了解更详细的技术细节,W3 似乎基于 RTXGI,可以在这里阅读文档:https://github.com/NVIDIAGameWorks/RTXGI 。注释中 https://github.com/NVIDIAGameWorks/RTXGI/blob/main/rtxgi-sdk/include/rtxgi/ddgi/DDGIVolume.h 还解释了在 ini 中设置的许多选项。

所有我的模组: FSR DLSS 通过启用透明抖动提升画质 - https://www.nexusmods.com/witcher3/mods/8186 Faster Ray Tracing 极致性能 RT - https://www.nexusmods.com/witcher3/mods/7891 改进后的光线追踪阴影 - https://www.nexusmods.com/witcher3/mods/7685