Этот проект автоматизирует обход бага в экосистеме NVIDIA, из‑за которого «Мгновенный повтор» (Instant Replay) иногда не апскейлит запись до целевого разрешения (например 1440p), если вы играете в нестандартном соотношении сторон — кастомное 4:3, 5:4, растянутый картинку и т.п.
Важно: так ведёт себя не у всех — зависит от драйвера, версии приложения NVIDIA, кодека и цепочки захвата. У части пользователей апскейл работает сразу; у других после смены разрешения/перезапуска IR запись оказывается «обрезанной» по размеру (например 1706×1364 вместо 2560×1440). Поддержка NVIDIA в подобных случаях может ссылаться на ограничения кодека/пайплайна; официального универсального патча под все конфиги может не быть — здесь именно автоматизация рабочего обходного пути.
В ряде конфигураций NVENC / цепочка записи не подхватывает выбранный в настройках апскейл до 1440p (или выше), пока система «видит» не то базовое разрешение/режим, который ожидает пайплайн. Типичный симптом: в настройках выбран выход 1440p, а клип мгновенного повтора всё равно в нативном размере с небольшими отличиями по пикселям или без upscale. То есть, если вы играете в разрешении, например, 1280×1024, а в настройках мгновенного повтора стоит 1440p или 1080p, то сохранённое видео может остаться 1280×1024, а не выбранным апскейлом, и выглядеть «квадратным», без нужного растягивания.
Программа повторяет тот же сценарий, что вручную у многих срабатывает:
- На короткое время ставится целевое разрешение под апскейл (например 2560×1440).
- Делается пауза, чтобы драйвер/картинка стабилизировались.
- Выключается и снова включается «Мгновенный повтор» через горячие клавиши (как в NVIDIA App → сочетания; по умолчанию часто Alt+Shift+F10, у вас может быть своё сочетание).
- Ставится обратно ваше игровое разрешение (например 1706×1365 для 4:3).
- В итоге запись снова может идти в нужном масштабе (например с растягиванием до 1440p, если так настроено и так отрабатывает драйвер).
Всё делается из одного окна программы: настройки, ручной запуск сценария, журнал шагов (внизу, крупная область — можно растянуть окно по вертикали), при необходимости — включение и выключение автозапуска при входе в Windows (галочка создаёт или удаляет задачу в планировщике).
- Тёмная тема в духе панелей NVIDIA: тёмный фон, зелёный акцент (#76b900), шапка с подписью NVIDIA и переносом длинной строки подзаголовка.
- Подсказки: наведите курсор на подпись, поле или кнопку — всплывающее пояснение.
- Разрешения: выпадающие списки заполняются режимами основного дисплея так же, как их отдаёт Windows через драйвер (формат «ширина x высота», как в «Параметры экрана»). Нужного режима нет — пункт «Другое» и ввод ширины/высоты вручную.
- Горячие клавиши: клик по полю → нажмите реальное сочетание; в поле не набирают текст. В
config.jsonдля AutoHotkey хранится внутренний формат отправки. - Лёгкие эффекты: плавное появление окна (Windows), анимация полоски под шапкой.
- Python + tkinter — GUI: списки разрешений (перечисление через Windows API
EnumDisplaySettings), паузы, захват сочетаний клавиш, журнал, автозапуск, подсказки. - PowerShell — смена разрешения (
Set-Resolution.ps1), установка/снятие задачи планировщика (install-autostart.ps1/uninstall-autostart.ps1— вызываются из программы, вручную запускать не нужно). - AutoHotkey v2 — должен быть установлен: программа вызывает его для имитации нажатий.
- Планировщик заданий Windows — только если включили автозапуск в GUI (режим
nvidia_replay_gui.py --autostartбез окна).
Зависимости: Python 3.10+ с tkinter, PowerShell, AutoHotkey v2. Отдельный pip install не требуется.
- Установите Python 3 (с Add to PATH), AutoHotkey v2. В NVIDIA App откройте сочетания клавиш и запомните, что назначено на вкл/выкл мгновенного повтора (часто Alt+Shift+F10).
- Запустите
nvidia_replay_gui.pywдвойным щелчком или в терминале:py -3w nvidia_replay_gui.py— так не появится лишнее чёрное окно консоли. - В блоке «Разрешения» выберите из списка целевое (апскейл) и игровое после сценария (список совпадает с режимами основного монитора в Windows). Нужной пары нет — «Другое» и ввод вручную.
- В «Паузы (мс)» при необходимости подстройте задержки после смены режима и между выкл/вкл мгновенного повтора (значения по умолчанию обычно рабочие).
- В «Сочетания (NVIDIA App)» кликните в поле и нажмите то же сочетание, что в NVIDIA App. Если вкл и выкл — одна клавиша-переключатель, поле «Вкл» можно оставить пустым.
- В «Автозапуск при входе в Windows» задайте паузу в секундах после входа (например 15), чтобы успели подняться рабочий стол и NVIDIA App.
- Нажмите «Сохранить настройки» — всё запишется в
config.jsonрядом с программой. - «Запустить сценарий» — прогнать обходной путь вручную; ход выполнения — в журнале внизу (область высокая по умолчанию; при необходимости растяните окно — журнал занимает нижнюю зону и растёт вместе с ней).
- Чтобы сценарий выполнялся сам после входа в учётную запись, включите «Включить автозапуск…». Рядом с
nvidia_replay_gui.pyдолжны лежатьinstall-autostart.ps1иuninstall-autostart.ps1. Фоновые запуски пишутся вautostart.log.
Если что-то пошло не так, текст ошибки будет в журнале и/или в окне сообщения.
nvidia_replay_gui.py— основной код приложенияnvidia_replay_gui.pyw— запуск черезpythonwбез консолиSet-Resolution.ps1— смена разрешения экранаinstall-autostart.ps1иuninstall-autostart.ps1— для галочки автозапуска в GUIconfig.json— настройки после «Сохранить» (числа и строки для AHK)autostart.log— лог автозапуска из планировщика
См. файл LICENSE.