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

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

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

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



nIKITOS2015

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

Ни Яндекс.Протект, ни встроенный защитник виндовс, ни Аваст не позволяют скачать файл, что делать?

Karandra

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

Цитата:

Ни Яндекс.Протект, ни встроенный защитник виндовс, ни Аваст не позволяют скачать файл, что делать?

Игнорировать это. Вирусов в моде нет, если есть сомнения можешь проверить исходный код, он весь на GitHub, ссылка есть в описании. Отчёты VirusTotal.
https://www.virustotal.com/gui/file/c6f5d2e0572c79a6bacd6691d25e742a6ef2908bfbb8486e9518f3d313cc8b9e/detection

https://www.virustotal.com/gui/file/ccecef7337eb0a531a1d81f1af16eccedc0caec66527004d49ee80203978653a/detection

https://www.virustotal.com/gui/file/17eed5878e23b7862bce2dbe8b10750414b380e726c638a0b89aff88d44fddc0/detection

https://www.virustotal.com/gui/file/bff6f7dbe7ec824bb33aea463f1b35fdb6de2f5740aa04f13645308ef960e687/detection

Vladmark

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

Как обновить с версии 0.3.3. Может ли такое обновление привести к крашу игры (не хочется начинать заново). Так то у меня  PrivateProfileRedirector v. 0.3.3, Crash Fixes v.12, SKSE Plugin Preloader v.3, Load Game CTD Fix, ENBoost вот 4 проги которые полностью (процентов на 99) решают все проблемы только ридми рекомендуется осилить. 200+ модов ни крашей ни лагов (причем моды скриптовые типа хантерборна и  фроста)

Karandra

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

Цитата:

Как обновить с версии 0.3.3. Может ли такое обновление привести к крашу игры (не хочется начинать заново). Так то у меня  PrivateProfileRedirector v. 0.3.3, Crash Fixes v.12, SKSE Plugin Preloader v.3, Load Game CTD Fix, ENBoost вот 4 проги которые полностью (процентов на 99) решают все проблемы только ридми рекомендуется осилить. 200+ модов ни крашей ни лагов (причем моды скриптовые типа хантерборна и  фроста)

Это не .esp плагин и в сохранения игры он ничего не пишет. Можно с любой версии перейти на любую другую без каких-либо проблем.

  • Нравится 2
Nikett

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

Осторожно! 0.5 версия конфликтует с https://www.nexusmods.com/skyrimspecialedition/mods/32444?tab=files а значит конфликтует со всем, что через него запускается(включая енжайн фиксез который теперь работает через библиатеку адресов).

Karandra

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

Цитата:

Осторожно! 0.5 версия конфликтует с https://www.nexusmods.com/skyrimspecialedition/mods/32444?tab=files а значит конфликтует со всем, что через него запускается(включая енжайн фиксез который теперь работает через библиатеку адресов).

И каким же образом она конфликтует?

Nikett

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

Цитата:

И каким же образом она конфликтует?

Так это вопрос к вам))) С одновременно запущенными адреслибрари и вашим модов, последний МО выдает, что зависимые от адреслибрари dll не загружаются/устарели/не соответствуют версии. Ваш мод каким то образом мешает, без него такой проблемы нет.

Karandra

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

Цитата:

Так это вопрос к вам))) С одновременно запущенными адреслибрари и вашим модов, последний МО выдает, что зависимые от адреслибрари dll не загружаются/устарели/не соответствуют версии. Ваш мод каким то образом мешает, без него такой проблемы нет.

Покажи что за сообщение выдаёт MO.

Adam2

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

Подскажите  где взять аналогичный мод, чтобы он был совместим с Mod Organizer 1?

Karandra

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

Цитата:

Подскажите  где взять аналогичный мод, чтобы он был совместим с Mod Organizer 1?

Нигде.

serferty

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

Блин... целую простыню с результатами накатал, а оно что-то не загрузилось. Ну и ладно. Короче - сделал 10 запусков, без мода, с модом, с логированием, без. Результат 2-3 секунды в плюс-минус. Исключительно погрешность, не более того. Пустышка. Хотя, если у кого-то эта "вещь" реально что-то ускоряет - поздравляю.

Karandra

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

Цитата:

Блин... целую простыню с результатами накатал, а оно что-то не загрузилось. Ну и ладно. Короче - сделал 10 запусков, без мода, с модом, с логированием, без. Результат 2-3 секунды в плюс-минус. Исключительно погрешность, не более того. Пустышка. Хотя, если у кого-то эта "вещь" реально что-то ускоряет - поздравляю.

Результаты крайне сильно зависят от используемого количества плагинов (.esp файлов) и наличия некоторых других модов (ENB например). Если их меньше 50 разницы почти нет. Использование SSD (особенно NVMe) также уменьшает разницу.

serferty

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

Цитата:

Результаты крайне сильно зависят от используемого количества плагинов (.esp файлов) и наличия некоторых других модов (ENB например). Если их меньше 50 разницы почти нет. Использование SSD (особенно NVMe) также уменьшает разницу.

96 активных esp-esm-esl. Никаких SSD, комп - пылесос, Core2 Duo, борюсь за каждый fps, поэтому подобные волшебные моды проверяю внимательно. Этот мод - пустышка.

Хотя, раз у кого-то работает... вполне возможно, что если поставить Sexlab с кучей модов к нему - там всяких настроек миллион, может и правда разница будет заметна. Но я пока этого делать не буду - не верю в чудеса.

Karandra

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

Цитата:

96 активных esp-esm-esl. Никаких SSD, комп - пылесос, Core2 Duo, борюсь за каждый fps, поэтому подобные волшебные моды проверяю внимательно. Этот мод - пустышка.

Цитата:

Хотя, раз у кого-то работает... вполне возможно, что если поставить Sexlab с кучей модов к нему - там всяких настроек миллион, может и правда разница будет заметна. Но я пока этого делать не буду - не верю в чудеса.

На 96 тоже не особенно будет заметно. В любом случае, fps этот мод не повышает ни как (и этого не было даже заявлено), только сокращает время загрузки до главного меню. И попрошу более не называть мод пустышкой, у меня достаточно примеров чтобы утверждать обратное.

serferty

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

Цитата:

В любом случае, fps этот мод не повышает ни как

Давай вот только без пошлятины, хорошо?

Мод может и делает что-то (лог в 90 мегов он делает, это правда), но как мне представляется, должно сложиться очень много факторов, чтобы была заметна разница.

Если время найдёшь - сними видео, пожалуйста, хоть с экрана на мобилку. Без монтажа, разумеется. Запустил с модом, запустил без мода - много времени это не займёт, 4-5 минут. Пока своими глазами не увижу - не поверю.

Я в некотором роде, программист, поэтому немного представляю, сколько времени занимает чтение из ини файла, даже многократное, и даже очень-очень частое. Чуть больше, чем ничего, если коротко. Мне сама идея такого мода кажется странной.

ЗЫ. на нексусе сегодняшний коммент

SSD, 520mods
Without ENB from 50s. to 35s.
With ENB from 1.50s. to 1.15s.

ну, блин...520 модов - это и есть "очень много факторов". Может и правда у кого-то работает. 520 модов - это никак не проверить. Так что всё равно не поверю, пока не увижу.

Karandra

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

Цитата:

Если время найдёшь - сними видео, пожалуйста, хоть с экрана на мобилку. Без монтажа, разумеется. Запустил с модом, запустил без мода - много времени это не займёт, 4-5 минут. Пока своими глазами не увижу - не поверю.

На этом мы закончим. У меня нет никакого желания тратить своё время на доказательства кому бы то ни было.

serferty

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

Цитата:

На этом мы закончим. У меня нет никакого желания тратить своё время на доказательства кому бы то ни было.

Цитата:

у меня достаточно примеров чтобы утверждать обратное

Давай закончим, примеры пусть останутся у тебя.

D@nmeRr

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

Можно спросить? Что конкретно делает этот мод? Просто оптимизирует моды? А что делает SSEEF? Не понятно, но очень интересно!

Karandra

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

SSE Engine Fixes правит баги и оптимизирует некоторые вещи. PPR оптимизирует только загрузку INI файлов (собственных файлов игры, из модов, ENB и т. п.).

D@nmeRr

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

Karandra, спасибо за ответ!


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

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

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

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

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

Войти

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

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