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


Большой литературный конкурс по TES и Fallout!

Принимайте участие! Получите шанс выиграть игровую клавиатуру + мышь, уникальный крафтовый ежедневник в стиле TES или Fallout, специальное печатное издание книги Гарри Поттер и Методы Рационального Мышления, а также целый ряд других призов! Принимаем работы с 18 октября до 18 ноября.
Узнать подробности

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

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

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

* * * * * 17 Голосов
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

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

Несовместимо с MO1



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

LE: PrivateProfileRedirector LE 0.3,2.zip
SE: PrivateProfileRedirector SE 0.3,2.zip
VR: PrivateProfileRedirector VR 0.3.2.zip
F4: PrivateProfileRedirector F4 0.3.2.zip

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

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

GetPrivateProfileSectionNamesA
GetPrivateProfileSectionNamesW
GetPrivateProfileSectionA
GetPrivateProfileSectionW


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

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

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

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

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

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

  • 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" в дополнение к её стандартной функциональности.


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

А обязательно нужен "SKSE Plugin Preloader"? Вроде и без него работает. Время загрузки - минус 2 сек.

Не обязательно, но в таком случае Redirector не будет работать на полную мощность.

А обязательно нужен "SKSE Plugin Preloader"? Вроде и без него работает. Время загрузки - минус 2 сек.

Думаю, это ошибка, что в архиве LE порядок папок Data-Plugins-SKSE, по идее последние две должны быть наоборот.

Да, ошибка. Исправил архив.

Думаю, это ошибка, что в архиве LE порядок папок Data-Plugins-SKSE, по идее последние две должны быть наоборот.

как узнать что он работает?

Замерить время запуска игры до установки мода и после него. Или включить лог и проверить появятся в нём какие-нибудь записи (и выключить его потом).

как узнать что он работает?

несовместимо МО1. это кто такой? у меня МО 1.3.11 стоит. пойдет ?

Скорее всего нет. МО1 это любой МО версии 1.X.Y.
1.3.11 и 1.3.15 относятся к МО1.
несовместимо МО1. это кто такой? у меня МО 1.3.11 стоит. пойдет ?

Мне уже не раз говорили, что игра становится стабильнее, хотя я понятия не имею почему.

Доброго всем денечка!
Понятия не имею как эти программы вообще работают, но программка точно оказалась полезной.
На время загрузки она не повлияла (хотя она и так была достаточно быстрой), да в принципе и пофиг на нее, но вот сама игра стала как-то стабильнее, шустрее что ли.
Огромное спасибо за эту чудесную программку!

Мне уже не раз говорили, что игра становится стабильнее, хотя я понятия не имею почему.

Доброго всем денечка!
Понятия не имею как эти программы вообще работают, но программка точно оказалась полезной.
На время загрузки она не повлияла (хотя она и так была достаточно быстрой), да в принципе и пофиг на нее, но вот сама игра стала как-то стабильнее, шустрее что ли.
Огромное спасибо за эту чудесную программку!

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

ОК! Если вдруг решит проблему отпишусь

Автор подскажи у меня игра работает на ультрах но при приближение к местам респауна вражин начинает лагать и жду пока пройдут тормаза прилично потом снова все хорошо этот плагин решает эту проблему или может что то другое подскажешь

А и что ССД нужен  я в курсе, Был да сдох На систему стоит под игры хдд

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

    • AN1012 это нравится

Автор подскажи у меня игра работает на ультрах но при приближение к местам респауна вражин начинает лагать и жду пока пройдут тормаза прилично потом снова все хорошо этот плагин решает эту проблему или может что то другое подскажешь

А и что ССД нужен  я в курсе, Был да сдох На систему стоит под игры хдд

Ну да я не использовал настройки. А чего туда лезть, если не умеешь? Я и не полез. Нц ясно, функционал аналогичен. Так и думал.

