Перейти к содержанию

1 изображение

Информация о файле

Проблема
Проблема, которую пытается решить этот плагин, исходит из того, что в игре используется старая, устаревшая и крайне неэффективная функция для загрузки значений из файлов INI. Эта функция GetPrivateProfileString, реликвия 16-разрядных операционных систем. Но знаете ли вы, что хуже, чем использовать такую ​​функцию? Использовать её сотни тысяч раз. По-видимому, игра использует эту функцию для каждой индивидуальной настройки игры, а это значит, что один и тот же INI-файл открывается и закрывается сотни раз. Что действительно делает это ужасным, так это то, что для каждого включенного плагина игра будет пытаться прочитать все те же настройки из гипотетического INI-файла, который может или не может существовать. Таким образом, вы получаете безумное количество невероятно неэффективных вызовов для каждого включенного плагина. В качестве решения этот мод перехватывает вызовы этих функций и загружает целевые INI-файлы в память, так что каждый последующий вызов для одного и того же INI-файла будет намного быстрее, поскольку он будет считываться непосредственно из памяти и не потребует снова открыть файл с диска.

Количество секунд, на которые этот мод уменьшит время старта игры зависит от количества используемых плагинов, а также от других вещей, использующих INI-файлы, таких как ENB (хотя ENB имеет собственные проблемы с временем загрузки, которые этот мод не может исправить). Его эффект будет в основном незаметным в игре без модов ("ванильной", Vanilla), но с увеличением числа модов сэкономленное время будет увеличиваться. Вы получите 6 секунд на 50 или около того плагинов, до 20+ секунд для 250+ плагинов.

Решение
Когда игра, ENB или что-то еще вызывает GetPrivateProfileString, первый раз этот плагин будет загружать запрошенный файл в память и возвращать требуемые данные. В следующий раз файл не будет загружен, и данные также будут извлечены из памяти. То же самое происходит, когда процесс пытается записать значение в файл. Вместо того, чтобы снова открывать файл, разбирать и сохранять на диск, плагин будет записывать данные в файл в памяти, а затем сохраняет на диск (если разрешено). Также все файлы сохраняются при закрытии игры, если игра не вылетит в процессе выхода.

Исходный код: https://github.com/Karandra/PrivateProfileRedirector
Страницы на Нексусе: Skyrim LE | Skyrim SE | Fallout 4

Требования
LE: SKSE, SKSE Plugin Preloader.
SE: SKSE64, SSE Engine Fixes.
VR: SKSEVR, SSE Engine Fixes.
F4: F4SE, xSE PluginPreloader F4.

Если у вас не последняя версия игры, то на Нексусе вы найдёте версии плагина для старой версии игры.

Несовместимо с Mod Organizer 1.x (MO1)

Установка
Это плагин для xSE, поэтому установите его как и любой другой плагин для xSE. Извлеките архив в папку с игрой или используйте мод менеджер.

Skyrim LE: PrivateProfileRedirector LE 0.6.1 (Runtime 1.9.32).zip
Skyrim SE: PrivateProfileRedirector SE 0.6.1 (Runtime 1.5.97).zip
Skyrim AE: PrivateProfileRedirector AE 0.6.1 (Runtime 1.6.1170).zip
Skyrim VR: PrivateProfileRedirector VR 0.6.1 (Runtime 1.4.15).zip
Fallout 4: PrivateProfileRedirector F4 0.6.1 (Runime 1.10.984).zip
Fallout 4 VR: PrivateProfileRedirector F4VR 0.6.1 (Runtime 1.2.72).zip

Удаление
Используйте мод менеджер или удалите все установленные файлы.

Покрытые функции
GetPrivateProfileStringA
GetPrivateProfileStringW
WritePrivateProfileStringA
WritePrivateProfileStringW
GetPrivateProfileIntA
GetPrivateProfileIntW
GetPrivateProfileSectionNamesA
GetPrivateProfileSectionNamesW
GetPrivateProfileSectionA
GetPrivateProfileSectionW

Настройка
Плагин может быть настроен в собственном INI-файле, каждый параметр описан внутри этого файла.

Вопросы и ответы
Q: Мне действительно нужен этот плагин?
A: Зависит от обстоятельств. Если ваша игра стартует от ярлыка до главного меню за долю секунды, то нет. Если это занимает больше времени, этот плагин может помочь. Сколько времени вы сможете экономить, зависит от количества модов.

Q: Будет ли это работать с MO/NMM/Vortex/Kortex (да, я должна была упомянуть о нём) или любым другим мод менеджером?
A: Он был протестирован с MO2, Vortex и Kortex, и никаких проблем не было обнаружено. Не совместим с MO1 (Mod Organizer версий 1.x). Ожидается, что плагин будет нормально работать и в NMM. Я ничего не могу сказать о совместимости с другими мод менеджерами.

