Pause Menu Lag Fix / Исправление лагов после открытия и закрытия меню
Исправляет баг, из-за которого открытие и закрытие меню вызывали скачок использования видеопамяти (VRAM) до 100%, что приводило к постоянным лагам в игре Starfield.
Суть проблемы:
Starfield определяет детализацию текстур и мешей с помощью стейт-машины под названием `ScreenSizeBasedLOD`. На каждом цикле она измеряет, какую площадь экрана занимает каждый материал, сверяет результат с доступным объемом видеопамяти (VRAM), после чего повышает или понижает уровень MIP-текстур, чтобы уложиться в память.
Эта стейт-машина не останавливается при открытии определенных игровых меню, когда ваша видеопамять внезапно освобождается. Функция `CheckBudget` делит нагрузку на VRAM на четыре уровня. На самом низком уровне нагрузки она выставляет внутренний флаг «обновить всё», что принудительно задает mip 0 (максимальное разрешение) для абсолютно каждого материала. Эта поставившаяся в очередь загрузка текстур высокого разрешения буквально перегружает доступную память в момент закрытия меню, когда VRAM снова резко оказывается под давлением, заставляя драйвер уходить в постоянный пробуксовку.
Решение:
Мод принудительно запрещает контроллеру выполнять любые состояния, увеличивающие уровень детализации, пока открыты меню. Он перенаправляет эти функции на внутренний сброс самого движка, гарантируя, что игра не будет подготавливать LOD-ы к повышению качества во время нахождения в меню.
Настройки в файле StarfieldPauseLODHold.ini
[Fix]
; Замораживает изменения LOD мешей и текстур, пока открыто меню паузы (PauseMenu).
bFreezeLODWhenPaused = 1
; Замораживает изменения LOD, пока открыто меню данных (DataMenu) или инвентарь (InventoryMenu).
bFreezeLODInInventory = 1
[Logging]
; Включает подробную диагностику меню, LOD, VRAM, фокуса и потребления ресурсов.
bVerboseLogging = 0
Требования:
Starfield
Starfield Script Extender (SFSE)
Инструкция по установке:
1. Установите с помощью вашего любимого мод-менеджера.
2. Наслаждайтесь отсутствием лагов.
Суть проблемы:
Starfield определяет детализацию текстур и мешей с помощью стейт-машины под названием `ScreenSizeBasedLOD`. На каждом цикле она измеряет, какую площадь экрана занимает каждый материал, сверяет результат с доступным объемом видеопамяти (VRAM), после чего повышает или понижает уровень MIP-текстур, чтобы уложиться в память.
Эта стейт-машина не останавливается при открытии определенных игровых меню, когда ваша видеопамять внезапно освобождается. Функция `CheckBudget` делит нагрузку на VRAM на четыре уровня. На самом низком уровне нагрузки она выставляет внутренний флаг «обновить всё», что принудительно задает mip 0 (максимальное разрешение) для абсолютно каждого материала. Эта поставившаяся в очередь загрузка текстур высокого разрешения буквально перегружает доступную память в момент закрытия меню, когда VRAM снова резко оказывается под давлением, заставляя драйвер уходить в постоянный пробуксовку.
Решение:
Мод принудительно запрещает контроллеру выполнять любые состояния, увеличивающие уровень детализации, пока открыты меню. Он перенаправляет эти функции на внутренний сброс самого движка, гарантируя, что игра не будет подготавливать LOD-ы к повышению качества во время нахождения в меню.
Настройки в файле StarfieldPauseLODHold.ini
[Fix]
; Замораживает изменения LOD мешей и текстур, пока открыто меню паузы (PauseMenu).
bFreezeLODWhenPaused = 1
; Замораживает изменения LOD, пока открыто меню данных (DataMenu) или инвентарь (InventoryMenu).
bFreezeLODInInventory = 1
[Logging]
; Включает подробную диагностику меню, LOD, VRAM, фокуса и потребления ресурсов.
bVerboseLogging = 0
Требования:
Starfield
Starfield Script Extender (SFSE)
Инструкция по установке:
1. Установите с помощью вашего любимого мод-менеджера.
2. Наслаждайтесь отсутствием лагов.
Основной архив (130 kb)Сервер №1