А чего ты оригинал на нексусе указал? Оригинал тут, Там дубляж и лока. Я если свои моды закидываю на некс, то тут ссылку на нексус в описании пишу. А то люди, как я, подумают, чо это перевод англишной версии))

Я сам решаю указывать оригинал или нет. Автор указан и там мой ник, должно быть очевидно. И оригинал как раз там. Разработка и тестирование велось вообще на дискорд-сервере "r/skyrimmods". Это в общем то и есть перевод английской версии так как оригинальное описание было написано AL12 и мной именно на английском и уже потом переведено и загружено сюда.

Автор я. То что файлы не соответствуют ещё ничего не значит. Мод перехватывает те же функции, что и VFS из MO1. Для MO2 это не имеет особенного значения так как функции настройки INI файлов игры не являются основными для MO2, он и без них работает прекрасно, в отличие от MO1. Ты наверное просто не используешь функции управления архивами и INI-tweaks (или как там они называются?) и поэтому ничего не сломалось.

Ну да я не использовал настройки. А чего туда лезть, если не умеешь? Я и не полез. Нц ясно, функционал аналогичен. Так и думал.

А чего ты оригинал на нексусе указал? Оригинал тут, Там дубляж и лока. Я если свои моды закидываю на некс, то тут ссылку на нексус в описании пишу. А то люди, как я, подумают, чо это перевод англишной версии))

Вообще непонятно, почем авторы указали несовместимость с МО. Там файд библиотеки и файл настройки. И они не соответствуют файлам МО. нет конфликта.

Автор я. То что файлы не соответствуют ещё ничего не значит. Мод перехватывает те же функции, что и VFS из MO1. Для MO2 это не имеет особенного значения так как функции настройки INI файлов игры не являются основными для MO2, он и без них работает прекрасно, в отличие от MO1. Ты наверное просто не используешь функции управления архивами и INI-tweaks (или как там они называются?) и поэтому ничего не сломалось.

Значит тебе повезло.

Вообще непонятно, почем авторы указали несовместимость с МО. Там файд библиотеки и файл настройки. И они не соответствуют файлам МО. нет конфликта. Ну да ладно. Просто мысли вслух. Голова то дана, чтобы думать.

Играю через МО1 с этим модом, вроде идём. Даже быстрее игра грузится, чем раньше.) Спасибо за мод!

Значит тебе повезло.

Да, 1.3.11 также относится к MO1 (1.x же). С этим модов у тебя игра просто будет работать неправильно при использовании MO1.

Играю через МО1 с этим модом, вроде идём. Даже быстрее игра грузится, чем раньше.) Спасибо за мод!

В у меня МО версии 1.3.11 и я этот мод установил, у меня не потянет? МО1 и есть то, что у меня? или МО1 это особая прога, отличная от той что у меня?

Да, 1.3.11 также относится к MO1 (1.x же). С этим модов у тебя игра просто будет работать неправильно при использовании MO1.

Mod Organizer 1.x и есть MO1, Mod Organizer 2.x это MO2. Сокращения. Сейчас это совершенно разные программы несмотря на общую историю.

В у меня МО версии 1.3.11 и я этот мод установил, у меня не потянет? МО1 и есть то, что у меня? или МО1 это особая прога, отличная от той что у меня?
просто таких вопросов я не касался.

МО1 это что? прога? я знаю есть Мод Органайзер..а МО1 не слышал

Mod Organizer 1.x и есть MO1, Mod Organizer 2.x это MO2. Сокращения. Сейчас это совершенно разные программы несмотря на общую историю.

МО1 это что? прога? я знаю есть Мод Органайзер..а МО1 не слышал

О как. Не знал.

Печально.

Но вообще архивы можно довольно коротко называть.

Для личного использования перепаковал текстуры из ССЕ для ЛЕ - получилось 11 архивов. Во второй список вошли все =)