Q: Я установил его, игра вылетает при запуске или как-то иначе не работает или работает не так.
A: Включите детальное ведение лога (LogLevel=6) и воспроизведите проблему. Перейдите в папку Data\\Plugins, найдите файл PrivateProfileRedirector.log, сожмите его архиватором, загрузите его куда-нибудь и разместите ссылку на него в своем отчете о проблеме. Файл журнала может быть больше 100 МБ, поэтому не загружайте его как есть, обязательно сжимайте его.

  • Нравится 66

Обратная связь

Рекомендуемые комментарии



Nokreb

Опубликовано

Для справки людям. У меня подключено 950 модов и 245 плагинов. Игра установлена на SSD.

Подготовка игры к запуску у МО и МО2 занимает порядка 30 секунд,но с МО подготовка несколько дольше

Время загрузки игры с момента исчезновения окна SKSE:

МО - 3.00

МО2 - 3.20

МО2+PPR - 2.20

Так что ,если кто-то сомневается то - однозначно ставьте !

Спасибо автору !

  • Нравится 1
Dovakin25

Опубликовано

ребятки,куда можно написать вопрос или кому,когда ждать новый FNIS последней версии?!

Karandra

Опубликовано

Цитата:

ребятки,куда можно написать вопрос или кому,когда ждать новый FNIS последней версии?!

Явно не здесь и не мне.

Цитата:

SKGE все еще не загружает размер шрифта со своего ини.На заставке скайрима  и внутриигровом SKGE меню шрифт очень мелкий

Почему так происходит я ещё не выяснил. Можешь сделать скриншот того, как должны выглядеть и как оно сейчас?

Karandra

Опубликовано

Цитата:

Под панелькой с ХП меню внутриигровое

Цитата:

...

Ага, спасибо. Посмотрю, что смогу сделать с этим. Придётся всё же установить Skyrim Reloaded.

Vladmark

Опубликовано

Очень годный плаг,

Плюсы:

  1. Намного сократилось время запуска игры (203 мода)

  2. Переходы между локациями теперь секунды, а не несколько минут

  3. совместное использование с Crash Fixes и Skse Plugin Preloader, намного меньше вылетов, фризов практически вообще нет (хотя карточка 550 gti)

Минусы:

  1. Почемуто не работает если запускать SKSE через WrueBash, а если запускать из папки с игрой, то все норм.
  • Нравится 4
Karandra

Опубликовано

Цитата:

совместное использование с Crash Fixes и Skse Plugin Preloader

Было бы странно если бы плагин не работал с SKSE Plugin Preloader. Это всё же необходимый для его правильной работы плагин.

Цитата:

Почемуто не работает если запускать SKSE через WrueBash, а если запускать из папки с игрой, то все норм.

Понятия не имею что там не так, разве что Wrye Bash не запускает игру через SKSE_Loader.exe.

vkv

Опубликовано

Доброе время суток. После ручной установки все меню превратилось в кубики. То что русский не поддерживает - я знаю, получается те у кого это работает играют с английским меню или есть способ это исправить?

Karandra

Опубликовано

Цитата:

То что русский не поддерживает - я знаю

Я такого нигде не говорил. Мод поддерживает русский язык. К тому же у меня самого всё работает.

Цитата:

получается те у кого это работает играют с английским меню или есть способ это исправить?

Мне сообщалось что такая проблема случается только при использовании Skyrim LE вместе с MO1 (Mod Organizer версии 1.x). Если это не тот случай, то не знаю что ещё может быть не так.

nikolaimn

Опубликовано

SKSE Plugin Preloader.не совместим со Skyrim Startup Memory Editor (SSME) 1.8.0.0 - оба плагина имеют  файл с одинаковым названием d3dx9_42.dll, но абсолютно разные и не взаимозаменяемые, даже по размеру отличаются в десять раз. Попробовал удалить SSME и установить SKSE Plugin Preloader и PrivateProfileRedirector. Стало только хуже, картинка стала подергиваться, а плагин SKSE CrashFixPlugin стал выдавать предупреждение в начале игры что память SKSE не оптимизируется. Удалил оба плагина и вернул SSME на место и все стало нормально.

  • Нравится 1
Karandra

Опубликовано

Цитата:

SKSE Plugin Preloader.не совместим со Skyrim Startup Memory Editor (SSME) 1.8.0.0 - оба плагина имеют  файл с одинаковым названием d3dx9_42.dll, но абсолютно разные и не взаимозаменяемые, даже по размеру отличаются в десять раз. Попробовал удалить SSME и установить SKSE Plugin Preloader и PrivateProfileRedirector. Стало только хуже, картинка стала подергиваться, а плагин SKSE CrashFixPlugin стал выдавать предупреждение в начале игры что память SKSE не оптимизируется. Удалил оба плагина и вернул SSME на место и все стало нормально.

