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


SkyMP — ОБТ мультиплеера в Скайриме!

С 27-го января проект SkyMP, который добавляет в Скайрим полноценный сетевой мультиплеерный режим, находится на стадии открытого бета-теста. Узнать подробности

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

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

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

* * * * * 28 Голосов
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.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 (Посмотреть все изменения)

  • 09.12.2018
  • Обновлено для Fallout 4 v1.10.120 и Skyrim SE v1.5.62.
  • 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" в дополнение к её стандартной функциональности.


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

Что с модом что без загрузка более 7 минут ((

Проблема нашлась быстрее, чем я думал. Файл hdtSkyrimOIT.ini сохранён в кодировке UTF-16, а Redirector не поддерживает загрузку файлов в этой кодировке. Ну теперь поддерживает. Необходимая опция уже включена (SkipByteOrderMark). Проверь.

 

https://mega.nz/#!cJ...RoecaHR5reKsms4

Спасибо за внимание. TrimKeyNamesA не лечит проблему, из SKGE не хочет считывать размер шрифта. Извиняюсь,я ошибся в названии ЕНБ - Kwanon ENB.

Я перебрал мои моды и выяснил ,что hdtSkyrimOIT вызывает "засвеченный эффект" , но, и без него не работает часть функций. К примеру ,некорректно работает функция отражений..По ссылке ниже приложены примеры в скриншотах.

Мой ЕНБ с hdtSkyrimOIT, SKGE и HDTmemPatch ,у него тоже есть .ini - https://yadi.sk/d/tuAl7O2uBqxx5A

Я проверил, это баг в плагине при чтении параметров из файла "hdtSkyrimOIT.ini". Я посмотрю что можно сделать с этим, но раньше следующих выходных решения не ожидается если только проблема не будет очень уж простой.

Спасибо за внимание. TrimKeyNamesA не лечит проблему, из SKGE не хочет считывать размер шрифта. Извиняюсь,я ошибся в названии ЕНБ - Kwanon ENB.

Я перебрал мои моды и выяснил ,что hdtSkyrimOIT вызывает "засвеченный эффект" , но, и без него не работает часть функций. К примеру ,некорректно работает функция отражений..По ссылке ниже приложены примеры в скриншотах.

Мой ЕНБ с hdtSkyrimOIT, SKGE и HDTmemPatch ,у него тоже есть .ini - https://yadi.sk/d/tuAl7O2uBqxx5A

Я пользуюсь Skyrim LE и Kawanod ENB. При загрузке игры с данным плагином версии 0.2 , 0.3.3 экран засвечен и выглядит так, как будто не функционирует часть функции ENB. У меня была подобная проблема,но она была вызвана стимом. Можно ли как-то решить данную проблему ?

Дай ссылку на ENB, я не могу найти такой.
 

Так же заметил, что в главном меню, при выключенном плагине тест с версией енб больше, а если плагин включен ,то шрифт очень мелкий. Тоже и с Skyrim Reload (SKGE) и его внутри-игровым меню.

У Skyrim Reload немного отвратный INI файл.
[Main]
WindowedMode             = 1
FoV                      = 90.0
WaterManagement          = 1
...
Я не знаю как именно SKGE читает его. Он использует GetPrivateProfile* функции, я это вижу, но что эта хреновина делает дальше я не знаю. Попробуй отключить (установить в 0) опцию "TrimKeyNamesA" в INI файле PrivateProfileRedirector.ini.
    • Nokreb это нравится

Я пользуюсь Skyrim LE и Kwanon ENB. При загрузке игры с данным плагином версии 0.2 , 0.3.3 экран засвечен и выглядит так, как будто не функционирует часть функции ENB. У меня была подобная проблема,но она была вызвана стимом. Можно ли как-то решить данную проблему ?

 

Так же заметил, что в главном меню, при выключенном плагине тест с версией енб больше, а если плагин включен ,то шрифт очень мелкий. Тоже и с Skyrim Reload (SKGE) и его внутри-игровым меню.

Результат при 2-ой и последующих загрузках - на лицо, использую на СЕ и через МО2.

Я, если честно, не ожидал результата вообще, стоит ~200 модов(около 350-400 если ещё и смердженые учесть)

Есть здесь кнопка расцеловать автора?

 

  • Ничего. В MO1 есть подобная оптимизация, хотя и не настолько эффективная.
  • MO2: https://www.nexusmod...ition/mods/6194.
  • Vortex. Новый мод менеджер от Нексуса на замену NMM.
  • Kortex. Мой мод менеджер. Хотя я не рекомендую его прямо сейчас. Лучше подождать новой версии (до которой самое меньшее три месяца).

 

Спасибо большое =)

Спасибо что ответили =), а тогда что мне надо использовать чтобы заработало я ведь только и использую MO1 ?

  • Ничего. В MO1 есть подобная оптимизация, хотя и не настолько эффективная.
  • MO2: https://www.nexusmod...ition/mods/6194.
  • Vortex. Новый мод менеджер от Нексуса на замену NMM.
  • Kortex. Мой мод менеджер. Хотя я не рекомендую его прямо сейчас. Лучше подождать новой версии (до которой самое меньшее три месяца).
    • Uniast это нравится

Скорее всего ты используешь Mod Organizer 1.x (MO1). Он не совместим с этим модом (что указано в описании)

 

Спасибо что ответили =), а тогда что мне надо использовать чтобы заработало я ведь только и использую MO1 ?

