github perseval-BLR/NeuralScreen v2.1.9
v2.1.9 - Three tracker reports: full speed when hidden, the Windows 10 window mode, and a panel that opened itself

4 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 patch on the v2.1 line: three fixes from the tracker and the bench, each with the measurement that produced it.

Full speed while the window is hidden, on by default (#137)

The report: the picture is smooth while the program is open and collapses the moment it is minimised. Windows 11 does that on its own - Quality of Service classifies a window-owning process by its window's state (High in focus, Medium visible, Low minimised or fully occluded), and the timer-resolution page states that a process whose window is invisible "does not get a guaranteed higher resolution than the default system resolution".

Neither rule is aimed at us; a real-time overlay is simply the case where they are wrong. The documented opt-out is per process - SetProcessInformation(ProcessPowerThrottling) with the EXECUTION_SPEED bit cleared - and it takes a process handle, so the same opt-out reaches the worker by pid; no native change was needed.

The option is a real switch, on by default, the hint states the price in power and heat, and power.status() reports the mask read back from the OS for both processes.

Honest note: the drop does not reproduce on our bench - 107.9 fps visible, 110.4 minimised with the option on, 109.8 with it off, no collapse in any state. The fix rests on the documented Windows behaviour and the reports, not on a bench reproduction.

Window mode on Windows 10: the effect disappeared because the overlay was hidden (#139)

Fullscreen works; one-window mode draws a frame around the window but the effect is gone. The frame is the capture border Windows 10 will not let us remove (IsBorderRequired is a Windows 11 API). The missing effect was ours.

The overlay keeps the size of the buffer it was built for, and every follow step hides it when that buffer will not fit inside the frame of the captured window. On Windows 10 the two rectangles of ONE window differ: the capture comes back at the GetWindowRect size, border included, while the frame is the DWM frame without it - #30 measured 1354x853 captured against 1340x846 framed. The comparison was buffer > frame, true for every Windows 10 window, so the overlay was hidden on the first follow step and stayed hidden. Fullscreen has no follower, which is why it stayed clean. The border is now measured in the same step and the buffer is compared against the surface it is really presented on; on Windows 11 the measurement is zero and the rule is the one it always was.

The panel no longer opens by itself at launch

The taskbar button is a 1x1 APPWINDOW window shown with SW_SHOW, which makes it the foreground window; the WM_NCACTIVATE(WA_ACTIVE) pair that follows is exactly what a click on our own taskbar button looks like to the guard that separates a real click from a system activation (#96).

Menu opened on its own at launch whenever the cursor rested over the taskbar: 4 of 4 launches with it parked there, 0 of 4 anywhere else. The rule already lived on set_visible() - SW_SHOWNA, "comes back without taking the focus" - and the startup path was the one place it had been missed.

A stale comment corrected

The worker's phase profiler claimed the eval GPU time does not depend on the input resolution. That was measured in the legacy upscale mode and stopped holding once Boost became the default: with Boost on, work_scale moves 3.4 ms (2.75 ms at 0.3 against 6.15 ms at 0.6), with it off it moves nothing (15.97 against 15.90). Comment and TECHNICAL.md carry the same correction.

Tests

Suite: 231 pass, 0 fail, 6 skipped, GUI end-to-end cycle green.

New, each failing on the code before its fix: test_power_when_hidden, test_present_follow, test_taskbar_startup_menu, plus a re-show check in test_worker_zorder_and_safety.

Don't miss a new NeuralScreen release

NewReleases is sending notifications on new releases.