Skyrim Startup Memory Editor уже давно устарел и его функции включены в SKSE с версии 1.7.2. В SKSE нужно включить этот фикс в его INI файле. Готовый файл уже есть на странице загрузки SKSE (SKSE - INI-Settings (Skyrim 1.9.32).7z или SKSE64 - INI-Settings (Skyrim SE).7z).

  • Нравится 1
Vladmark

Опубликовано

А как обновиться с версии 0.33, в принципе она меня устраивает и все прекрасно работает, реально сокращает время загрузки. Вообще стоит ли обновлять как считаете?

Karandra

Опубликовано

Цитата:

А как обновиться с версии 0.33, в принципе она меня устраивает и все прекрасно работает, реально сокращает время загрузки. Вообще стоит ли обновлять как считаете?

Как обычно - заменить все файлы. Если всё работает правильно и ничего необычного не происходит, то можно и не обновлять.

  • Нравится 1
maxim1923

Опубликовано

Почему не совместим с МО1?

Только из-за того что он ориентирован на ЛЕ версию ская,а не на ф4 и ССЕ?

Просто чисто случайно "нарвался" в инете на "альтернативные" способы увеличения оперативки и там излагается как с помощью флешки можно увеличить ее и судя по описанию здесь -принцип тот же= игре  не обращаться каждый раз к " жесткому диску" а использовать уже открытые  данные с ини-файла или ,в моем случае ,с флешки....Любопытная параллель,но когда я это прочитал,меня сразу вспомнилась эта программа...только теперь с красной надписью-несовместима с МО1 !(((

у меня все через МО1 подключено,все что к Скаю(ЛЕ) отношение имеет...Явных признаков конфликтности не наблюдаю...Может это единичный случай был,когда ССЕ или ф4 пытались через МО1 запустить?

Karandra

Опубликовано

Цитата:

Почему не совместим с МО1?

Я уже писал почему.

Цитата:

Мод перехватывает те же функции, что и VFS из MO1. Для MO2 это не имеет особенного значения так как функции настройки INI файлов игры не являются основными для MO2, он и без них работает прекрасно, в отличие от MO1.

Если не использовать INI Tweaks и BSA management, то MO1 может и будет работать, но гарантий не даю.

Цитата:

Только из-за того что он ориентирован на ЛЕ версию ская,а не на ф4 и ССЕ?

PPR не "ориентирован" на LE, он только был выпущен сначала на LE. Более того, для всех трёх игр плагин абсолютно идентичен (кроме кода связки с xSE).

Цитата:

Может это единичный случай был,когда ССЕ или ф4 пытались через МО1 запустить?

Skyrim SE и Fallout 4 через MO1 вообще не будут работать так как MO1 не поддерживает запуск 64-битных программ.

Darkx

Опубликовано

Хороший плагин! И еще бы я посоветовал, особенно тем кто использует ресурсоемкий ENB (например: Patrician ENB), программу Process Lasso, которая все процессы системы направит на игру, улучшая ее стабильность и энергопотребление, используя собственный алгоритм производительности, но, при этом, желательно хорошее охлаждение.

newgene88

Опубликовано

Я правильно понимаю - Safety load нужно удалить, если установить PrivateProfileRedirector? Или они не мешают друг другу и выполняют разные функции?

Karandra

Опубликовано

Цитата:

Или они не мешают друг другу и выполняют разные функции?

Именно.

  • Нравится 1
AleksAvan

Опубликовано

Честно говоря не вижу смысла от этих мили секунд.... ну возможно и распинает загрузку на 2х ядрах, хотя сомнительно без тестов. если кто тестил на 2 ядрах отпишите.

Liby005

Опубликовано

Как работает вместе с SMC?

Karandra

Опубликовано

Цитата:

Как работает вместе с SMC?

С чем? Я не знаю что это.

Avandsan

Опубликовано

Цитата:

С чем? Я не знаю что это.

Skyrim memory cleaner - так вроде расшифровывается.
Liby005, спросил/ла наверняка для сборки Астрал, там запуск через SMC идёт.

Karandra

Опубликовано

Цитата:

Skyrim memory cleaner - так вроде расшифровывается.

Цитата:

Liby005, спросил/ла наверняка для сборки Астрал, там запуск через SMC идёт.

Не пользовался этой штукой, но по идее проблем быть не должно.

  • Нравится 1
slava 1122

Опубликовано

Дерьмо ваш мод! Игра вообще висит на экране загрузки и все на этом, не грузится вообще.

Karandra

Опубликовано

Цитата:

Дерьмо ваш мод! Игра вообще висит на экране загрузки и все на этом, не грузится вообще.

Если так, то удали и не используй. Никто насильно не заставляет.

  • Нравится 1

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
×
×
  • Создать...