FidelityFX Super Resolution

本示例演示了 FidelityFX Super Resolution 4.0.2(以及 3.1.5 和 2.3.4)的缩放以及 FidelityFX 帧生成 3.1.5 的使用。
有关底层算法的详细信息,请参阅 FSR4 缩放 和 帧插值 的各技术文档。
要求
- Windows
- DirectX(R)12
UI 元素
示例包含各种 UI 元素,以帮助您探索其演示的技术。下表总结了 UI 元素及其在示例中的控制功能。
| 元素名称 | 值 | 描述 |
|---|---|---|
| 粒子动画 | 选中,未选中 | 启用或禁用粒子发射,用于演示响应掩码的使用。 |
| 方法 | 原生, FSR | 用于选择缩放方法,可以是原生分辨率(无缩放)或使用 FSR 进行缩放。 |
| FSR 版本 | 3.1.4, 2.3.3 | 选择要使用的 FSR 缩放器版本。 |
| 预设比例 | 原生 AA (1.0x), 质量 (1.5x), 平衡 (1.7x), 性能 (2x), 超高性能 (3x), 自定义 | 选择代表从渲染分辨率到显示分辨率的缩放因子的缩放预设。 |
| Mip LOD 偏差 | -5.0..0.0 | 用于选择 G-Buffer 传递期间采样纹理时应用的 mipmap 偏差量。 |
| 自定义比例 | 1.0..3.0 | 当“预设比例”设置为“自定义”时,允许设置自定义缩放因子。 |
| 信箱大小 | 0.2..1.0 | 设置为小于 1 的值时,在帧周围添加黑色边框。 |
| 重置缩放 | 点击时,为一帧设置缩放重置标志,模拟不连续的相机更改。 | |
| 绘制缩放器调试视图 | 选中,未选中 | 切换缩放器调试视图。请参阅下面的说明。 |
| 响应掩码模式 | 禁用, 手动生成响应掩码, 自动生成 FSR2 辅助函数 | 用于选择生成响应掩码的方法。可以完全禁用它,通过绘制透明对象手动生成,或使用 FSR 2 提供的辅助函数自动生成。 |
| 使用透明度和组合掩码 | 选中,未选中 | 切换透明度和组合掩码的使用。 |
| RCAS 锐化 | 选中,未选中 | 切换 RCAS 锐化的使用。 |
| 锐度 | 0.0..1.0 | 如果启用了 RCAS,则更改应用的锐度量。 |
| Upscaler CB 键 | fVelocity, fReactivenessScale, fShadingChangeScale, fAccumulationAddedPerFrame, fMinDisocclusionAccumulation | 选择 KeyValue API 中公开的缩放器调整旋钮 |
| Upscaler CB 值 | -1.0..2.0 | 更改时,调用 KeyValue API 将此值设置为缩放器调整旋钮 |
| 调试器 | 禁用, 启用。设置 nullptr 消息回调, 启用。设置 Cauldron 消息回调 | 在所有 ffx-api 上下文中选择调试检查器行为。调试检查器是禁用、启用并输出消息到调试器 TTY,还是启用并输出消息到应用程序的回调。当 FFX_FSR3UPSCALER_ENABLE_DEBUG_CHECKING 或 FFX_FRAMEGENERATION_ENABLE_DEBUG_CHECKING 标志位更改时,将重新创建上下文。 |
| 帧插值 | 选中,未选中 | 切换帧生成。 |
| 支持异步计算 | 选中,未选中 | 切换在创建上下文期间设置的异步计算标志。 |
| 允许异步计算 | 选中,未选中 | 切换异步计算队列的使用。 |
| 使用回调 | 选中,未选中 | 切换帧生成回调的使用。 |
| 使用失真场输入 | 选中,未选中 | 切换 distortionField 纹理的使用。 |
| 绘制帧生成撕裂线 | 选中,未选中 | 在窗口的左侧和右侧切换撕裂指示器。 |
| 绘制帧生成同步线 | 选中,未选中 | 在窗口左侧切换 2 条垂直线。最左边的线在绿色和洋红色之间交替。另一条线在黑色和白色之间交替。如果同步正确,用户应该会看到两条灰色线。 |
| 绘制帧生成重置指示器 | 选中,未选中 | 在窗口顶部切换重置指示器。 |
| 绘制帧生成调试视图 | 选中,未选中 | 切换帧生成调试视图。请参阅下面的说明。 |
| 仅呈现插值帧 | 选中,未选中 | 启用时,只显示插值帧。 |
| 重置帧插值 | 点击时,为一帧设置帧生成重置标志,模拟不连续的相机更改。 | |
| 模拟帧跳过 | 点击时,通过将帧 ID 加一倍来模拟跳过一帧的呈现。 | |
| UI 组合模式 | 无 UI 处理(不推荐),UiTexture,UiCallback,Pre-Ui Backbuffer | 选择渲染生成帧的用户界面的方法。 |
| 交换链中的 UI 资源双缓冲 | 选中,未选中 | 切换交换链上下文中的 UI 资源双缓冲。 |
| Waitcallback 模式 | nullptr, CAUDRON_LOG_DEBUG(waitCallback) | 启用时,帧插值交换链将在选定的位置调用 waitcallback。例如,当窗口大小调整时间超过 1 毫秒时。 |
| 帧同步 safetyMarginInMs | 0.0..1.0 | 更改帧插值交换链同步调整 safetyMarginInMs 值。 |
| 帧同步 varianceFactor | 0.0..1.0 | 更改帧插值交换链同步调整 varianceFactor 值。 |
| 帧同步 allowHybridSpin | 选中,未选中 | 切换帧插值交换链 presenterthread 在等待目标 QPC 或在呈现帧之前是否使用混合自旋而不是忙自旋。 |
| 帧同步 hybridSpinTime (以计时器分辨率为单位) | 0.0..10.0 | 更改插值交换链 presenterthread 在检查是否达到已完成帧的目标 QPC 之间的睡眠时间。 |
| 帧同步 allowWiatForSingleObjectOnFence | 选中,未选中 | 切换帧插值交换链 interpolationThread 是否使用 WaitForSingleObject 而不是忙自旋等待 interpolationFence。 |
Upscaler 调试视图
启用缩放器调试视图时,将显示以下内容
帧生成调试视图和标记
启用帧生成调试视图时,将显示以下内容
除了调试视图外,还可以启用几个可能出现在窗口两侧和顶部的标记。
如果启用了撕裂线,将在每个生成帧的左侧绘制一条绿线,并在每个生成帧的右侧绘制一条颜色变化的线。这将有助于可视化插值帧是否被呈现以及帧是否以启用撕裂的方式呈现。
如果启用了重置指示器,当帧生成被手动重置时,将在屏幕顶部显示一条红线;当光流算法检测到不连续的相机更改时,将显示一条蓝线。
设置 FidelityFX Super Resolution 3
该示例包含一个专用的 FSR 渲染模块,该模块创建上下文并控制其生命周期。有关更多信息,请参阅 FidelityFX Super Resolution 3.1 概述与集成文档。
示例控件和配置
有关示例控件、配置以及 FidelityFX Cauldron 框架 UI 元素详情,请参阅 运行示例。