中EN

Temporal Super Resolution

  • Amortizes costly rendering across many frames; Nanite detail at low enough resolution for Lumen performance.
  • "Temporal Super Resolution happens after depth of field and everything that follows is upscaled, such as motion blur, bloom".
  • Platforms: SM5+ desktop, PS5, Xbox; identical quality across platforms; optimized for AMD RDNA (16-bit, packed).
  • Caveat: accumulation depends on screen percentage AND frame rate; CPU-bound or VSync affects it. stat tsr. TSR feed = RenderWRenderHFPS (4K@50%@60Hz = 124.4 MP/s = 1080p@100%@60Hz). TSR 1spp = 1000/(SP^2*FPS) ms (50%@60Hz = 66.6 ms; 100%@60Hz = 16.6 ms). 50% -> 4 frames for one sample per pixel.
  • GPU cost scales with resolution, part at display resolution. Valley of the Ancient ~0.79 ms at 100% vs ~0.43 ms at 50%. Parallax heuristic uses depth & velocity -> async compute (r.TSR.AsyncCompute). Fortnite Ch4 PS5/XSX: effective TSR 1.5 ms, critical path 1.1 ms.
  • sg.AntiAliasingQuality 0-4; extreme upscaling <50% only for >4K or dynamic res.
  • Hidden costs: post passes after TSR run at display resolution; motion blur half-res optimizations.
  • Debug: VisualizeTemporalUpscaler, VisualizeTSR (r.TSR.Visualize 0-7), DumpGPU (r.DumpGPU.Root, FrameCount...).
  • Components: History (at display resolution; History Update most expensive pass); Parallax Disocclusion heuristic (depth+velocity); Shading Rejection ("handwritten network of convolutions"); Flickering Temporal Analysis (moire; luminance only); History Resurrection (older persistent frames in Texture2DArray); Spatial Anti-Aliaser (FXAA-style, for camera cuts/new content); Reprojection Field (Jacobian 2x2 per pixel).
  • Nyquist-Shannon history: reprojection interpolation causes blur ("can look like they have a resolution of 540p when displaying at 1080p while movement is happening"); Epic/Cinematic store history at 200% (r.TSR.History.ScreenPercentage=200), Mitchell-Netravali downsample; history update 4x more expensive.
  • Animated WPO needs Previous Frame Switch node. Translucency doesn't draw velocity by default -> Output Depth and Velocity; After-DOF translucency gets dedicated blur convolution. Has Pixel Animation flag for panning textures. Ghosting troubleshooting: verify motion vectors first; r.Translucency.Velocity 0.
  • r.TSR.Velocity.WeightClampingSampleCount default 4; Fortnite lowers to 2 for sharpness.

引用这一章的笔记

输入关键词开始搜索

滚轮或双指缩放 · 拖动平移 · 双击放大 / 还原