HelixSR 2.0.0
HelixSR 2.0.0 brings DLSS frame generation back, faster, in one DLL.
What is new
- One DLL. HelixSR's FidelityFX DLL (
amd_fidelityfx_dx12.dll, in theHelixSR-fsrfgfolder) now does both
upscaling and DLSS frame generation. The separatehelixsr.dllis gone. - DLSS frame generation. When a game turns on DLSS frame generation, HelixSR serves as NVIDIA's frame-generation module
and runs NVIDIA's own frame generation, read by NVIDIA's own code and paced by the game's own frame-generation
presenter, on GPUs without an NVIDIA graphics card. - NVIDIA's light mode by default. Frame generation uses NVIDIA's light mode (DLSS frame generation 310.9.16) unless you
choose the full mode ([DlssFrameGeneration] Preset = full, NVIDIA's frame generation 310.3). The light mode is much
faster; HUD elements that move can show twice in generated frames. - Faster frame generation, with the same frames: the light mode takes about 20 percent less GPU time per generated
frame at 1080p and 1440p and about 11 percent less at 4K; the full mode about 6 to 11 percent less. The network's
convolutions now run on packed 16-bit math. - HelixSR Scaler handles frame generation exactly as OptiScaler does: HelixSR is a frame-generation provider next to
OptiScaler's own ([FrameGen] FGInput = nvngxfg,FGNvngxReplacement = HelixSR), for DirectX 12 games with DLSS
frame generation; the app and the setup set it when you choose frame generation. AMD FSR and Intel XeSS frame
generation stay available in the menu. - Frame generation quality in HelixSR Scaler's menu: Light (NVIDIA's light mode, the default) or Full (NVIDIA's full
mode), and QuickFlow (a faster motion estimate, with Full only). - Faster upscaling at high render resolutions: the network's output kernel has faster builds with identical images,
about 15 to 18 percent less GPU time per frame at DLAA and Ultra Quality ([Upscaling] FastOutput = offkeeps the
earlier kernels). GPUs without native 16-bit shader math get faster 32-bit builds of the output kernels and use the
GPU's own fp32 to fp16 conversion where a check at start-up finds that it rounds correctly. - Game inputs handled as NVIDIA's DLSS does around the unchanged network: masks, history reset on reuse, exposure for
non-HDR images and motion-vector offsets. - Frame generation checks the GPU against the kernels the setup built: 64-lane-wave GPUs and GPUs without native
16-bit shader math are accepted when the setup made their builds. - Upscaling for DirectX 11 and Vulkan games through HelixSR Scaler.
- AMD FSR 3 and FSR 4 stay selectable next to HelixSR in HelixSR Scaler's menu.
- Ultra Performance: the network works at twice the render size and a Lanczos pass scales to the screen (about a third
less GPU time);[Upscaling] NetworkResolution = fullruns the network at the screen size for the sharpest image,
close to NVIDIA's look. - Frame generation for more GPUs: its shaders are now built for shader model 6.6 (was 6.9), with extra builds the
setup makes for GPUs without native 16-bit shader math.
Fixes
- Memory: frame generation's memory is freed when a game turns it off, and stays in video memory with the light mode
(system memory is used only for the full mode on GPUs with 2 GiB of video memory or less;[DlssFrameGeneration] Memory = video | systemoverrides it). - A FidelityFX DLL to forward to that is not a complete FidelityFX DLL is no longer used.
- Display-resolution motion vectors that include the camera jitter are handled correctly.
helixsr.inisharpening ([Sharpening]) now also works when the game uses HelixSR through its DLSS interface (off
by default).- Wave size: 32 lanes on every GPU that supports them (RX 7000 / 9000 too), the same with and without HelixSR Scaler;
WaveSize = 64inhelixsr.inistill forces 64. - Frame generation's executor keeps copied descriptors and samplers as they were when they were copied, so a game
reusing a descriptor slot no longer changes images frame generation already uses. Its device resources are made all
or nothing. - Upscaler contexts that a game creates with its own memory allocation callbacks are no longer kept for reuse.
- Setup: a damaged network footer or a frame-generation archive without its kernels is no longer reported as built,
a failed frame-generation build removes its work folder, and downloads refuse servers that ignore range requests. - Setup: it installs into your games again, as 1.8.1 did (HelixSR Scaler with frame generation, or the FSR drop-in),
with the same files and records as the HelixSR app, so each can update or remove what the other installed; the
uninstaller is back. Shader compiling uses every CPU thread the memory allows. - Frame generation no longer turns itself off: there are no start marks any more, so a game that was closed or crashed
during start-up no longer leaves frame generation disabled at the next start.
Install
The HelixSR app (HelixSR Desktop) does everything with a click. Without the app:
- Extract
HelixSR-2.0.0.zipinto a folder you keep, close your games and runhelixsr-setup.bat(Windows) or
./helixsr-setup.sh(Linux, Steam Deck). - The first time, the setup asks before each download from NVIDIA (the DLSS DLL for the network, NVIDIA's DLSS Frame
Generation DLLs 310.3 and 310.9.16 from NVIDIA's Streamline SDK, and NVIDIA's NGX core from NVIDIA's Linux driver
package) and builds everything on your PC. It takes a few minutes. - Then it lists your games and asks for each: install? [s/f/n]. Press Enter: HelixSR Scaler (pick DLSS in the
game), or for games with anti-cheat the FSR drop-in (pick AMD FSR). It asks once whether to install frame
generation too (Enter = yes): it runs in DirectX 12 games with DLSS frame generation (turn that on in the game). - Start the game and pick what the setup says. Insert opens HelixSR Scaler's menu.
HelixSR Scaler 1.1.0 comes with the download (helixsr-scaler, GPL-3.0). Update: run the setup of the new version
(Update? [Enter/s/f/r/n]). Uninstall: helixsr-uninstall.bat / ./helixsr-uninstall.sh puts every game file back.
The files the setup builds contain NVIDIA's software: they are for your own PC, do not share or upload them. HelixSR's
download contains none of NVIDIA's files or network weights.
Notes
helixsr.ininow lists only the main settings; every other setting still works (missing keys keep their defaults).- Include
helixsr.log(next to HelixSR's DLL) when reporting a problem.
HelixSR is independent and is not affiliated with NVIDIA or AMD.