NVIDIA-RTX/Streamline
Streamline Integration Framework
NVIDIA RTX Streamline (SL) – SDK 概述
它是什么
- 一个开源 SDK,允许游戏和图形开发者通过单一集成点将 NVIDIA(及其他供应商的)超分辨率和相关 AI 增强图形效果添加到其应用程序中。
- 提供一个轻量级的“拦截器”层,将渲染调用路由到相应的硬件特定插件(例如 DLSS、DLSS-G、Reflex、NIS)。
为什么重要
- 超分辨率(DLSS)和帧生成(DLSS-G)使用深度学习模型来放大帧并提高感知帧率,同时保持高视觉质量。Streamline 抽象了供应商特定的细节,因此开发者无需为每种技术编写单独的代码。
- 适用于任何支持 DirectX 11 或 Vulkan 1.2+ 的 GPU,使其可用于广泛的 Windows PC。
关键组件
| 组件 | 作用 |
|---|---|
核心 SDK (bin/, include/, lib/) |
预构建的二进制文件和头文件,用于在应用程序中链接 Streamline。 |
| 插件 | 实现特定效果(DLSS、DLSS-G、Reflex、NIS)的独立 DLL。除 DLSS-G 插件外,所有插件均以签名二进制文件形式提供,DLSS-G 插件仅提供预构建版本。 |
| 构建系统 | 单个 premake5.lua 脚本驱动 Visual Studio 项目的生成。setup.bat 通过 NVIDIA 的 packman 工具拉取外部依赖项,然后在 _project\vs2019 中创建解决方案。 |
| 示例代码 | 模板插件(source/plugins/sl.template)和单独的示例应用程序仓库演示了如何将 Streamline 集成到游戏中。 |
| 调试与日志 | 基于 ImGui 的实时检查、JSON 配置文件以及可配置的日志记录(注册表或环境变量)。 |
典型工作流程
- 下载二进制文件 – 从 GitHub Releases 页面获取发布 zip;其中包含签名 DLL 和 SDK 文件夹结构。
- 集成 – 添加
include头文件并链接lib文件。按照 ProgrammingGuide 文档中的描述调用 Streamline API。 - 配置 – 通过 JSON 文件或 ImGui UI 启用所需插件(DLSS、Reflex、NIS 等)。
- 可选:重新构建 – 如果需要自定义构建,请运行
setup.bat(拉取依赖项),然后运行build.bat -{debug|develop|production}。只有 DLSS-G 插件保持闭源。 - 打包 – 使用
package.bat生成可分发的 SDK 文件夹。
支持的功能(截至 v2.14.16)
- DLSS 超分辨率 – 渲染帧的 AI 放大。
- DLSS 帧生成 (DLSS-G) – 生成中间帧以提高感知 FPS。
- Reflex – 降低系统延迟,适用于竞技游戏。
- NIS(NVIDIA 图像缩放) – 传统放大/锐化算法。
先决条件
- Windows 10 20H1+,配备 DirectX 11/Vulkan 1.2 兼容 GPU。
- NVIDIA 驱动 512.15 或更新版本(如果使用 NVIDIA 显卡)。
- Visual Studio 2019+(或 VS Code)以及 Windows 10 SDK(10.0.19041+)。
- Git 和 Python 3(仅当需要重新编译 NIS 着色器时需要)。
入门
# 克隆仓库
git clone https://github.com/NVIDIA-RTX/Streamline.git
cd Streamline
# 拉取依赖项并生成 VS 解决方案
setup.bat
# 构建(默认调试,x64)
build.bat -debug
# 打包 SDK 以进行分发
package.bat -production
文档链接
- 高级概述:https://developer.nvidia.com/rtx/streamline
- 编程指南:
docs/ProgrammingGuide*.md - 调试:ImGui UI 和
docs/中的 JSON 配置文档 - 示例应用程序:https://github.com/NVIDIA-RTX/Streamline_Sample
谁应该使用它
- 希望添加 AI 超分辨率、延迟降低或图像缩放而无需编写特定于供应商代码的游戏引擎开发者。
- 需要低开销拦截器以手动挂钩自定义管线的图形程序员。
- 面向配备 RTX 或其他兼容 GPU 的 Windows PC 的工作室。
贡献
- 遵循
CONTRIBUTING.md指南进行问题报告和拉取请求提交。 - 不要修改公共头文件,除非您了解 API 影响,因为这可能会破坏与 NVIDIA 签名二进制文件的兼容性。
以上所有信息均直接取自仓库的 README。
相关
- 项目
- 项目
- 项目
- 项目
- 项目