Здравствуйте у меня в меню скайрим перестало быть на русском да и иероглифы с этой утилитой, можете помочь чтобы я понял почему это ?

Скорее всего ты используешь Mod Organizer 1.x (MO1). Он не совместим с этим модом (что указано в описании).

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

Здравствуйте у меня в меню скайрим перестало быть на русском да и иероглифы с этой утилитой, можете помочь чтобы я понял почему это ?

Я без этой утилиты не замерял, но скорее всего, примерно так же, может на пару секунд дольше. Но у меня мало модов плюс/минус 50, и без ЕНБ.

Без ENB и при таком количестве модов выиграешь секунд 5 в лучшем случае.

А до установки как?

Я без этой утилиты не замерял, но скорее всего, примерно так же, может на пару секунд дольше. Но у меня мало модов плюс/минус 50, и без ЕНБ.

Скачал, установил на ЛЕ, при первом(свежем) запуске игры, от клика по сксе до появления меню проходит секунд 30. Если выйти из игры и запустить повторно, то загрузка до меню проходит секунд за 8. Так и должно быть? То есть, первый запуск всегда будет дольше повторных.

А до установки как? Но вообще нормально, Windows тоже кэширует данные и последующие запуски обычно проходят быстрее.

 

На СЕ, игра до меню грузится за 4 секунды, есть ли смысл ставить?

Скорее всего нет.

Скачал, установил на ЛЕ, при первом(свежем) запуске игры, от клика по сксе до появления меню проходит секунд 30. Если выйти из игры и запустить повторно, то загрузка до меню проходит секунд за 8. Так и должно быть? То есть, первый запуск всегда будет дольше повторных.

 

На СЕ, игра до меню грузится за 4 секунды, есть ли смысл ставить?

А обязательно нужен "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 стоит. пойдет ?

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

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

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

Загрузил
Информация
Последние новости Все
Последние комментарии Все
  • Играл с вашим модам и в один момент гг стал бессмертным урон проходит только от падения или ловушек, мод оч. нравится помогите разобраться в проблеме. При отключение мода урон снова проходит
  • Подскажите пожалуйста, а нет ли где нибудь мода который просто заставляет спутника доставать оружие вместе со мной? без лишних настроек, множества компаньонов и прочего.
  • Хорошая девушка, приятная. Только не хочется видеть ее все время со щитом. Будьте так добры, подскажите как можно избавиться от щита?
  • Знаешь, 99% потребителей не могут даже с готовыми решениями бороться.Им ставишь готовые решения, а люди не втыкаются даже как моды ставить.Я знаю это. У меня более 50 модов своих и прикинь сколько...
  • Хм... А почему не указал где подчерпнул идею с костюмом, а?)) Если что, то по моему этот костюмчик принадлежал одноименному персонажу Отшельник из аниме Сильнейший в истории ученик Кеничи(Кеньити,...

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




  • 9 070 Всего файлов
  • 214 Всего категорий
  • 701 Всего авторов
  • 14 990 476 Всего загрузок
  • Сиродильские волки - SSE Последний файл
  • Илия Последний автор
615 посетителей за последние 15 минут

140 пользователей, 282 гостей, 3 скрытых


Seldon84, StGrimm, Regrin_SPb, hal23jordan, Yandex (63), Mirovoi, Ribwort, Kocou 3aDpoT, Колдун-недоучка, zyx, legendary_magistr, MagnusMM, IvanRid, kairezo74, Google Mobile (7), Donnie_906, tymannik, elenagizatulina911, ruslanrus212, Стас9789, alex240494, Google (40), Дар'нас, Regnvald, Сергей Снег, Mephisto57, Zimax, Maxim of Mariupol, Juoni, Deez, Bing (48), biktop32, aleksei_k, PsinaSoDvora, Daethmond, 123цуфывфывфывыф, Nikson12, Hellena Phoenix, Iwan-peas, AnnySam, DeRpYline, AlexKotov48, BoddyB, The Same Robber, Soki_88, Dimkok332, Sinner977, Shulak68, Mail.Ru (32), cnupT9Ira, Mordegaard, RRRocc, Cerog, loyon, victor26, dron228lol, igor_belial, skyknight68, cocktrip, PENEK2011, ShadowDragon231, tgsm_2006, MarcKane, Andreeeth, Apdqqq, Vicoot, vemperen, missery, gassagera, Remedy, medvejut, Ducatti, Serkunal981, TooShe, ISewell, d1aboi, Eruanne5, Leha000, rand42rus, Spu, андрей73, Naggon, Алмат, Romka7281, din23rus, Daniel Dragonborn, Xam1974, jen, Veel, Anorion6, dserik, Thyrion456, BloodRaven342, d0r0os, Korbonel, Бегемот1982, The Andrey, Katerina2412, walderhexer, Post, Freepack, Leha520, RoS, KhanVolkihar, vetal1996, suslik26, tasanow98, Aknyzef, Delim5, rossi3525, Nazuldron, paunkiller, витёк123, Trabanant, Beatsy, Zuev, InkSansGirl, sliderz, dalls, deathtan, Freki76, Allnarta Mort, VladimirVB, Mab972, Nikitasereda, lexlenus, Scorpion8642, Inversium, Klerki, x_IIIaMaH_x, ропорлп, Mocker, Илия, Liluan, katkat74, Енорыч, Trainall, Dioneira, Silenius, MrForest, JIugckuu, Cobalt_, casper13, MAPULIMI, Волборн