github perseval-BLR/NeuralScreen v2.0.1
v2.0.1 - Multipass, redesign, the tray works, and more....

2 hours ago

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).

A maintenance release. Nothing changes on screen - every control, default and measurement from v2.0.0 is unchanged. What changes is the program's ability to explain itself when something goes wrong, because an open report spent a week unanswerable while three diagnostic packages looked perfectly healthy.

If v2.0.0 works for you, there is nothing here you need. If you have ever sent a log, this is the release that makes the next one worth sending.

What was fixed

The guard that keeps the panel above the picture was walking sixteen windows and giving up. It looks down the window stack for the first thing that could be covering the panel. Helper windows - invisible input-method entries, a 1x1 system thumbnail helper, an off-screen accessibility window - are skipped, but they still spend steps. On a busy desktop our own windows sit deeper than sixteen, so the walk ended with "found nothing", and on that answer it did nothing at all. Measured while chasing this: on one desktop the first window that could cover anything was the sixteenth, and the next was the forty-seventh. In a reporter's two packages the healthy verdict appears zero times, against 63 on a machine where the same code works. The walk now goes as far as it needs to and stops on our own windows by identity.

"I gave up looking" and "nothing is above us" were printed as the same line. They are two different facts, and printing them as one is why those packages read as healthy.

The guard never said anything about our own panel. It could name the window that took the top and nothing about ours. A panel under the picture, a panel on the monitor you are not watching, and a panel that has lost its transparency are the same log from the outside. Every decision now records the panel's position, whether it is visible, whether it is still topmost, and its actual transparency read back from the window rather than remembered.

Nine kinds of worker diagnostic never reached the log at all. The failure report itself, every shader and pipeline setup failure, and the line that says Boost quietly fell back to full resolution. They were written and then dropped one layer later. A line that is never printed looks exactly like a line that was never reached - which is the wrong conclusion this project drew from them.

The NR cascade was told to the first worker and no other. The pass count travels with a resize command, because the stream header has no field for it, and it was being sent once at startup. Every restart after that - a crash recovery, a rebuild when you change monitor or source - brought the worker back at one pass while the panel still showed four, and nothing said so. Found by accident while measuring something else: killing a four-pass worker took the rate from 28 to 91 fps in silence.

And a number in the v2.0.0 notes was wrong. "Every pass carries its own model of about 440 MB" was an estimate printed as a measurement. Measured at a 2560x1440 work size it is about 640 MB per extra pass, and four passes take the worker from 845 MB to 3 GB - and it scales with the work resolution, so a single figure was wrong in principle. The v2.0.0 notes, both technical documents and the tickets it was quoted in have been corrected.

The diagnostic package had stopped saying how the program was configured. Its settings list had not kept up with the settings: a v2.0.0 package could not say whether the NR cascade was running, where the on-screen counter was, or how large the panel had been made. Those are in now, along with the switches that decide which pipeline ran. Paths, key bindings and your saved presets stay out, as they always have.

Tests

Three new ones, each failing on the code it replaced - the walk depth, the log prefixes, and the settings list. The last two are the same shape, comparing a list against what actually exists, because both faults were the same thing: nobody had ever checked.

Don't miss a new NeuralScreen release

NewReleases is sending notifications on new releases.