Skip to content

v1.4.0 - No flash, mode-switch overlay

Choose a tag to compare

@perseval-BLR perseval-BLR released this 09 Sep 08:12
· 134 commits to main since this release

What is new in 1.4.0

  • No more flash on startup or mode switches. Both overlay windows are created hidden and revealed together with the first real frame - a blank window never sits over the desktop while NGX warms up.

  • Mode-switch overlay. Switching modes (Num5 one-window, monitor change) is covered by a brief semi-transparent blur with a spinner: the live desktop shows through it, and the picture comes back sharp - no black gap, no bare desktop during the rebuild.

  • Clipped-menu fix. The menu no longer gets cut off near the middle of the screen when it was open across a one-window-mode switch (Num5).

  • Release-archive hygiene. The zip contains exactly what the program needs: no tests, no dev tools, no third-party test folders. Everything is inside - including NVIDIA's nvngx_dlssnr.dll (165 MB) - unpack and run NeuralScreen.exe.

Fixes

  • Worker: residual composite descriptor cache is reset on resize - an RNSZ whose allocations land at the just-freed addresses could dispatch against freed GPU memory with the residual composite on.

  • Worker: the GRAY channel's GPU resources no longer leak on every renegotiation.

  • Worker: the overlay is hidden when the output size stops matching the window (no stale-sized picture).

  • Worker/UI: the topmost re-assert ignores zero-sized windows (IME etc.) - removed a ~4 s DWM flicker.

  • Docs refreshed: README EN/RU and TECHNICAL EN/RU now match the code (residual defaults, limits, hotkeys, archive contents); the menu screenshots in the README were re-rendered (version in the header, channel in About, current slider hint).

Tests

The suite now covers 22 scenarios plus the smoke and the full GUI cycle: reveal-on-first-frame, WDA visibility under the hidden-window contract, window-menu regression, residual composite, shared-memory pixels, recording with audio, and more.

Files

  • Asset: neuralscreen-v1.4.0-full.zip (everything inside - unpack and run NeuralScreen.exe)

  • README.md / README.ru.md attached

Controls

Numpad hotkeys (Num Lock on): Num1 - NR on/off, Num2 - menu, Num3 - screenshot, Num0 - record, Num4/Num6 - processing resolution down/up, Num5 - one-window mode, Ctrl+Alt+Q - quit. Every key is reassignable in the menu.


Post-release fix (2026-09-09)

  • No more black screen when the worker cannot start (e.g. on GPUs where the neural feature refuses to be created). The overlay now hides itself and the restart loop stops after three failed attempts; pressing Num1 tries to revive the worker. The desktop stays visible instead of a black window.

