|
5 | 5 | <meta http-equiv="X-UA-Compatible" content="IE=edge" /> |
6 | 6 | <meta name="viewport" content="width=device-width, initial-scale=1.0" /> |
7 | 7 | <link rel="shortcut icon" href="../../../img/favicon.ico" /> |
8 | | - <title>Why NvRTX 4.27 - 引擎优化文档</title> |
| 8 | + <title>为何选择 NvRTX 4.27 - 引擎优化文档</title> |
9 | 9 | <link rel="stylesheet" href="../../../css/theme.css" /> |
10 | 10 | <link rel="stylesheet" href="../../../css/theme_extra.css" /> |
11 | 11 | <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/styles/github.min.css" /> |
12 | 12 | <link href="../../../extra.css" rel="stylesheet" /> |
13 | 13 |
|
14 | 14 | <script> |
15 | 15 | // Current page data |
16 | | - var mkdocs_page_name = "Why NvRTX 4.27"; |
| 16 | + var mkdocs_page_name = "\u4e3a\u4f55\u9009\u62e9 NvRTX 4.27"; |
17 | 17 | var mkdocs_page_input_path = "optimization/EngineOverview/Why-NvRTX-427.md"; |
18 | 18 | var mkdocs_page_url = null; |
19 | 19 | </script> |
|
110 | 110 | <div class="rst-content"><div role="navigation" aria-label="breadcrumbs navigation"> |
111 | 111 | <ul class="wy-breadcrumbs"> |
112 | 112 | <li><a href="../../.." class="icon icon-home" aria-label="Docs"></a></li> |
113 | | - <li class="breadcrumb-item active">Why NvRTX 4.27</li> |
| 113 | + <li class="breadcrumb-item active">为何选择 NvRTX 4.27</li> |
114 | 114 | <li class="wy-breadcrumbs-aside"> |
115 | 115 | <a href="https://github.com/OpenHUTB/cpp/edit/master/docs/optimization/EngineOverview/Why-NvRTX-427.md"> 编辑页面</a> |
116 | 116 | </li> |
|
120 | 120 | <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> |
121 | 121 | <div class="section" itemprop="articleBody"> |
122 | 122 |
|
123 | | - <h1 id="why-nvrtx-427">Why NvRTX 4.27</h1> |
124 | | -<p><tldr></p> |
125 | | -<p> |
126 | | -Unreal Engine 4.27 is the last iteration with an <b>engine-agnostic ray tracing pipeline</b>, closer in |
127 | | -design to other AAA engines. From UE 5.1 onward, BLAS/TLAS management, culling and ray hit shading became |
128 | | -progressively coupled to Lumen, Nanite, VSM and GPU Scene, and the PhysX API was removed. |
129 | | -</p> |
130 | | -<p></tldr></p> |
131 | | -<p>Choosing a base version is the single most consequential decision in a long-lived engine fork. This page |
132 | | -sets out why Vite is built on NvRTX 4.27 Caustics rather than a UE5 branch.</p> |
133 | | -<h2 id="the-ray-tracing-pipeline-argument">The ray tracing pipeline argument</h2> |
134 | | -<p>Unreal Engine 4.27 has an agnostic ray tracing pipeline. Acceleration structures are built and updated in a |
135 | | -way that is not tied to any particular lighting solution, so a third-party GI or reflection technique can be |
136 | | -integrated by hooking into the scene representation the renderer already maintains.</p> |
137 | | -<p>From UE 5.1 onward, the default rendering path — including ray tracing scene construction and update |
138 | | -— became increasingly integrated around Lumen, Nanite, Virtual Shadow Maps and Temporal Super |
139 | | -Resolution. Concretely:</p> |
| 123 | + <h1 id="nvrtx-427">为何选择 NvRTX 4.27</h1> |
| 124 | +<p>虚幻引擎 4.27 是最后一个采用与引擎无关的光线追踪管线的版本,其设计更接近其他 AAA 级引擎。从 UE 5.1 开始,BLAS/TLAS 管理、剔除和光线命中着色逐渐与 Lumen、Nanite、VSM 和 GPU Scene 等组件耦合,并且 PhysX API 被移除。</p> |
| 125 | +<p>对于一个长期存在的引擎分支来说,选择一个基础版本是至关重要的决定。本页阐述了 Vite 为何基于 NvRTX 4.27 Caustics 而非 UE5 分支构建。</p> |
| 126 | +<h2 id="_1">光线追踪管线论证</h2> |
| 127 | +<p>虚幻引擎 4.27 采用与引擎无关的光线追踪管线。加速结构的构建和更新方式与任何特定的光照解决方案无关,因此可以通过接入渲染器已维护的场景表示来集成第三方全局光照或反射技术。</p> |
| 128 | +<p>从 UE 5.1 开始,默认渲染路径(包括光线追踪场景的构建和更新)越来越围绕 Lumen、Nanite、虚拟阴影贴图和时间超分辨率技术进行集成。具体来说:</p> |
140 | 129 | <ul> |
141 | | -<li><strong>BLAS/TLAS management</strong> was adapted to support GPU Scene, Nanite fallback meshes and streamed ray |
142 | | - tracing geometry.</li> |
143 | | -<li><strong>Culling</strong> was reworked around the same systems.</li> |
144 | | -<li><strong>Ray hit shading</strong> increasingly relied on Lumen's separate Surface Cache and mesh-card representation |
145 | | - rather than shading the actual hit surface.</li> |
| 130 | +<li><strong>BLAS/TLAS 管理</strong> 经过调整,以支持 GPU 场景、Nanite 回退网格和流式光线追踪几何体。</li> |
| 131 | +<li><strong>剔除机制</strong> 也围绕相同的系统进行了重构。</li> |
| 132 | +<li><strong>光线命中着色</strong> 越来越依赖于 Lumen 的独立表面缓存和网格卡表示,而不是对实际的命中表面进行着色。</li> |
146 | 133 | </ul> |
147 | | -<p>Each of these is a reasonable decision in service of Lumen. Together they mean that integrating an |
148 | | -alternative RTGI or reflection technique stops being a matter of consuming the scene and becomes a matter of |
149 | | -fighting the scene. That is the concrete reason DDGI integrates cleanly into 4.27 and awkwardly into 5.x.</p> |
150 | | -<p>In parallel, as PhysX was deprecated in favour of Chaos, the remaining PhysX-specific APIs and compatibility |
151 | | -code were gradually removed — which independently rules out the UE5 branches for a fork whose physics |
152 | | -argument depends on PhysX.</p> |
153 | | -<blockquote> |
154 | | -<p>For detailed reasoning and proofs, see the Technical Reference document on moving Vite base to UE4 Latest. |
155 | | -<a href="https://docs.google.com/document/d/1gA0MGkzeWWzKkgwBDOP5xRPouSKaOIW6xlPZ2q6BXO0/edit?usp=sharing">4.27 versus 5.0</a>.</p> |
156 | | -<p>{style="note"}</p> |
157 | | -</blockquote> |
158 | | -<h2 id="why-the-nvrtx-caustics-branch-specifically">Why the NvRTX Caustics branch specifically</h2> |
159 | | -<p>NvRTX 4.27 Caustics is NVIDIA's ray tracing branch of Unreal Engine 4.27.1. On top of Epic's 4.27 it adds:</p> |
| 134 | +<p>这些决策都是为了更好地服务于 Lumen 而做出的合理选择。它们共同意味着,集成其他 RTGI 或反射技术不再是简单地使用场景,而是需要与场景进行对抗。这正是 DDGI 能够顺利集成到 4.27 版本,却难以集成到 5.x 版本的原因所在。</p> |
| 135 | +<p>与此同时,随着 PhysX 被 Chaos 取代,剩余的 PhysX 特定 API 和兼容性代码也逐渐被移除——这本身就排除了依赖 PhysX 的 UE5 分支的可能性。</p> |
| 136 | +<p><strong>笔记:</strong> 有关详细的推理和证明,请参阅关于将 Vite 基础迁移到 UE4 最新版本的技术参考文档。 <a href="https://docs.google.com/document/d/1gA0MGkzeWWzKkgwBDOP5xRPouSKaOIW6xlPZ2q6BXO0/edit?usp=sharing">4.27 和 5.0 的对比</a>。</p> |
| 137 | +<h2 id="nvrtx-caustics">为什么特别推荐 NvRTX Caustics 分支?</h2> |
| 138 | +<p>NvRTX 4.27 Caustics 是 NVIDIA 基于虚幻引擎 4.27.1 的光线追踪分支。它在 Epic 4.27 的基础上新增了以下功能:</p> |
160 | 139 | <ul> |
161 | | -<li>DirectX 12 and DXR improvements, and a range of ray tracing performance optimisations tested against |
162 | | - real Marketplace content rather than synthetic scenes.</li> |
163 | | -<li>DLSS, NVIDIA Reflex and improved denoisers.</li> |
164 | | -<li>Ray-traced mesh caustics and water caustics.</li> |
165 | | -<li>Enhanced translucency, including hybrid translucency modes that let rasterised and ray-traced |
166 | | - translucency coexist.</li> |
167 | | -<li>Multi-bounce refraction optimisation with absorption and total internal reflection.</li> |
168 | | -<li>ReStir GI with a new SVGF-based denoiser, emissive material support and a reservoir-resampling final |
169 | | - gather.</li> |
170 | | -<li>Engine-side DDGI upgrades, including DDGI-lit ray-traced reflections.</li> |
| 140 | +<li>DirectX 12 和 DXR 的改进,以及一系列光线追踪性能优化,这些优化均针对真实商城内容而非合成场景进行了测试。</li> |
| 141 | +<li>DLSS、NVIDIA Reflex 和改进的降噪器。</li> |
| 142 | +<li>光线追踪网格焦散和水体焦散。</li> |
| 143 | +<li>增强的半透明效果,包括允许光栅化和光线追踪半透明共存的混合半透明模式。</li> |
| 144 | +<li>包含吸收和全内反射的多重反射折射优化。</li> |
| 145 | +<li>带有基于 SVGF 的全新降噪器、自发光材质支持和储层重采样最终聚集的 ReStir GI。</li> |
| 146 | +<li>引擎端 DDGI 升级,包括 DDGI 光线追踪反射。</li> |
171 | 147 | </ul> |
172 | | -<p>That last item matters more than it sounds. The stock 4.27 launcher DDGI plugin is a plugin; the NvRTX |
173 | | -integration reaches into the ray tracing pipeline, which is what makes probe-based ray-traced reflections |
174 | | -possible. See <a href="../../Rendering/DDGI-Dynamic/">DDGI Dynamic</a>.</p> |
175 | | -<p>Starting from a branch that already had this work done saved the fork a very large amount of integration |
176 | | -effort, and meant the ray tracing features were already validated against shipped NVIDIA sample content.</p> |
177 | | -<h2 id="what-has-been-merged-on-top">What has been merged on top</h2> |
178 | | -<p>Vite is not frozen at its base. The following are fully merged:</p> |
| 148 | +<p>最后一点比听起来更重要。4.27 版本自带的 DDGI 启动器插件只是一个插件;而 NvRTX 集成则深入到光线追踪管线,这使得基于探针的光线追踪反射成为可能。参见 <a href="../../Rendering/DDGI-Dynamic/">动态 DDGI</a>。</p> |
| 149 | +<p>由于该分支已经完成了这项工作,因此节省了大量的集成工作,并且光线追踪功能已经过 NVIDIA 官方示例内容的验证。</p> |
| 150 | +<h2 id="_2">顶部已合并的内容</h2> |
| 151 | +<p>Vite 的底部并未冻结。以下内容已完全合并:</p> |
179 | 152 | <table> |
180 | 153 | <thead> |
181 | 154 | <tr> |
182 | | -<th>Source</th> |
183 | | -<th>What it contributes</th> |
| 155 | +<th>来源</th> |
| 156 | +<th>贡献内容</th> |
184 | 157 | </tr> |
185 | 158 | </thead> |
186 | 159 | <tbody> |
187 | 160 | <tr> |
188 | 161 | <td>Epic UE 4.27 Plus</td> |
189 | | -<td>Ongoing EpicGames fixes & updates to 4.27, plus the last toolchain compliance updates</td> |
| 162 | +<td>Epic Games 对 4.27 版本持续进行的修复和更新,以及最新的工具链兼容性更新</td> |
190 | 163 | </tr> |
191 | 164 | <tr> |
192 | 165 | <td>NvRTX 5.0</td> |
193 | | -<td>Further NVIDIA rendering work backported down</td> |
| 166 | +<td>进一步向下移植 NVIDIA 渲染工作</td> |
194 | 167 | </tr> |
195 | 168 | <tr> |
196 | | -<td>AMD GPUOpen engine branches</td> |
197 | | -<td>FSR, AMD-specific rendering optimisations highly relevant to console GPUs</td> |
| 169 | +<td>AMD GPUOpen 引擎分支</td> |
| 170 | +<td>FSR,针对主机 GPU 的 AMD 特定渲染优化</td> |
198 | 171 | </tr> |
199 | 172 | <tr> |
200 | 173 | <td>UE 5.0–5.8</td> |
201 | | -<td>300+ backports in release; 1,000+ at internal staging</td> |
| 174 | +<td>正式版包含 300 多个向下移植项;内部测试版包含 1000 多个向下移植项</td> |
202 | 175 | </tr> |
203 | 176 | </tbody> |
204 | 177 | </table> |
205 | | -<p>Backports are generally not straight cherry-picks. They are adapted properly to Vite codebase, |
206 | | -by engineers with several years of experience with Unreal Engine private forks. |
207 | | -<a href="../../Contributing/Backporting/">Backporting Workflow</a> page documents the process.</p> |
208 | | -<h2 id="the-counter-argument-and-the-answer">The counter-argument, and the answer</h2> |
209 | | -<p>The obvious objection is that Unreal Engine 4 is a dead codebase. In practice it is not. Recent and upcoming |
210 | | -AAA releases on UE4 include Stellar Blade (4.26, 2024), |
211 | | -Days Gone Remastered (4.11, 2025), Delta Force (4.22, 2026), Mortal Kombat 1 (4.27, 2023), |
212 | | -Mario & Luigi: Brothership (4.26, 2024), Princess Peach: Showtime! (4.26, 2024), Pikmin 4 (4.26, 2023), |
213 | | -and Square Enix's Final Fantasy VII Rebirth (4.26, 2024) |
214 | | -Dragon Quest VII Reimagined (4.27, 2026) and Final Fantasy VII: Revelation (4.27, 2027).</p> |
215 | | -<p>All of them ship PhysX. These teams stayed on UE4 to retain specific features and hit fidelity and |
216 | | -performance targets — the same reasoning Vite is built on. UE4 also continues to receive updates from |
217 | | -major studios via the 4.27 Plus branch, and remains a priority target for Nintendo platforms.</p> |
218 | | -<p>The difference between "using a deprecated codebase" and "maintaining a fork" is whether anyone is still |
219 | | -improving it. Vite's plan is continued optimisation of core systems, rendering core modernisation, UI work |
220 | | -and toolchain updates — see <a href="../Release-Notes/">Release Notes</a> for what that has produced so far.</p> |
221 | | -<h2 id="see-also">See also</h2> |
| 178 | +<p>向后移植通常并非简单的代码移植。它们由拥有多年虚幻引擎私有分支经验的工程师根据 Vite 代码库进行适当的适配。<a href="../../Contributing/Backporting/">向后移植工作流程</a>页面记录了整个过程。</p> |
| 179 | +<h2 id="_3">反驳观点及解答</h2> |
| 180 | +<p>显而易见的反对意见是虚幻引擎 4 已经过时了。但实际上并非如此。近期和即将推出的基于虚幻引擎 4 的 AAA 级游戏包括:《星际之刃》(4.26,2024)、《往日不再:重制版》(4.11,2025)、《三角洲特种部队》(4.22,2026)、《真人快打 1》(4.27,2023)、《马里奥与路易吉:兄弟情》(4.26,2024)以及《碧琪公主:秀场!》。 《皮克敏4》(4.26,2024)、《皮克敏4》(4.26,2023)、Square Enix 的《最终幻想VII:重生》(4.26,2024)、《勇者斗恶龙VII:重制版》(4.27,2026)和《最终幻想VII:启示录》(4.27,2027)。</p> |
| 181 | +<p>所有这些游戏都支持 PhysX 物理引擎。这些团队之所以继续使用 UE4 引擎,是为了保留特定功能并达到预期的保真度和性能目标——这也是 Vite 引擎的开发理念。UE4 引擎也继续通过 4.27 Plus 分支获得各大工作室的更新,并且仍然是任天堂平台的优先开发目标。</p> |
| 182 | +<p>“使用已弃用的代码库”和“维护一个分支”之间的区别在于是否还有人在对其进行改进。Vite 的计划是持续优化核心系统、实现渲染核心现代化、改进用户界面和更新工具链——请参阅<a href="../Release-Notes/">发布说明</a>了解目前为止的成果。</p> |
| 183 | +<h2 id="_4">另请参阅</h2> |
222 | 184 | <ul> |
223 | | -<li><a href="../UE4-Versus-UE5-Cost-Analysis/">UE4 versus UE5 Cost Analysis</a></li> |
224 | | -<li><a href="../Performance-Targets/">Performance Targets</a></li> |
225 | | -<li><a href="../../Rendering/Ray-Tracing/">Ray Tracing</a></li> |
226 | | -<li><a href="../../Physics/PhysX/">PhysX Overview</a></li> |
227 | | -<li><a href="../../Contributing/Backporting/">Backporting Workflow</a></li> |
| 185 | +<li><a href="../UE4-Versus-UE5-Cost-Analysis/">UE4 与 UE5 成本分析</a></li> |
| 186 | +<li><a href="../Performance-Targets/">性能目标</a></li> |
| 187 | +<li><a href="../../Rendering/Ray-Tracing/">光线追踪</a></li> |
| 188 | +<li><a href="../../Physics/PhysX/">PhysX 概述</a></li> |
| 189 | +<li><a href="../../Contributing/Backporting/">反向移植工作流程</a></li> |
228 | 190 | </ul> |
229 | 191 |
|
230 | 192 | </div> |
|
0 commit comments