Перейти к содержимому


Попробуйте новую версию базы файлов TESALL!

Файловый раздел переезжает на новый движок и меняет дизайн! Чтобы попробовать новую версию, нажмите вот сюда.

Описание Скриншоты

Скачать PrivateProfileRedirector 0.5 Протестировано

Ускорение запуска игры (кэширование INI файлов)

* * * * * 52 Голосов
skse skse64 skyrim skyrim se skyrim vr fallout fallout 4 f4se



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

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

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

Исходный код: https://github.com/K...ofileRedirector
Страницы на Нексусе: 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. Извлеките архив в папку с игрой или используйте мод менеджер.

LE: PrivateProfileRedirector LE 0.5.zip
SE: PrivateProfileRedirector SE 0.5.zip
VR: PrivateProfileRedirector VR 0.5.zip
F4: PrivateProfileRedirector F4 0.5.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: Включите ведение лога (EnableLog=1) и воспроизведите проблему. Перейдите в папку Data\[SKSE|F4SE]\Plugins, найдите файл PrivateProfileRedirector.log, сожмите его архиватором, загрузите его куда-нибудь и разместите ссылку на него в своем отчете о проблеме. Файл журнала может быть больше 100 МБ, поэтому не загружайте его как есть, обязательно сжимайте его.

Спасибо всем, кто помог проверить плагин, особенно AL12 и Augh.

Что нового в версии 0.5 (Посмотреть все изменения)

  • 0.5
  • Добавлена настройка 'SaveOnWriteBuffer', позволяющая накапливать несколько несколько изменений перед записью на диск чтобы избежать излишней нагрузки на IO подсистему.
  • Добавлена настройка 'SaveOnProcessDetach' для сохранения изменений при завершении процесса игры.
  • Добавлена настройка 'SaveOnGameSave' для сохранения изменений перед сохранением игры.
  • Исправлено применение настройки 'ProcessInlineComments'. Теперь она должна использоваться для каждой операции доступа к данным INI файлов.
  • Консольная команда 'RefreshINI' теперь доступна и для Skyrim LE.
  • 0.4.1
  • Исправлена обработка встроенных комментариев. Должно решить проблемы с SKSE-плагином FreeFlyCam (Skyrim LE/SE).
  • Встроенные комментарии более не удаляются из файла при его загрузке.
  • 0.4
  • Исправлена нормализация значений и строк с именами параметров и секций. Это должно исправить визульные проблемы с некоторыми ENB.
  • Удалены опции: 'TrimKeyNamesA', 'TrimValueQuotes', 'ProcessByteOrderMark', 'DisableCCUnsafeA'.
  • Корректная блокировка при многопоточном доступе.
  • Общий рефакторинг.
  • 0.3.4
  • Добавлена опция "ProcessByteOrderMark" (включена по умолчанию) для поддержки загрузки файлов в кодировке UTF16LE.
  • 0.3.3
  • Добавлена опция "AllowSEVersionMismatch" позволяющая отключить проверку версии xSE чтобы позволить рлагину использовать функции xSE даже если используется более новая или более старая версия игры и/или xSE.
  • Убрано преобразование путей файлов в нижний регистр.
  • 0.3.2
  • Исправлен возможный вылет при включенной опции "TrimValueQuotes".
  • 0.3.1
  • Добавлены функции GetPrivateProfileSectionNamesA/W и GetPrivateProfileSectionA/W. Это должно решить проблему с натсройками MCM некорректным FOV камеры.
  • 0.3.0
  • Добавлена версия для Fallout 4. Консольная команда "RefreshINI" работает и для Fallout 4.
  • Добавлена опция "ProcessInlineComments" для игнорирования встроенных комментариев, в противном случае они будут прочитаны как часть значения.
  • Добавлена опция "TrimValueQuotes" для корректного получения значений таких как: sNegativeDir="enbseries\LUTs\Negative Stock".
  • Исправлен возможный вылет в GetPrivateProfileString когда запрошенный параметр не найден или его дина равно нулю. Это исправление позволяет Creation Club работать, что может быть нежелательно. Выла добавлена опция "DisableCCUnsafeA" для возврата к старому поведению.
  • Функция GetPrivateProfileInt теперь может разбирать числа в шестнадцатеричном, двоичном и восьмеричном представлениях.
  • 0.2.0
  • Добавлена опция "NativeWrite" которая позволяет использовать нативную функцию "WritePrivateProfileString". Используйте её если замечаете, что некоторые файлы неправильно записываются.
  • Добавлена опция "TrimKeyNamesA. Она требуется для некоторых ENB пресетов так как они могут запрашивать свои настройки используя не нормализованные имена параметров, например " CC: Gamma=1.50 " когда ожидается "CC: Gamma=1.50".
  • Добавлена опция "ANSICodePage". Она позволяет установить кодовую страницу для преобразования не ASCII символов во внутреннее представление. Не рекомендуется менять этот параметр.
  • Версия для Special Edition позволяет перезагрузить все INI файлы с диска используя обычную консольную команду "RefreshINI" в дополнение к её стандартной функциональности.


