github perseval-BLR/DLSS5-NeuralScreen v1.5.7
v1.5.7 - the icons ship, screenshots on any path

4 hours ago

Fixes

  • Screenshots were silently lost on non-ASCII paths - a folder with Cyrillic, CJK or accented characters: the save reported success and no file appeared. OpenCV's writer returns True and writes nothing outside ASCII; Python writes the file now.
  • The archive shipped without its icons - v1.5.6 carried none, so the tray fell back to a placeholder square and the taskbar button showed the Python logo (issue #28). Both are back, and the release check fails the build if they go missing again.
  • Adaptive exposure could produce NaN when NS_PW_DARK and NS_PW_LIT are set to the same value - the frame came back black. Guarded.
  • README images were broken inside the archive - repository-relative links, absolute now.
  • verify_github.py, a maintainer-only tool, no longer ships to users.

What is new

  • Redrawn icon - the logo alone, round, with more contrast and a white rim, and every size (16 to 256) rendered on its own. The old one was the avatar's black square shrunk to 16 px, which melted into a dark taskbar.

Inside: main.py taken apart

main.py went from 3788 lines to 940, main() from 2214 to 640 - what is left is the frame loop and the wiring around it. The rest moved out by subject: protocol (the worker protocol and the shared memory), pipeline (build it, tear it down, the worker's process), startup, commands (menu, hotkeys, screenshots), settings_io, channels, dialogs, winapi, paths.

The state went with it: 56 variables that every nested function could rebind through 39 nonlocal statements are one object with __slots__, so a typo in a field name raises instead of quietly creating a field nobody reads.

Behaviour is unchanged, and a new test keeps it that way: nothing may import main back, and no module may read a name it never defines. The frame protocol is pinned on both sides too - static_assert on every struct in the worker plus a test comparing the C++ sizes against the Python ones - so a field added to one side and not the other is a build error, not a runtime desync.

Tests

  • 54 checks, three full runs green, plus the GUI cycle (launch -> record -> exit).

Files

  • neuralscreen-v1.5.7-full.zip - everything inside, unpack and run
  • README.md / README.ru.md - the guide
  • TECHNICAL.md / TECHNICAL.ru.md - how it works

Controls

Num2 menu · Num1 NR on/off · Num3 screenshot · Num0 record · Num4/Num6 resolution · Num5 one window · Ctrl+Alt+Q quit

Don't miss a new DLSS5-NeuralScreen release

NewReleases is sending notifications on new releases.