А короткие названия это вторая часть хука в MO1. Он делает маппинг реальных имён к коротким (типа ABC.bsa) и потом скармливает короткие имена игре.

Мешает. Игра загрузит только sResourceArchiveList и sResourceArchiveList2. Никакие другие списки она загружать не будет.

О как. Не знал.

Печально.

Но вообще архивы можно довольно коротко называть.

Для личного использования перепаковал текстуры из ССЕ для ЛЕ - получилось 11 архивов. Во второй список вошли все =)

Загрузил
Информация
Последние новости Все
Последние комментарии Все
  • Новая игра нужна? А то что-то скачал и не работает. Последовательность загрузки менял в FOMM, (Ставил в самый конец) все равно не 100% :(Fallout 3 Game of the Year Edition 1.7.3
  • Пользуюсь домом Элизиум. Как только поставил ваш мод, между вайтрановским святилищем и домом Элизиум появился нехреновый разлом в графоне - разница в уровне земли. Играть не мешает, но визуально бе...
  • Всем доброго. У меня у одного ini на английском?И такой вопрос, статус бар, красная полоска, это что? Она почти всегда на минимуме?Спасибо.
  • Они одинаковы, это из-за особенностей мужского скелетона, там одно плечо в стойке чуть ниже, а при беге одинаково, если выровнять при стойке, то при беге будет криво, а если поменять на другие кост...
  • Умора. Или делайте, как я сказал, или ничего не делайте. Да у вас мания, сударь.Напротив, у кого-то мания на ванну. Типа: нам, элите, без ванной никак нельзя, потому что в речке искупаться - это мо...

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




942 посетителей за последние 15 минут

136 пользователей, 485 гостей, 6 скрытых


mirajanne13, pasha0071117, Yukiji, saneksmirnov87, rastler_pro, Xpp, Havenhaito, darya_blackdog, Bing (60), Google (158), Graywind2, Altair777, kommunar, yana3168, Yandex (72), Damon132, merlin025025, Dovah-Pony, 13v, diman486, valyter, Sqall, Redhead Sister, Wiktor001, Diman2000, Володимер, aronil98, PhinniSH11, nicklord7, godzimer234, gangstarful, Missalita, basilev, Targin, slavak40, саша иванов, ВадимЛяхов, Google Mobile (16), DaniilKreyst, Kero60, yan1234, SkillGemer, Сирана, Fallenny, Mail.Ru (9), Ggleebb, Мамору636, Artist1, ziminc, wrqt3wet, nil155665, Merawolf, Fenix577, vorcat27, Lo., Ilya1, Senychzhakov, Kott334, growl, Luciann, StarterBA, korel, ппропропо, Seldon84, G0ldb3rg, MrDad, sergi111, Dimyn70, Даготушка, VLADGOLD, Sarrena, Adarmadgzhy, WellaceKeed, 0RazoR0, Altmer Lisander, uiu, jokko, Maks19709, Pokajisiski, lionelbarateon, вкпру5ы, Nikita66632, ty13rd3rd3n, onetimetwo, openglpool, графорд, Юлия222, Valkerer, IamKoldyn, NezOx12, MrMakeyTroll, bandit3d, RougeRenard, Quyix, ZSCX5, Margosina, majorbrom, fes55555, semaaa, Sazar, MyHaker, RadIKing_Tupak, sanyachir, trololo1337, StMichael07, l_axe, Legio_Ferrata, Olgerdon, Egonator3, _WOLF_999, Zeretox, HarukiChann, Pirat_wolf, dark witcher, FreshAlex, lurelure, Vordreck, Kot3333, Ultar, Sem742, hoochara, smpalex, Vlamoric, ueberoutlaw, solo11, Sanchez05, Лиарелла, Aoda, VKomar, Okumura Rin, ooooon, borodilnik, IndianSquaw, minamireika, Avgustt, Яджи15, paradox444, Enimaster, darkold, _SAYGON_, Nibiro13