Notice. Not affiliated with NVIDIA; NVIDIA, DLSS and the NVIDIA logo are NVIDIA Corporation's trademarks. The bundled NVIDIA runtimes are NVIDIA's property, included unmodified as received, research/educational use only, no warranty, use at your own risk.
Warning
NeuralScreen requires the latest NVIDIA driver. Operation with older drivers or unsupported/non-standard configurations is not guaranteed.
Important
Radeon testers wanted. The AMD build lives in a separate repository, NeuralScreen-AMD, and it has not run on a real Radeon yet. Start from native/AMD.md there, and if it does not come up, attach the diagnostic package (Settings -> Program -> Create diagnostic package).
What you get
- Boost - the network runs at a reduced resolution and only its DELTA is composed onto your native frame. You keep most of the speed, and text and edges keep full resolution, because the frame under the delta is still your own. On by default.
- DLSS 4.5 Frame Generation, x2 / x3 / x4, with or without the neural pass. One control, one click. Ada or newer.
- Whole screen or one window - pick it from the list or point at it and press Num5. The overlay follows it as it moves and resizes.
- Four profiles and three models, sliders under them, presets you can save. Everything is on the numpad.
- Recording with sound, screenshots, Spout2 into OBS, a frame limiter, HDR capture, diagnostics in one click.
New in 2.0
The panel fits your screen. It sizes itself on the first launch and carries a scale control - 80 / 90 / 100 / 115 / 130%, above Quit. At 100% the main page does not fit a 1080p desktop: it used to come up scrolled, with its last controls behind the taskbar. The fit never argues with a size you pick yourself.
Minimise to tray and Close to tray (#93), both off by default. Neither stops the neural pass: the picture on your screen is this program's output, so a minimise that also stopped it would change what you see without saying so.
The frame rate on screen (#109), with the panel closed, in the corner you choose. NR 55.1, or FG 167 (55.1) - the presented rate with the rate it is built on.
NR passes - the network over the same frame more than once. A new control under the Boost slider, 1 to 4, and an experiment rather than a finished feature.
Every pass gets its OWN network instance. Calling one instance twice inside a frame hands it two evaluations with no motion in between - a lie to its temporal history, and it shows as lost detail on the later passes. The passes hand the picture back and forth between two work-resolution buffers, and your original frame is never written to: it stays the anchor the result is composed onto, exactly as Boost does it.
It is not free. The second pass costs roughly a third of the frame rate, and every extra pass carries its own network - measured at a 2560x1440 work size, about 640 MB each, taking the worker from 845 MB to 3 GB at four passes, and it scales with the work resolution. (This note first said 440 MB, which was an estimate rather than a measurement; corrected 20.09.) It is off by default and only available with Boost on. Whether it buys anything you can see is not settled - that is the question the control exists to answer. The measurements are in TECHNICAL.md.
Fixes
The panel flashed while the picture was on (#107), and it was never a fight with a foreign window - it was ours. A reporter's log settled it: nine reveals of the picture window, nine losses of the top, one to one, each corrected one to three refreshes later. The window is created hidden so nothing flashes black during warm-up, and showing it put it above the panel. It is now shown below the panel, in one operation.
Eight NGX parameters the runtime does not have were set on every create. A scan of the runtime found 61 DLSSNR.* names and not one of the eight. Gone, with a test.
The Frame Generation row reacted to nothing - it swallowed the hover its own cells needed. The action pairs now wear the SOURCE strip, at one text size.
The English interface said a Russian word. The theme label had been swapped between the language blocks: every test asked whether a key exists in all twelve languages, and this one did.
Since v1.15, briefly
Frame Generation runs with the neural pass off (#104). The status line follows the work, not the switch (#107). Every log line carries a time, and the z-order guard names the window that took the top - which is what made the flicker above solvable. The panel was redesigned. Frame limit says it caps SOURCE frames. The first hotkey press in a game is no longer eaten. Build scripts find any Visual Studio, not the author's (thanks @HyperRamzey).
Tests
194 checks: 191 PASS, 0 FAIL, 3 SKIP, including the GPU stage and the GUI cycle on real windows.