NVIDIA-RTX/Streamline
Streamline Integration Framework
NVIDIA RTX Streamline (SL) – SDK Overview
What it is
- An open‑source SDK that lets game and graphics developers add NVIDIA (and other vendors’) super‑resolution and related AI‑enhanced graphics effects to their applications with a single integration point.
- Provides a thin “interposer” layer that routes rendering calls to the appropriate hardware‑specific plugins (e.g., DLSS, DLSS‑G, Reflex, NIS).
Why it matters
- Super‑resolution (DLSS) and frame‑generation (DLSS‑G) use deep‑learning models to upscale frames and increase perceived frame‑rate while keeping visual quality high. Streamline abstracts the vendor‑specific details so developers don’t have to write separate code for each technology.
- Works on any GPU that supports DirectX 11 or Vulkan 1.2+, making it usable on a wide range of Windows PCs.
Key components
| Component | Role |
|---|---|
Core SDK (bin/, include/, lib/) |
Pre‑built binaries and headers needed to link against Streamline in your app. |
| Plugins | Individual DLLs that implement specific effects (DLSS, DLSS‑G, Reflex, NIS). All are supplied as signed binaries except the DLSS‑G plugin, which is only available pre‑built. |
| Build system | A single premake5.lua script drives generation of Visual Studio projects. setup.bat pulls external dependencies via NVIDIA’s packman tool, then creates the solution in _project\vs2019. |
| Sample code | A template plugin (source/plugins/sl.template) and a separate sample application repo demonstrate how to hook Streamline into a game. |
| Debug & logging | ImGui‑based realtime inspection, JSON config files, and configurable logging (registry or env‑vars). |
Typical workflow
- Download binaries – Grab the release zip from the GitHub Releases page; it contains the signed DLLs and the SDK folder structure.
- Integrate – Add the
includeheaders and link against thelibfiles. Call the Streamline API as described in the ProgrammingGuide docs. - Configure – Enable desired plugins (DLSS, Reflex, NIS, etc.) via JSON files or the ImGui UI.
- Optional: rebuild – If you need a custom build, run
setup.bat(pulls dependencies) thenbuild.bat -{debug|develop|production}. Only the DLSS‑G plugin remains closed‑source. - Package – Use
package.batto produce a distributable SDK folder.
Supported features (as of v2.14.16)
- DLSS Super‑Resolution – AI‑upscaling of rendered frames.
- DLSS Frame Generation (DLSS‑G) – Generates intermediate frames to boost perceived FPS.
- Reflex – Reduces system latency for competitive gaming.
- NIS (NVIDIA Image Scaling) – Traditional up‑scaling/sharpening algorithm.
Prerequisites
- Windows 10 20H1+ with a DirectX 11/Vulkan 1.2‑compatible GPU.
- NVIDIA driver 512.15 or newer (if using an NVIDIA card).
- Visual Studio 2019+ (or VS Code) with the Windows 10 SDK (10.0.19041+).
- Git and Python 3 (only needed if you want to recompile NIS shaders).
Getting started
# Clone the repo
git clone https://github.com/NVIDIA-RTX/Streamline.git
cd Streamline
# Pull dependencies and generate VS solution
setup.bat
# Build (default debug, x64)
build.bat -debug
# Package the SDK for distribution
package.bat -production
Documentation links
- High‑level overview: https://developer.nvidia.com/rtx/streamline
- Programming guides:
docs/ProgrammingGuide*.md - Debugging: ImGui UI and JSON config docs in
docs/ - Sample app: https://github.com/NVIDIA-RTX/Streamline_Sample
Who should use it
- Game engine developers who want to add AI‑upscaling, latency reduction, or image‑scaling without writing vendor‑specific code.
- Graphics programmers needing a low‑overhead interposer that can be manually hooked for custom pipelines.
- Studios targeting Windows PCs with RTX or other compatible GPUs.
Contribution
- Follow the
CONTRIBUTING.mdguidelines for issue reporting and pull‑request submissions. - Do not modify the public headers unless you understand the API impact, as it can break compatibility with NVIDIA‑signed binaries.
All information above is taken directly from the repository’s README.
Related
- Project
- Project
- Project
- Project
- Project