实时渲染的时序超分与后处理统一架构 2026
把 TAA、TSR、DLSS、FSR、XeSS 串成一条端到端的时序管线,讨论桌面/主机/移动端三档硬件下的统一取舍与跨平台落地。
约 49 分钟阅读14,531 字9 次阅读博主

把 TAA、TSR、DLSS、FSR、XeSS 串成一条端到端的时序管线,讨论桌面/主机/移动端三档硬件下的统一取舍与跨平台落地。

一句话摘要:把时间维度的 jitter、reprojection、history accumulation 与空间维度的 upsampler、sharpener、tone-mapper 串成一条端到端的时序管线,讨论桌面/主机/移动端三档硬件下的统一取舍,以及为什么 TSR 与硬件光追加速结构正在改写"端侧只能跑 540p"的旧假设。
2026 年的 3A 实时渲染管线已经把"目标分辨率"从单一标量升维成一条约束曲线。PC 端 4K 60 FPS 仍是高端独立游戏的基准,主机端 PS5 / Xbox Series X 在 4K 30 FPS 与 1440p 60 FPS 之间反复横跳,移动端则在 720p 到 1080p 之间给一个 30–120 FPS 的可调区间。这条曲线背后的核心矛盾有三条:第一,分辨率与 frame budget 之间的二次方关系——把分辨率从 1080p 提到 4K 是 4 倍像素填充,再叠加现代 PBR + 光追是 8–12 倍 GPU 负载,但 frame budget 只给了 16.67 ms(60 FPS);第二,刷新率与运动清晰度的非线性关系——240 Hz 显示器的普及让"够用"的 frame budget 降到 4.16 ms,对填充率提出了接近 5 倍的额外压力;第三,端云协同的端侧约束——云渲染把算力前移到服务器,但端侧依然要做 60–120 FPS 的本地 decode + color correction + UI 合成,upscale + sharpen 的延迟预算只有 1–2 ms。
围绕这三组矛盾,过去十年业界演化出两条独立但又相互渗透的工程路径:一条是从 TAA(Temporal Anti-Aliasing)衍生出的"时序抗锯齿 + 时序上采样"路径,代表是 Unreal Engine 的 TSR(Temporal Super Resolution)与 Frostbite 的 TAAU;另一条是硬件厂商主导的"深度学习超分"路径,代表是 NVIDIA DLSS 3、AMD FSR 3、Intel XeSS。这两条路径在 2024–2026 年正在快速收敛:DLSS 3 引入 Frame Generation 把 latency 折算成帧率,FSR 3 把 motion vector 的输入要求降低到所有现代引擎都能吃,XeSS 则用 DP4a 在核显上跑出了堪用的质量。把这三条路径放进同一个 framework 下做工程取舍,是过去三年所有商业引擎团队都在解决的核心问题。
本文的目标是把这套时序超分管线拆成 9 个互相咬合的组件(jitter、history accumulation、reprojection、disocclusion mask、upsampler、sharpener、tone-mapper、frame composition、debug overlay),逐项讨论每个组件在 2026 年的工程真相,以及它们在不同 GPU 微架构(NVIDIA Ada/Blackwell、AMD RDNA 3/4、Intel Arc Battlemage、ARM Mali Immortalis、Apple GPU)下的落地差异。最后给出 5 条可执行的工程推论 + 9 条未公开验证的猜想,让引擎开发者在选型时有一份可以照搬的决策树。
把时序超分管线形式化为一个三元组 ,其中 是历史累积状态(history buffer), 是运动矢量(motion vector field), 是上采样器(upsampler)。一个时间步 的渲染输出 可以表示为:
其中 是低分辨率输入(一般是目标分辨率的 1/2 到 1/4), 是上一帧的历史累积, 是 motion vector field, 是 disocclusion mask(新暴露区域的几何 + 屏幕空间遮挡), 是材质 ID 或 motion vector 有效性 mask。
历史累积状态 本身是一个三维结构:每个像素保存一个 16-bit 浮点 RGB 颜色、一个 8-bit confidence(用于在历史样本失效时降权)、一个 8-bit variance(用于 neighborhood clamping)、以及一个 16-bit 屏幕空间速度。NVIDIA DLSS 2.x 把这个结构命名为 "feedback buffer",AMD FSR 2 把它叫 "previous frame color + luma + lock status",Intel XeSS 沿用了 NVIDIA 的设计但加了 Perceptual Average Color (PAC) 项用作 fallback。Unreal TSR 则更进一步,把 history buffer 拆成两个 ping-pong 的 half-res RTG(Render Target Group),分别保存 raw color 和 pre-sharpened color,避免 sharpener 在 history 上跑两次。
motion vector field 是时序超分最依赖的输入,它的精度直接决定了"上一帧的像素到底对应到当前帧的哪个像素"。绝大部分引擎在 motion vector pass 里输出的是 ,单位是 NDC(normalized device coordinates)的 delta,但在 deferred lighting 的复杂材质(sub-surface scattering、anisotropic specular、screen-space refraction)下,motion vector 经常是错的或者缺失的。2026 年的工业实践是额外输出一个 per-pixel motion vector 的 confidence mask ,当 confidence 低于阈值时让 upsampler 切换到空间模式(仅用当前帧 + spatial neighbors),代价是边缘会出现 flicker。
disocclusion mask 是时序超分最大的隐患来源。一个像素在 是被遮挡的、在 是新暴露的,那么历史样本对它毫无意义,必须用 current-frame-only 的"急救"路径。 通常由两个分量合成:几何 disocclusion(来自 depth + motion vector 的 reprojection gap, 0.5 像素就算 gap)和屏幕空间 disocclusion(来自 velocity buffer 与 normal buffer 的叉积)。FSR 3 在 2024 年的更新里引入了 "disocclusion dilation" 把单像素的 gap 扩展到 3×3 kernel,显著降低了快速相机运动时的 ghost 残留,但代价是边缘会有 1–2 像素的过曝区。
upsampler 是整个三元组的"重心",它的输入是 5 个 buffer(current、history、motion、disocclusion、material),输出是目标分辨率的 final color。在 2026 年的工程实践中,upsampler 的内部结构有两种主流形态:第一种是 CNN 形态(DLSS 3 的卷积网络 + Transformer 块、FSR 3 的 RDNA 优化过的 8×8 tile CNN),第二种是 hand-written shader 形态(TSR 的 motion vector warp + bicubic + bicubic sharpen、FSR 2 的 EASU + RCAS)。CNN 形态的优势是质量上限高、对边缘细节还原好,劣势是吃 tensor cores、对硬件平台强绑定;hand-written shader 的优势是跨平台、占的 register 少、对硬件要求低,劣势是相机快速运动时会有 1–2 帧的 lag。
把三元组的状态机画出来,可以看到一个稳定的 3 阶段循环:
图表加载中…
每一帧都要走完这条流水线,任何一个环节的卡顿都会让整个管线 back-pressure。从工程数据看,TSR 在 4K 目标分辨率下占的 GPU 时间是 0.8–1.4 ms(NVIDIA RTX 4070),DLSS Quality 占 0.6–1.0 ms,FSR 2 Quality 占 0.4–0.7 ms,FSR 3 Quality 占 0.5–0.9 ms(带 Frame Gen 多 0.2 ms)。移动端 Mali Immortalis G715 上跑 FSR 2 移动版的耗时是 1.2–1.8 ms(在 1080p 渲染 + 540p 内部 upscaling),TAA 的纯 software 实现是 0.9–1.3 ms。
TAA(Temporal Anti-Aliasing)是把上一帧颜色"重投影"到当前帧做时序累积的早期方案,它的核心假设是 motion vector + depth 足以让"上一帧的每个像素"在当前帧找到唯一对应。这个假设在静态场景 + 简单材质下几乎完美,但在四个边界条件会出 ghost:透明物体(refraction 改变了光路)、粒子系统(粒子在两帧之间不连续)、disocclusion(前面物体移开导致背景新暴露)、specular 高光(高光位置随相机角度移动)。
解决 ghost 的核心机制是 neighborhood clamping:把当前帧低分辨率像素 与重投影过来的历史像素 做 3×3 邻域的 min/max 比较,若 落在 区间外则降权。数学上:
这个公式在 2014 年由虚幻引擎的 Brian Karis 首次工业落地,2018 年被 NVIDIA 改成 8-tap box filter(在 8 个 sample 的 neighborhood 上做 min/max),把 ghost 残影的时长从 4–8 帧降到 1–2 帧。2026 年的工业实践是再加一个 variance guard:当 时把历史样本权重降到 0,仅用 current frame 做 spatial AA。
TAA 的第二个工程细节是 jitter offset。它是一个低分辨率渲染时的相机 sub-pixel 偏移,让相邻帧的低分辨率采样点不重合,从而在时序累积之后达到近似高分辨率的效果。Halton sequence(2,3)的 8 个 sample 序列是工业标准:
| Frame | Jitter (NDC x) | Jitter (NDC y) |
|---|---|---|
| 0 | +0.125 | +0.375 |
| 1 | -0.375 | +0.125 |
| 2 | +0.375 | -0.125 |
| 3 | -0.125 | -0.375 |
| 4 | +0.250 | +0.250 |
| 5 | -0.250 | -0.250 |
| 6 | +0.000 | +0.000 |
| 7 | +0.500 | +0.500 |
抖动在 8 帧之后周期回到原点,所以 history buffer 的回卷点必须在 8 的倍数帧,否则会出现周期性抖动残影。Unreal 在 TSR 里把 sequence 长度改成 16(Halton 4,5)以降低快速运动时的样本相关性,但代价是 16 帧内的"训练样本"密度降低,upsampler 的 variance 上升。
TAA 的第三个关键点是材质 ID buffer(Material ID / Object Velocity)的引入。在 deferred renderer 里,每个像素除了 color 还有 material id 与 velocity,upsampler 在做 history accumulation 时会先检查 material id 是否变化,若变化则完全弃用历史样本。这个机制让 transparent 与 opaque 物体之间、skinned mesh 与 static mesh 之间的切换几乎看不到 ghost,是 TSR 相对原生 TAA 的最大质量提升。FSR 3 在 2024 年的 SDK 更新里也加了 MaterialID 输入,效果立竿见影:复杂场景的 flicker 减少了 30–40%。
TAA 在现代引擎里的工程困境是它的上限不高。在 4K 目标 + 1080p 内部渲染 + 50% upscaling 的场景下,TAA 的"还原"质量明显低于 DLSS 3 / FSR 3 的 CNN-based upsampler,原因是它没有可学习的 spatial prior——它只能"复用历史",不能"猜测边缘"。这也是为什么 2022 年之后所有主流商业引擎都把 TAA 升级成 TAAU(Temporal AA + Upsampling),然后再升级成 TSR 这种更激进的时序管线。
DLSS 3 的核心是一个 5 层的卷积神经网络,训练数据来自 16K 分辨率 + 256 sample per pixel 的离线渲染(per-frame cost 在 GPU cluster 上是小时级)。推理时输入是 7 个 buffer(current frame 1/4 分辨率 + history frame + 2 motion vectors + depth + normal + roughness),输出是目标分辨率的 final color。在 NVIDIA Tensor Core 上单帧推理时间是 0.4–0.6 ms(Ada Lovelace)/ 0.2–0.3 ms(Blackwell),是当前业界最快的时序超分方案。
DLSS 3 的关键创新是 Frame Generation(FG),它通过光流加速器(Optical Flow Accelerator,OFA)计算相邻两帧的 motion vector,然后用运动补偿把上一帧"扭曲"到当前帧的视角下作为"伪中间帧"。FG 的代价是 latency 增加 1 帧(约 16 ms)+ 1.0–1.4 ms 的 OFA 推理开销,回报是把 60 FPS 的基础帧率翻倍到 120 FPS。在端云协同的场景里,FG 让"端侧跑 60 FPS + 服务端协助"成为一个新的可选路径——服务端把 base frame 发给端侧,端侧做 decode + FG + UI 合成。
FSR 3 在 2024 年的最大更新是从 FSR 2 的 hand-written shader 升级到 FSR 3 的 RDNA-optimized CNN。它的网络结构是 8×8 tile 的 depth-to-space + 3×3 残差块 + 一个输出 4× upscale 的子像素卷积。训练数据来自 Unreal Engine 5.3 的开源场景(ShooterGame、Lyra)+ 数个 3A 工作室贡献的高质量离线渲染对。在 RDNA 3 架构上推理时间是 0.4–0.6 ms,RDNA 4(即将发布的)目标是 0.25 ms。FSR 3 的关键优势是开放标准——不绑定 NVIDIA tensor cores,可以在 AMD、Intel、Apple GPU 上跑,这让它在主机端(PS5、Xbox Series X)和移动端(Mali、Adreno)都能落地。
XeSS 的设计哲学介于 DLSS 与 FSR 之间:它提供一个 DP4a 路径(INT4 tensor cores,几乎所有现代 GPU 都支持)和一个 XMX 路径(Intel Arc 的矩阵扩展单元)。DP4a 路径在核显(Intel Iris Xe)上的推理时间是 1.2–1.6 ms,质量比 XMX 路径低约 15%,但兼容性好。XeSS 在 2026 年的最大进展是 XeSS 2 引入了 motion vector 的 "temporal consistency loss",把 history buffer 的复用率从 60% 提升到 78%,显著改善快速运动时的 ghost。
把三者放进一张表格比较:
| 维度 | DLSS 3 | FSR 3 | XeSS 2 |
|---|---|---|---|
| 内部渲染分辨率 | 1/3 到 1/2 | 1/2 到 1/1.5 | 1/2 到 1/1.5 |
| Frame Generation | OFA 硬件加速 | 软件光流(2.0+) | 无 FG(仅 super-res) |
| Tensor Core | 必需(任意代) | 不需要(CPU/GPU 都行) | DP4a 必需,XMX 优先 |
| History buffer 格式 | 16F RGB + 8F conf + 8F var | 16F RGB + 8F lock | 16F RGB + PAC fallback |
| Motion vector 精度要求 | sub-pixel(必须) | pixel-level(容忍) | sub-pixel(必须) |
| Mobile 平台支持 | 无(仅桌面 + Tegra) | 有(FSR Mobile) | 有(核显 DP4a) |
| 训练数据量 | ~500 小时 16K 离线渲染 | ~200 小时开源场景 | ~150 小时混合场景 |
注意"motion vector 精度要求"这一行:DLSS 3 与 XeSS 都要求 motion vector 是 sub-pixel 精度(每个像素 8-bit + 8-bit fraction),这意味着游戏引擎必须开启 sub-pixel motion blur 才能用,FSR 3 容忍 pixel-level 的 8-bit 整数 motion vector,对低端平台的引擎兼容性更好。
工程上的一个常见误区是"用 DLSS 3 就不用 TAA 了"——实际上 DLSS 3 内部仍有一层 TAA 风格的 history accumulation,只是把 final color 的 upsampling 交给了 CNN。如果关闭引擎自带的 TAA 直接接 DLSS 3 的 SDK,会看到比"全 DLSS"更多的 flicker,因为 DLSS 3 的 CNN 假设引擎已经做过 jitter + 8-tap box filter。
Unreal Engine 5.3 引入的 TSR(Temporal Super Resolution)是当下最完整的 hand-written upsampler。它的内部管线分成 5 个 pass:
图表加载中…
每个 pass 的工程细节都值得展开。Velocity Reprojection 用当前帧的 motion vector 把 history buffer 的每个像素 warp 到当前帧的屏幕空间,这个过程涉及一次 bilinear fetch + depth comparison(防止 warp 后的像素被前景遮挡)。Disocclusion Detect 把 reprojection gap(来自 velocity + depth 的差值)转成 0/1 mask,再做一次 3×3 dilation。Neighborhood Clamp 在当前帧 + reprojected history 上做 8-tap min/max clamping。Bicubic Upsample 是经典的 Catmull-Rom 双三次插值,从 1/2 分辨率升到目标分辨率。Sharpening Pass 是 RCAS(Robust Contrast-Adaptive Sharpening),根据 local luma variance 自适应增强边缘。
TSR 的质量优化集中在 Disocclusion Detect 与 Neighborhood Clamp 两个 pass 上。2026 年的 TSR 5.x 引入了 "history confidence" 概念:每个像素保存一个 8-bit 的 confidence value ,每次 Neighborhood Clamp 失败时 衰减 32,每次 Neighborhood Clamp 成功时 增 16。这个机制让快速运动场景的 "history weight" 在 2–3 帧内迅速从 1.0 降到 0.3,避免 ghost 残留。
TSR 相比 DLSS 3 的最大优势是可解释性——每一个 pass 的输入输出都是明确的 RTG,可以用 RenderDoc / PIX 完整 dump 出所有 5 个 pass 的中间结果。CNN-based upsampler 是个黑盒,调试时只能看输入 + 最终输出,找不到 ghost 的具体来源。这个优势在 mobile 平台尤其重要——Mali / Adreno 上 CNN 推理的稳定性不如桌面端,工程师需要能精确诊断每一帧的 history confidence。
motion vector 的精度是 TSR 的最大瓶颈。UE 5.3 的 motion vector 默认是 RG16F(16-bit float × 2 channel),sub-pixel 精度大约在 1/256 NDC。当相机做高速平移 + 同时 zoom 时,motion vector 会出现 "velocity explosion"——边缘像素的 motion vector 溢出到 ±∞,history warping 直接失败。TSR 5.x 的 fix 是加一个 velocity scaling pass:当 max(|motion_vector|) > 8 时按比例缩小所有 motion vector,代价是边缘会出现 1–2 像素的 ghost。FSR 3 用一个更激进的 fix:在 motion vector pass 之后立刻做一个 3×3 median filter 把孤立的 outlier 过滤掉,效果更好但 motion blur 的精度会下降。
把 TAA、TSR、DLSS 3、FSR 3、XeSS 放进同一个 framework,可以看到一个三层抽象:
图表加载中…
L1 样本层负责"时序",它的核心问题是 history buffer 的 reuse rate。Reuse rate 越高,画面越稳,但 ghost 风险越大。Reuse rate 由三个因素决定:motion vector 的精度、disocclusion mask 的密度、material ID 的可信度。Reuse rate 在 60% 以下的画面看起来是 "空间超分",每个像素更像 spatial upscale;reuse rate 在 80% 以上的画面看起来是 "时序超分",细节保留好但 ghost 风险高。工业目标是 70–75% 的 reuse rate,让细节保留与 ghost 风险都达到平衡。
L2 空间层负责"上采样 + 锐化",它的核心问题是 CNN / shader 的 capacity。Hand-written shader(TSR、FSR 2)的 capacity 上限是 9-tap box filter + bicubic,CNN(DLSS 3、FSR 3、XeSS)的 capacity 上限是数百万参数的网络。capacity 越高,细节还原越好,但显存占用也越高(CNN 的 intermediate tensor 通常占 8–16 MB)。Mobile 平台因为显存带宽紧张,通常只能跑 hand-written shader 路径,CNN 的显存开销承受不起。
L3 输出层负责"frame composition + presentation",它的核心问题是 input latency。Latency 由三个因素决定:base frame 的渲染时间、upsampler 的推理时间、display 的 refresh interval。DLSS 3 Frame Gen 把 base frame 渲染时间从 16 ms 降到 8 ms(30→60 FPS),但加了 16 ms 的 latency(OFA 推理 + frame composition),总 latency 反而上升 8 ms。FSR 3 Frame Gen 走 software 路径,latency 增加更少(约 8 ms),但视觉质量的伪影更多。
这三层抽象之间还有一个隐藏的耦合:L1 的 history buffer 格式会影响 L2 的 CNN 输入尺寸,进而影响 L3 的显存带宽预算。具体来说,history buffer 是 16F RGB + 8F conf + 8F var 时,每个像素占 6 字节;4K 渲染下 16M 像素 × 6 = 96 MB 的额外显存写入开销。Unreal 在 TSR 5.x 把 history buffer 简化成 16F RGB + 8F conf 共 5 字节(去掉 variance),减少了 16% 的显存带宽,代价是 disocclusion 检测的精度略有下降。
把上面的分析落到工程实践,给出 5 条可执行的推论,每条都有可量化的指标:
推论 1:默认开启 TSR / FSR / DLSS,不开 native 4K。在 4K 目标 + RTX 4070 硬件上,native 4K + TAA 的 GPU 占用率是 88–92%,TSR Quality(1080p 内部 + upscale)降到 41–48%,DLSS Quality(720p 内部 + upscale)降到 32–38%。代价是边缘锐度从 native 的 100% 降到 TSR 的 82%、DLSS 的 91%。对于 95% 的玩家来说这是一个值得的 tradeoff——多出来的 GPU 余量可以堆 post-process、阴影、粒子、或者光追加速结构。
推论 2:移动端优先 FSR Mobile 而不是 TSR。 Mali Immortalis G715 上 FSR Mobile 1.2 的耗时是 1.2–1.8 ms,TSR 的 Android 移植版是 2.4–3.1 ms(多 70–100% 的耗时)。原因是 FSR Mobile 用 8×8 tile CNN + RDNA-style optimization,对 tile-based GPU 友好,TSR 的 motion vector warping + 5 pass 在 Mali 上没有针对性优化。移动端把 FSR Mobile 与 target 720p 渲染结合,可以让原神级别的游戏跑在 90 FPS 而不是 60 FPS。
推论 3:Frame Generation 仅在 60 FPS base 上开启。 DLSS 3 / FSR 3 Frame Gen 在 base 30 FPS 上开启会让 latency 翻倍(30 → 60 FPS 但 input lag 从 33 ms 升到 49 ms),玩家会感觉"不跟手"。Base 60 FPS 开启 Frame Gen 让 latency 从 16 ms 升到 32 ms,仍在可接受范围(电竞级显示器刷新 240 Hz 的总 lag 约 30–40 ms)。3A 单机游戏推荐 base 60 + FG,竞技 / 多人 FPS 慎用。
推论 4:motion vector 精度优先于 history buffer 大小。 把 motion vector 从 RG16F 升级到 RG32F(双精度浮点)会让 reprojection 精度提升 2.6×,历史样本的 reuse rate 从 60% 升到 78%,整个 upsampler 的质量提升显著。代价是 motion vector pass 的写入带宽增加 50%。把 history buffer 从 16F RGB + 8F conf + 8F var 升级到 32F RGB + 16F conf + 16F var 几乎没收益(视觉上分不出来),只是浪费带宽。优先优化 motion vector,不要堆 history buffer。
推论 5:profiler 一定要 dump history buffer。 调试 TSR / DLSS / FSR 时,看不到 history buffer 等于盲调。Unreal 在 TSR 的 r.TSR.History.OutputToFile=1 下可以把 history buffer dump 成 EXR,NVIDIA Nsight Graphics 可以 dump DLSS 3 的所有中间 tensor。AMD RGP 不直接支持 FSR 3 中间 buffer 的 dump,但可以通过 RenderDoc 抓 frame。给团队配一个 "TSR Debug" build flag,把当前帧 + 上一帧 + disocclusion mask + reprojected history 一起 dump 到 /tmp/tsr_debug_$frame.png,ghost 问题的定位时间从平均 4 小时降到 30 分钟。
时序超分与硬件光追的耦合在 2026 年是前沿话题。NVIDIA Blackwell GPU 上的 RTX 50 系列把 ray tracing 与 DLSS 4 紧耦合——RT Core 计算 motion vector,OFA 计算 frame generation,Tensor Core 计算 upsampling,三者共享一个 unified scheduler,避免了把 motion vector / disocclusion / history 在不同硬件单元之间搬来搬去的延迟。AMD RDNA 4 把 ray accelerator 与 WMMA(Wave Matrix Multiply Accumulate)共享一个 SIMD lane,让 FSR 4 可以在 RT pass 之间穿插执行。
路径追踪(Path Tracing)的完全光栅化 + 时序累积方案在 2026 年的 3A 单机里开始出现。Unreal 的 "Lumen Hardware RT" 把 screen-space probe 与 hardware ray tracing 融合,输出 per-pixel 的 radiance + confidence;时序超分把这两个 buffer 都累积起来,4 帧内 radiance 的 variance 降到 1/8。Path tracing + TSR Quality 的组合在 RTX 4080 上能达到 4K 60 FPS(不开 FG),是 2026 年 3A 渲染的 "default high-end preset"。
可变率着色(Variable Rate Shading,VRS)让 GPU 可以对屏幕不同区域用不同的 shading rate。时序超分对 VRS 是天然友好的——低分辨率渲染区域(fast motion 区)可以用 2×2 shading rate,高分辨率区域(UI / 前景角色)用 1×1。NVIDIA Ada 与 Blackwell 的 VRS 1.0 是 16×16 tile granularity,Intel Arc Battlemage 是 8×8,AMD RDNA 4 是 32×32(更粗但更低开销)。在 2026 年的工程实践中,VRS + TSR 的组合可以让 4K 渲染的 fillrate 再降 12–18%。
最后是 latency 与 ray reconstruction 的 trade-off。NVIDIA 的 RTXR (Ray Reconstruction) 在 RTX 40/50 系列上把传统 denoiser(spatial + temporal)升级成 CNN-based denoiser,输入是 raw ray samples + motion vector + depth + normal,输出是 denoised radiance。RTXR 与 TSR / DLSS 的耦合是共享 motion vector 与 history buffer,避免重复计算。在 RTX 50 系列上 RTXR + DLSS 4 + FG 的组合能让光追 3A 在 4K 120 FPS 下运行,是 2026 年 PC 旗舰游戏的标配。
给引擎开发者一份 9 条的可观测性清单,每条都对应一个具体的 debug 工具或 build flag:
r.TSR.Validation 1(Unreal)/ FSR3.DebugOutput 1(AMD)让 history buffer 与 disocclusion mask 直接渲染到屏幕。9 条未公开验证的猜想(截至 2026 年 9 月 22 日未见公开数据):
Conversation
0 条