Специфика игрового процесса в No Man’s Sky тесно связана с изучением огромных массивов информации. Игрокам регулярно приходится сворачивать игру комбинацией клавиш Alt+Tab, чтобы проверить по таблицам рецепты крафта сложных элементов, свериться с портальными координатами планет в сообществе или просто переключить трек в плеере. Однако в актуальной версии игры 6.5 такое простое действие часто приводит к серьезному техническому сбою [6.5]. Возвращаясь в окно игры, геймеры замечают, что плавность полностью исчезла: счетчик FPS падает ровно в два раза (например, со стабильных 60 до дерганых 30 кадров), а управление персонажем становится «тяжелым» и неотзывчивым.
Самое неприятное, что этот баг не проходит сам по себе. Единственным решением для большинства становится полный перезапуск No Man’s Sky, что отнимает немало времени из-за долгих загрузок процедурной вселенной Worlds [6.5]. На самом деле корень проблемы кроется в особенностях взаимодействия графического API Vulkan с системным диспетчером окон Windows (Desktop Window Manager) при потере фонового фокуса. В этом руководстве мы подробно разберем механику этого бага и расскажем, как навсегда избавиться от падения FPS при сворачивании игры.
Почему Vulkan API режет кадры после потери фокуса
Низкоуровневый графический интерфейс Vulkan, на котором полностью построена No Man’s Sky, передает управление видеовыходом напрямую от игры к видеокарте. Когда игра запущена в эксклюзивном полноэкранном режиме, она захватывает монопольный доступ к ресурсам графического чипа.
В момент, когда вы нажимаете клавиши Alt+Tab, операционная система Windows принудительно перехватывает управление, переводя процесс
NMS.exe в режим пониженного энергопотребления (режим сна), чтобы освободить ресурсы для рабочего стола. Когда вы разворачиваете игру обратно, планировщик Windows и API Vulkan часто не могут корректно перестроить цепочку рендеринга (Swapchain кадрового буфера). Игра «думает», что она все еще находится на заднем плане, и встроенный ограничитель частоты кадров Hello Games продолжает принудительно урезать FPS, блокируя ресурсы видеокарты.Способ 1: Принудительный перевод игры в режим «Оконный без рамки» (Borderless)
В 95% случаев баг с потерей кадров после сворачивания лечится раз и навсегда простым изменением режима отображения экрана. В режиме окна без рамки игра изначально работает в одном кадровом пространстве с рабочим столом Windows, поэтому сворачивание происходит мгновенно и безболезненно для драйвера видеокарты.
- Запустите No Man’s Sky, зайдите в главное меню, откройте раздел «Настройки» -> «Видео».
- Найдите параметр «Режим экрана» (Window Mode). По умолчанию там может быть выставлено значение «Полноэкранный» (Fullscreen).
- Принудительно переключите этот параметр в режим «Оконный без рамки» (Borderless Windowed).
- Убедитесь, что разрешение в строке ниже точно соответствует физическому разрешению вашего монитора (например, 1920x1080). Примените настройки и перезапустите игру один раз, чтобы Vulkan перестроил буфер. Теперь вы сможете нажимать Alt+Tab сотни раз подряд — FPS будет оставаться идеально стабильным.
Способ 2: Отключение ограничения частоты кадров в фоновом режиме
Если по какой-то причине вы хотите играть исключительно в полноэкранном режиме, необходимо запретить самому движку игры искусственно снижать производительность процесса, когда тот теряет фокус внимания Windows.
Для этого отредактируем конфигурационный файл графики:
- Полностью закройте игру.
- Перейдите в папку настроек No Man's Sky по следующему пути:
No Man's Sky \ Binaries \ SETTINGS \. - Найдите текстовый файл разметки
TKGRAPHICSSETTINGS.MXML. Кликните по нему правой кнопкой мыши -> «Открыть с помощью» -> выберите «Блокнот». - Нажмите комбинацию клавиш Ctrl + F для вызова поиска и найдите параметр
BackgroundFPSLimit. - По умолчанию там может стоять низкое значение (например, 15 или 30 кадров), которое и «залипает» при разворачивании окна. Измените значение тега на
0(это полностью отключит встроенный лимит кадров для фонового режима).- Строка должна выглядеть так:
<Property name="BackgroundFPSLimit" value="0" />
- Строка должна выглядеть так:
- Сохраните изменения (Ctrl + S) и закройте Блокнот.
Способ 3: Включение системной оптимизации для оконного режима в Windows 11/10
Чтобы операционная система Windows помогала графическому драйверу мгновенно возвращать максимальный приоритет производительности для No Man’s Sky после использования Alt+Tab, необходимо активировать встроенную системную функцию планировщика графики.
Для пользователей Windows 11:
- Откройте «Параметры» (сочетание клавиш Win + I) -> перейдите в раздел «Система» -> «Дисплей» -> «Графика».
- В верхней части окна нажмите на ссылку «Изменение стандартных параметров графики».
- Найдите тумблер «Оптимизация для игр в оконном режиме» (Optimizations for windowed games) и переведите его в положение «Включено». Эта технология заставляет Windows 11 обрабатывать оконные игры по улучшенной Flip-модели, полностью ликвидируя зависания кадрового буфера при сворачивании софта. Перезагрузите компьютер.
Заключение
Падение производительности в два раза после использования комбинации Alt+Tab в No Man’s Sky — это результат заклинивания кадрового буфера Vulkan API из-за некорректной смены приоритетов энергопотребления в Windows. Перевод игры в режим «Оконный без рамки» (Borderless) в сочетании с полным отключением лимита фоновых кадров (
BackgroundFPSLimit=0) в файле TKGRAPHICSSETTINGS полностью устраняет эту техническую недоработку. Движок игры перестанет терять связь с видеодрайвером, обеспечивая мгновенное переключение между игрой и браузером без потери плавности геймплея.
Комментариев нет:
Отправить комментарий