Post-release fix 2 (2026-09-09)

  • Correct GPU architecture IDs. Turing is 0x160, Ampere 0x170 (verified against NVIDIA's nvapi.h and open-gpu-kernel-modules nv_arch.h). The old table was shifted by 0x10 and mislabeled e.g. the RTX 3060 Ti as "Turing".

  • Pre-Blackwell warm-up clamp. The 120-frame warm-up could take far longer than the frame watchdog on slow 20/30-series cards (RTX 2070 at ~1 FPS: 2 minutes), killing the worker on frame 0 and starting a restart storm. Unsupported cards now warm up with 4 frames.

  • Safe passthrough. When feature 18 cannot be created, the worker stays alive and shows the raw frame instead of exiting - no restart storm, no black topmost window; a later resize can retry feature creation.

  • Speed warning in the READMEs. On 20/30-series the neural pass is slow (single digits to ~20 FPS at 1440p); the Resolution the network runs at slider is the main speed lever.



Post-release fix 3 (2026-09-09)

  • The chosen window comes to the front. Picking a window from the menu now raises it (BringWindowToTop + SetForegroundWindow), so the capture is not buried under other windows.
  • Hotkey parser hardened. Malformed bindings like "+Q" are rejected instead of silently becoming "Q"; a new test suite covers parsing, aliases and the default bindings, so future binding changes cannot break the layer silently.
  • Recording at 30 fps instead of 60. Every recorded frame is a full 33 MB round-trip from the worker; 60 fps recording cost ~36% of the FPS (101 -> 65). Halving the frame rate halves that cost, the per-frame picture quality is identical.


Post-release fix 4 (2026-09-09)

  • Device-removed diagnostics (DRED). The Win10 TDR (issue #1) died with only "code 6" in the log - no reason, no breadcrumbs. The worker now enables DRED auto-breadcrumbs at device creation (settings1, falling back to settings, logging the HRESULTs when neither exists) and logs GetDeviceRemovedReason plus the breadcrumb tail and page-fault VA at the failure site. The next Win10 log will show exactly where the device died.

Что нового в 1.4.0

  • Больше никакого мигания при запуске и переключениях. Окна оверлея создаются скрытыми и появляются вместе с первым настоящим кадром - пустое окно не висит над рабочим столом, пока NGX прогревается.

  • Заглушка при переключении режимов. Смена режима (Num5, смена монитора) прикрыта короткой полупрозрачной заглушкой с блуром и спиннером: живой рабочий стол просвечивает, картинка возвращается резкой - ни чёрного провала, ни голого стола при перестройке.

  • Починен обрезанный край меню при переключении в режим одного окна (Num5) с открытым меню.

  • Чистота релизного архива. В zip ровно то, что нужно для работы: без тестов, dev-инструментов и тестовых папок сторонних библиотек. Внутри уже всё - включая nvngx_dlssnr.dll от NVIDIA (165 МБ): распаковать и запустить NeuralScreen.exe.

Исправления

  • Воркер: кэш дескрипторов residual-композита сбрасывается при смене разрешения - RNSZ при совпадении адресов мог обратиться к освобождённой памяти GPU при включённом композите.

  • Воркер: GPU-ресурсы канала GRAY больше не текут при каждом пересогласовании.

  • Воркер: оверлей прячется, когда размер вывода перестаёт совпадать с окном (не висит кадр старого размера).

  • Воркер/UI: периодический topmost-реассерт игнорирует окна нулевого размера (IME и пр.) - убран мерцающий тик DWM раз в ~4 секунды.

  • Документация обновлена: README EN/RU и TECHNICAL EN/RU приведены в соответствие с кодом (дефолты residual, ограничения, хоткеи, состав архива); скриншоты меню в README перерисованы (версия в шапке, канал в About, актуальный хинт ползунка).

Тесты

Набор покрывает 22 сценария плюс smoke и полный GUI-цикл: reveal-on-first-frame, видимость WDA при скрытом окне, регрессия меню в режиме окна, residual-композит, пиксели через shared memory, запись со звуком и другое.

Файлы

  • Ассет: neuralscreen-v1.4.0-full.zip (внутри всё - распаковать и запустить NeuralScreen.exe)

  • README.md / README.ru.md приложены

Управление

Хоткеи на нампаде (Num Lock вкл.): Num1 - NR вкл/выкл, Num2 - меню, Num3 - скриншот, Num0 - запись, Num4/Num6 - разрешение ниже/выше, Num5 - режим одного окна, Ctrl+Alt+Q - выход. Любая клавиша переназначается в меню.

Пост-релизный фикс (2026-09-09)

  • Больше никакого чёрного экрана, когда воркер не может стартовать (например, на GPU, где нейро-фича отказывается создаваться). Оверлей теперь прячется сам, а цикл рестартов останавливается после трёх неудачных попыток; Num1 пробует поднять воркер заново. Рабочий стол остаётся видимым вместо чёрного окна.

Пост-релизный фикс 2 (2026-09-09)

  • Исправлены ID архитектур GPU. Turing = 0x160, Ampere = 0x170 (сверено с nvapi.h от NVIDIA и open-gpu-kernel-modules nv_arch.h). Старая таблица была сдвинута на 0x10 и, например, RTX 3060 Ti определялась как "Turing".

  • Ограничение warm-up на pre-Blackwell. Прогрев из 120 кадров мог занимать дольше, чем watchdog, на медленных 20/30-сериях (RTX 2070 при ~1 FPS: 2 минуты), убивая воркер на кадре 0 и запуская шторм рестартов. На неподдерживаемых картах прогрев теперь 4 кадра.

  • Safe passthrough. Если feature 18 не создаётся, воркер остаётся жить и показывает исходный кадр вместо выхода - нет шторма рестартов и чёрного окна; последующий ресайз может повторить создание фичи.

  • Предупреждение о скорости в README. На 20/30-сериях нейропроход медленный (единицы или до ~20 FPS в 1440p); ползунок «Разрешение работы сети» - главный рычаг скорости.

Пост-релизный фикс 3 (2026-09-09)

  • Выбранное окно поднимается наверх. Выбор окна из меню теперь поднимает его на передний план (BringWindowToTop + SetForegroundWindow), чтобы захват не был перекрыт другими окнами.
  • Парсер хоткеев укреплён. Битые биндинги вида "+Q" отклоняются вместо того, чтобы молча стать "Q"; новый набор тестов покрывает парсинг, алиасы и дефолтные биндинги, так что будущие смены биндингов не сломают слой молча.
  • Запись на 30 fps вместо 60. Каждый записанный кадр - это полный круг 33 МБ из воркера; запись на 60 fps стоила ~36% FPS (101 -> 65). Половина частоты кадров вдвое снижает эту цену, качество картинки на кадр идентично.

Пост-релизный фикс 4 (2026-09-09)

  • Диагностика device removed (DRED). Win10 TDR (issue #1) умирал с одним "code 6" в логе - без причины и breadcrumbs. Воркер теперь включает DRED auto-breadcrumbs при создании устройства (settings1, фолбэк на settings, с логированием HRESULT если нет ни одного) и логирует GetDeviceRemovedReason плюс хвост breadcrumbs и VA page fault в месте отказа. Следующий лог с Win10 покажет точно, где умерло устройство.