Apex Neural Rendering by Apex Compute.
- ANR FG: frame generation. In beta.
- ANR SR: super resolution (upscaling). Beta soon.
- ANR RR: ray reconstruction (denoising for ray tracing). Beta soon.
- Source code: coming soon.
- nr-record: records a game's frame generation or upscaler inputs to compare ANR FG, NVIDIA DLSS-G, DLSS, FSR, XeSS and others (below). Source in this repository.
- Download a package from Releases:
anr-fg-full: for games without OptiScaler.anr-fg-addon: for games that already use OptiScaler.
- Close the game, extract the package and run the installer with the folder of the game's
.exe:- Windows:
install.cmd - Linux and Steam Deck (Proton):
sh install.sh "<folder>", then set the game's launch options to the line it prints:WINEDLLOVERRIDES="dxgi=n,b" %command%, orwinmm=n,bin Vulkan games
- Windows:
- In the game, turn on frame generation (the NVIDIA option where the game offers several).
To uninstall, run uninstall.cmd or sh uninstall.sh with the same folder.
- NVIDIA GeForce RTX 20, 30, 40 and 50 series, and GTX 16 series
- AMD Radeon RX 5000, 6000, 7000 and 9000 series, and Steam Deck
- Intel Arc A and B series
On Windows 10 and 11, and on Linux and SteamOS with Proton.
Please post them as issues:
- Performance results: run the test kit from the release and attach its result file.
- Problems: the game, GPU and driver, operating system, settings and what you saw, with the newest
nr_fg-*.logfrom under the game'sOptiScaler/custom/Apex Neural Rendering FGfolder.
OptiScaler is GPL-3.0; its source for each release is attached to the release.
nr-record records the inputs a game gives its frame generation, losslessly. You can then replay a recording through any frame generation DLL you have (ANR FG, a game's DLSS-G nvngx_dlssg.dll) and compare the results as videos or images. nr-record includes no frame generation.
Requirements:
- a D3D12 or Vulkan game with DLSS frame generation, with the
anr-fg-fullpackage installed (it includes OptiScaler); - Windows 10 or 11, or Linux with Proton;
- ffmpeg and ffprobe on the
PATH; - for DLSS-G replays, an NVIDIA RTX 40 or 50 series GPU.
-
Install. Download
nr-record-1.1-windows.zipornr-record-1.1-linux.tar.gzfrom the FG-V.B15 release and extract it. Close the game and run the installer with the folder of the game's.exe:- Windows:
install.cmd "<folder>". No launch option is needed. - Linux and Steam Deck (Proton):
sh install.sh "<folder>". Set the game's Steam launch options toWINEDLLOVERRIDES="dxgi=n,b" %command%(the ANR FG installer prints the same line). Do not set this on Windows: the game may not start.
The installer copies
nr-recordintoOptiScaler/custom/and setsFGNvngxReplacement=nr-recordinOptiScaler.ini(it keeps the original). When you are not recording, ANR FG generates the frames, or DLSS-G if ANR FG is not installed (forwardinnr-record/dlssg/nr_record.ini).uninstall.cmdorsh uninstall.shwith the same folder removes nr-record and restoresOptiScaler.ini. To install by hand: copycapture/OptiScaler/custom/nr-recordintoOptiScaler/custom/, setFGNvngxReplacement=nr-record, and setforwardto..\..\Apex Neural Rendering FG\dlssg\nvngx_dlssg.dllornvidia. - Windows:
-
Record. Turn on DLSS frame generation in the game. F6 starts and stops a recording; F9 records the next 8 frames. Each start and stop beeps. While recording, the game shows only real frames. Recordings go to
%LOCALAPPDATA%\nr-record\(Windows) or~/.local/share/nr-record/(Proton). A frame takes about 26 MB at 3840x2160 and 6 MB at 1806x972.nr-record/dlssg/nr_record-<date>-<time>.loglists what was recorded.To record the upscaler's inputs instead (super resolution, D3D12 games): open OptiScaler's menu (Insert), pick
nr-recordin the upscaler list, and press F6 to start and stop. It upscales with the upscalerOptiScaler.ininames (DLSS on NVIDIA, else FSR, or XeSS) and records that output too. Pick your upscaler again afterwards. Replay these recordings with--generator dlss,fsrorxess(replay). -
Replay. On Windows, in the package folder (
RECis a recording's folder):tools\nr-record.exe info REC tools\nr-replay.exe --record REC --out out\anr --generator provider --dll "<ANR FG folder>\nvngx_dlssg.dll" --label "ANR FG" --stream - | tools\nr-video.exe video - --out out\anr.mp4 tools\nr-replay.exe --record REC --out out\dlssg --generator nvidia --dll "<game>\nvngx_dlssg.dll" --label DLSS-G --stream - | tools\nr-video.exe video - --out out\dlssg.mp4 tools\nr-video.exe project out\anr.mp4 out\dlssg.mp4 --out out\cmp.compare.json --labels "ANR FG" DLSS-G
On Linux, one command runs both replays under Proton's Wine and writes both videos, a side-by-side video and the compare project:
python3 tools/nr_replay_wine.py --record REC --out cmp --video \ --generator provider --dll "<ANR FG folder>/nvngx_dlssg.dll" --label "ANR FG" \ --b-generator nvidia --b-dll "<game>/nvngx_dlssg.dll" --b-label DLSS-GFor images, replay with
--rawinstead of--streamand runnr-video png. -
Compare.
viewer/renderer --compare --project cmp/compare.json(Windows:viewer\renderer.exe --compare --project out\cmp.compare.json) plays both videos in sync, with a divider, side by side view, pixel zoom and marks, and exports videos and images. From the command line:--compare-export PROJECT --out FILE --very-high.viewer/renderer --captureslists your recordings and regenerates their frames with each generator.
Docs: recording, format, replay and videos, viewer.
Build: bazel build //record:nr-record //record/replay:nr-video //renderer; Windows parts: bazel build --config=windows_cross //record/capture:package //record/replay:nr-replay.
@software{apex_neural_rendering,
author = {{Apex Compute}},
title = {Apex Neural Rendering (ANR)},
year = {2026},
url = {https://github.com/apex-compute/ANR},
note = {https://apexcompute.com/neural-rendering}
}