• <xmp id="om0om">
  • <table id="om0om"><noscript id="om0om"></noscript></table>
  • 3 月 19 日下午 2 點,鎖定 NVIDIA AI 網絡中文專場。立即注冊觀看
    內容創建/渲染

    如何借助 NVIDIA Streamline 將 NVIDIA DLSS 4 集成到您的游戲中

    NVIDIA DLSS 4 是 NVIDIA GeForce RTX 50 系列 GPU 中引入的 DLSS 的最新版本。它包含多項新功能:

    • DLSS 多幀生成: 已為 GeForce RTX 50 系列 GPUs 引入多幀生成,允許每渲染幀生成多達 3 幀。
    • DLSS Ray Reconstruction & DLSS Super Resolution (Beta): :已更新,可使用新的 Transformer 模型,提高時間穩定性、動態細節和照明細節。
    • DLSS 幀生成 :幀生成模型經過更新,可在 GeForce RTX 50 和 RTX 40 系列 GPUs 上運行更快,并使用更少的 VRAM。
    DLSS 4|

    下面介紹如何在集成中開始使用 DLSS 4、本文重點介紹 Streamline SDK ,它提供了一個即插即用的框架,可簡化插件集成。

    簡化 SDK 集成概述

    NVIDIA Streamline SDK 是一個開源框架,可簡化將 NVIDIA DLSS 和其他硬件供應商提供的各種超分辨率技術集成到游戲和應用中的過程。它使您能夠通過游戲引擎中的單個集成點實施多個放大解決方案。

    A diagram shows a top layer of a game or 3D application with tasks such as rendering, raster, anti-aliasing, post effects, tonemap, and UI. The next layer is the Streamline SDK, with NVIDIA plug-ins providing multi-frame generation, super resolution ray reconstruction, NVIDIA Reflex, and image scaling, along with a hardware vendor and the Super Resolution SDK. The final layer is the Render API with DirectX 11 and 12 and Vulkan (beta).
    圖 1. Streamline SDK 架構

    要將 Streamline 添加到您的應用中,請按照 Streamline 手動連接指南進行操作。無需任何功能即可集成,并專注于手動連接和資源狀態跟蹤等任務。

    在加載 DLL 之前,請先驗證 NVIDIA,并在 sl.itnerposer.dll 上簡化雙重簽名。遵循編程指南中的安全部分中的驗證流程。

    檢查每個 DLSS 4 功能的系統 (硬件和軟件) 支持,并根據報告的硬件支持向最終用戶顯示適當的錯誤消息。

    DLSS 多幀生成集成概述

    DLSS 幀生成是一項 NVIDIA 技術,該技術利用 AI 在游戲中的現有幀之間生成更多幀,從而顯著提高幀率,并在 NVIDIA GeForce RTX 50 Series 和 NVIDIA RTX 40 Series GPUs 上實現更流暢的游戲體驗。

    在 DLSS 4 中,NVIDIA 引入了多幀生成技術,該技術可在 GeForce RTX 50 Series GPUs 上為每一渲染幀多生成三個幀。有關更多信息,請參閱 DLSS Frame Generation Programming Guide

    Screenshot of the same game still image twice, one with 28 FPS, DLSS off, and full RT on and the other with 242 FPS, DLSS 4, and full RT on.
    圖 2、與 DLSS 4 Multi Frame Generation 的區別

    使用 Streamline 集成 DLSS Multi Frame Generation。除了標記為 DLSS Super Resolution 的資源 (例如 Hudless 和 UI Color 或 Alpha) 外,還傳遞適當的常量、攝像頭矩陣和輸入資源。另外,請務必在適當時禁用 DLSS Multi Frame Generation,例如菜單中或場景過渡。

    使用 Streamline Imgui 插件驗證輸入是否正確,并使用開發 DLL 實現緩沖區可視化。

    DLSS 多幀生成檢查清單

    以下是集成檢查清單:

    • 所有必需的輸入都將傳遞給 Streamline:
      • 深度緩沖區
      • 運動矢量
      • 無 HUD 色彩緩沖區
      • UI 顏色緩沖區
    • 我們使用 slSetConstantsslSetFeatureConstants 方法為每一幀提供常用常量和幀索引。
    • 所有標記緩沖區在幀出現時均有效,且不會重復用于其他目的。
    • 緩沖區的唯一 ID 為 0
    • 隨常用常量提供的幀索引與呈現的幀相匹配。
    • 對于多幀生成,numFramesToGenerate 的設置比乘數模式小 1。例如:2x 設置為 1,3x 設置為 2,4x 設置為 3
    • 傳入 Streamline 的輸入看起來正確,攝像頭矩陣和動態對象也是如此。
    • 應用程序會檢查 sl.interposer.dll 的簽名,以確保它是真正的 NVIDIA 庫。
    • 如果游戲支持,則需滿足動態分辨率要求。
    • 在以下情況下,通過將 sl::DLSSGOptions::mode?設置為?sl::DLSSGMode::off?來禁用 DLSS 幀生成:
      • 游戲暫停時
      • 加載
      • 菜單中
      • 修改分辨率
      • 在全屏模式和窗口模式之間切換
      • 不渲染游戲幀
    • 每次打開或關閉 DLSS 幀生成時,系統都會通過更改 sl::DLSSGOptions::mode 來重新創建交換鏈。這可避免在關閉 DLSS 幀生成時產生不必要的性能開銷。
    • 動態模糊量減少。當 DLSS 幀生成啟用后,將動態模糊的距離和大小減半。
    • Reflex 已正確集成。有關更多信息,請參閱 Reflex 編程指南 中的檢查清單。
    • 啟用或禁用 DLSS 幀生成的游戲中用戶界面遵循 NVIDIA RTX UI 指南
    • 在發布版本中,只有完整的生產、非水印庫被打包。
    • 運行該功能時,Streamline 和 DLSS 幀生成日志文件中沒有出現任何錯誤或意外警告。
    • Hudless 和 UI Color 和 Alpha 緩沖區的范圍分辨率或資源大小 (以使用中的大小為準) 與反向緩沖區的范圍分辨率或資源大小完全匹配。
    • 菜單中的 VSync 設置已關聯到 sl::DLSSGState::bIsVsyncSupportAvailable

    DLSS 超分辨率集成概述

    DLSS 超分辨率是一項 NVIDIA 技術,可利用 AI 將低分辨率圖像升級到更高分辨率,從而提升游戲性能。有關更多信息,請參閱 DLSS 編程指南

    The diagram shows a standard graphic sent through the DLSS neural network, which results in a higher-quality graphic.
    圖 3、使用 DLSS Super Resolution 的高質量圖形

    使用 Streamline,在進行所有后處理之前,傳遞必要的輸入資源并設置放大管線。驗證 DLSS Super Resolution 帶來的 IQ 和性能優勢。

    DLSS 超分辨率檢查清單

    以下是集成檢查清單:

    • 在初始化期間使用特定于游戲的應用程序 ID。
    • DLSS 超分辨率盡可能在后處理開始時集成。
    • 啟用 DLSS 光線分辨率后,系統會設置 Mip-map 偏差。否則,紋理將顯得模糊、模糊或低分辨率。
    • 所有場景、材質和對象的運動矢量均準確無誤。
    • 確認靜態場景解析和兼容抖動。抖動不正確或缺失會導致抗鋸齒效果不佳和閃爍增加。
    • 在每一幀或啟用 auto-exposure 時,都會正確發送 Exposure 值。
    • 系統會查詢 DLSS 模式,并允許用戶在用戶界面中選擇 DLSS 模式,或啟用動態分辨率支持并對其進行測試。
    • 完整的無水印生產 DLSS 庫 (nvngx_dlss.dll) 已封裝在版本構建中。
    • 在場景更改、視圖更改 (例如將第一人稱更改為第三人稱) 或轉換場景中的鏡頭跳轉期間,系統會將“Camera Reset”標志傳遞給相關人員。
    • 當不再需要 DLSS 時,系統會執行 NGX 清理或關閉程序。否則,您將泄露資源/內存。

    DLSS 應僅取代主渲染目標上的主要 upscale 通道,而不應用于陰影和反射等次要緩沖區。

    DLSS Ray Reconstruction 集成概述

    DLSS 光線重建技術可提高路徑追蹤和密集型光線追蹤內容的畫質。它通過將手動調整的降噪器替換為 NVIDIA 超級計算機訓練的 AI 網絡來實現這一點,該網絡可在采樣光線之間生成更高質量的像素。如需了解更多信息,請參閱 DLSS Ray Reconstruction Programming Guide

    Two versions of a still image from the game Cyberpunk show DLSS off in Overdrive mode and DLSS 3.5 in Overdrive mode with Ray Reconstruction.
    圖 4、啟用和禁用 DLSS Ray Reconstruction

    ALT 文本:“賽博朋克”游戲中靜態圖像的兩個版本在 Overdrive 模式下關閉 DLSS,在 Overdrive 模式下通過光線重建功能關閉 DLSS 3.5

    DLSS 光線分辨率是 DLSS 超分辨率的新增功能,并使用相同的性能質量模式。確保首先集成 DLSS 超分辨率。然后,使用 Streamline SDK 集成 DLSS 光線重建。驗證 DLSS 光線重建帶來的 IQ 和性能優勢。

    Ray Reconstruction 集成檢查清單

    以下是集成檢查清單:

    • 在初始化期間使用特定于游戲的應用程序 ID。
    • DLSS 光線重建和 DLSS 超分辨率均在后處理開始時或盡可能接近開始時集成。
    • 工作流中的其他降噪器 (例如 NRD) 將完全禁用。
    • 如果您之前將 ePresetAePresetB 設置為 eDefault,則會將 DLSSDPreset 設置為 tg_18。
    • 啟用 DLSS 光線重建后,系統會設置 Mip-map 偏差。否則,紋理將顯得模糊、模糊或低分辨率。
    • The required buffers are provided.
      • DLSS 光線重建需要線性深度,這不同于為 DLSS 超分辨率和 DLSS 幀生成提供的緩沖區。使用專門為此提供的 kBufferTypeLinearDepth
    • 如果所提供的深度緩沖區采用反向 z 排序,則設置 Inverted Depth 位。
    • 所有場景、材質和物體的運動矢量和鏡面運動矢量均準確無誤。
    • 確認靜態場景解析和兼容抖動。抖動不正確或缺失會導致抗鋸齒效果不佳和閃爍增加。
    • 系統會查詢 DLSS 模式,并允許用戶在用戶界面中選擇 DLSS 模式,或啟用動態分辨率支持并對其進行測試。
    • 您可以使用 DLSS RR 啟用和禁用開關。
    • 完整的量產版、無水印的 DLSS Ray Reconstruction 庫 (nvngx_dlssd.dll) 已封裝在發行版中。
    • 在場景更改、視圖更改 (例如將第一人稱更改為第三人稱) 或轉換場景中的鏡頭跳轉期間,系統會將“Camera Reset”標志傳遞給相關人員。
    • 當不再需要 DLSS 時,系統會執行 NGX 清理和關閉程序。否則,您將泄露資源和內存。

    總結?

    在本文中,我介紹了如何集成 DLSS 4 功能,并重點介紹了簡化插件集成的 Streamline SDK 。有關如何立即開始使用的更多信息,請參閱 NVIDIA DLSS

    ?

    0

    標簽

    人人超碰97caoporen国产