Нажмите, чтобы перейти к просмотру скриншотов…

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

Нигде.

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

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

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

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

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

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

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

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

 Как обновить с версии 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 плагин и в сохранения игры он ничего не пишет. Можно с любой версии перейти на любую другую без каких-либо проблем.

 Как обновить с версии 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+ модов ни крашей ни лагов (причем моды скриптовые типа хантерборна и  фроста)

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

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

https://www.virustot...8653a/detection

https://www.virustot...fddc0/detection

https://www.virustot...0e687/detection

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

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

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

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

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

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

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

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

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

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

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

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

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

Именно.

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

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

Почему не совместим с МО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-битных программ.

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

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

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

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

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

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

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

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).

Загрузил
Информация
Последние новости Все
Последние комментарии Все
  • Это слишком сложно. Беттер Вампайрес - мод, сделанный исключительно для вампиров. Не удивительно, что они там так хорошо проработаны. Нету там такого всеобъемлющего формата, как в моём моде. Может...
  • Из-за этого мода вылетает квестовая локация "Большой зал Тель Нага", из-за которого не получится стать советником дома Редоран
  • Это мне ни о чем не говорит... - где-то на форумах я выкладывал ссылку на актуальную русификацию для Стим.... но где и когда уже не помню ...Sorry Что за патчи? и от куда скачены? (хотя в...
  • UPD. Прочла, что проблема может быть в кривом русификаторе. Я ставила этот: Русификатор The Elder Scrolls IV: Oblivion - DeluxeПеревод: 1С-СофтКлаб Автор руководства: Lavallet Это мне ни о чем...
  • Это слишком сложно. Беттер Вампайрес - мод, сделанный исключительно для вампиров. Не удивительно, что они там так хорошо проработаны. Нету там такого всеобъемлющего формата, как в моём моде. Может...

Другие интересные моды




  • 9 865 Всего файлов
  • 224 Всего категорий
  • 796 Всего авторов
  • 17 545 001 Всего загрузок
  • Надзиратель Бездны LE Последний файл
  • Vitalyudin Последний автор
466 посетителей за последние 15 минут

50 пользователей, 85 гостей, 2 скрытых


ubl12, Bing (34), Google (56), Anarchon, domisan756, Google Mobile (96), AlexQS, diak-z, Yandex (143), georgdrv, Darkona, nikita121, ForestDrunk, Cerga, semfiher123, Knowme, yngskaut, Dantalean, Inkeri, transmanomatic, gdekurochka, Spira, AndraDeBayrat, Mljek, Konan69, 123ййй, Nerevar Hlaalu, vali, player555, Fox-rpg, jhhghg, CASHK, NaziraKatre, JETFAEP, orina, Wh1teLine, Robinsen, Uhu189, faustihko, Matvy99, rotr, Tazf, Plamm, PPAP+_, Kano8148, Savoll, andreyvsh, yuganna, MORTYR, 138, Bjørn, SELFIR, Olga M., T1m0n