Jump to content
Sign in to follow this  
stas2503

Инфо Тема Crash Fix Plugin

Recommended Posts

SKSE-плагин, который может помочь попытаться исправить некоторые сбои, которые замечены в

Скрытый контент

    Дайте реакцию или ответ на эту тему, чтобы увидеть скрытое содержимое.

вы можете включить / выключить каждое отдельное исправление в SKSE / Plugins/CrashFixPlugin.ini, рекомендуемые настройки по умолчанию, но если у вас есть проблемы с чем-то, и вы знаете, что делаете, вы можете изменить их. Если вы хотите точно увидеть, какие сбои исправлены (с адресами) и небольшим объяснением моего лучшего понимания сбоя, то прочитайте INI-файл или readme на странице nexus mod. 

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

Как использовать патч распределителя памяти?
1. Откройте CrashFixPlugin.ini и найдите "UseOSAllocators=0"
2. Измените его на " UseOSAllocators=1"
3. Загрузите и установите предварительный загрузчик плагинов SKSE
4. Начните игру, если вы получите сообщение об ошибке, говорящее, что патч памяти не может быть применен, прочитайте сообщение о помощи, иначе вы хорошо идете.
(5.) Вызывает сбой игры, и вы используете ENB? Установите ExpandSystemMemoryX64=false в enblocal.ini
(6.) Вызывает более частые сбои игры (особенно с ползунками UNP RaceMenu)? Попробуйте AlignHeapAllocate=1 в CrashFixPlugin.ini

Советы по дополнительной стабильности:
(Это вещи, которые я наблюдал, а не 100% факт!)

Если у вас нет некоторых строк, перечисленных ниже в вашем INI, это означает, что они установлены в значение по умолчанию.

Data / SKSE/SKSE.ini (не требуется, если UseOSAllocators=1 в CrashFixPlugin.ini)

  1. Установите DefaultHeapInitialAllocMB: Memory в значение 768. Если вы используете много модов или более высокий uGrid, чем 5, то установите 1024. Помогает с CTD во время сохранения нагрузки, особенно если вы можете загрузить сохранение после qasmoke. Максимальное значение - 1280. Если вы используете ENB, вы можете получить CTD при запуске с более высоким значением, чем 768 и ExpandSystemMemoryX64 true в enblocal.ini!
  2. Установите ScrapHeapSizeMB: Memory на 256. Игра не может использовать больше 256 из этого, и установка выше не имеет никакого смысла.

Skyrim.ini:

  1. Uexterior Cell Buffer: General-установка этого слишком высокого значения приводит к большим сбоям, особенно когда игра хочет выгрузить много ячеек сразу. Если вы установите 0 или просто удалите его из вашего INI, то игра решит это, и это лучший способ.
  2. bPreemptivelyUnloadCells: General-установка этого значения 1 будет означать, что игра очищает буферы ячеек и выгружает ячейки всякий раз, когда это возможно. Значение по умолчанию равно 0, что означает хранить ячейку в памяти до тех пор, пока нам не понадобится место для других ячеек. Я считаю, что 0 лучше, нет никакой причины немедленно выгружать ячейку, буфер был реализован не просто так.
  3. fPostLoadUpdateTimeMS:Papyrus-установка выше приведет к более длительной загрузке. У меня 500, и мне кажется, что это хорошо работает. Вы можете попробовать 750 или даже 1000+, если у вас есть много скриптов-тяжелых модов.
  4. fUpdateBudgetMS:Papyrus - удалить(это значение по умолчанию равно 1.2). Если у вас есть много скриптов тяжелых модов и хороший ПК, вы можете установить выше, например 2.0, однако это может уменьшить ваш FPS, когда происходит много вещей.
  5. fExtraTaskletBudgetMS:Papyrus - удалить (это значение по умолчанию 1.2). Смотреть выше.
  6. bEnableLogging:Papyrus - установить 0. Нет никакой причины регистрировать папирус, если вы не разрабатываете мод. Постоянная запись в файл не очень хорошо сказывается на производительности. Журналы папируса не имеют ничего общего с поиском причин сбоев, хотя вы можете использовать это, чтобы найти неподобающие сценарии модов,которые могут быть полезны, я бы рекомендовал отключить его для нормального геймплея.
  7. bEnableTrace:Papyrus-set 0. Смотреть выше.
  8. Любые другие настройки папируса-Удалить. Изменение папируса по умолчанию просто вызовет нестабильность или запаздывание скриптов.
  9. iPresentInterval:Display - VSync включен или отключен. Вам не нужно будет менять это, так как значение по умолчанию равно 1, и это хорошо.

Safety Load (не нужно если UseOSAllocators=1 в CrashFixPlugin.ini):
Установите предохранительную нагрузку, если у вас есть бесконечный загрузочный экран или заморозка в любой точке. Он исправляет ошибку в выделении памяти,которая вызывает взаимоблокировку. Да, вам все еще нужно это, если у вас есть патч памяти SKSE, нет, они не делают то же самое. Патч памяти SKSE скрывает проблему взаимоблокировки дольше, потому что он выделяет больший блок памяти. Если у вас нет замораживания или бесконечного загрузочного экрана вообще, то вам это не нужно!


Stable uGridsToLoad:
Не используй это. Он вызывает повреждение памяти и ничего не делает, если вы не меняете свою настройку uGridsToLoad в INI часто (я не знаю, почему вы это делаете).

ENB:
Я не эксперт в ENB, но эти два я рекомендую в enblocal.ini:
ExpandSystemMemoryX64=false
ReduceSystemMemoryUsage=true

Bashed Patch:
Ты должен сделать это. Это помогает разрешить множество конфликтов между модами, особенно связанных с уровневыми списками, которые могут быть большой проблемой. Если нет никаких конфликтов, это на самом деле не приносит никакого вреда, но даже небольшой список модов обычно имеет некоторые из них.

LOOT:
LOOT может быть хорошим инструментом для решения проблем с порядком, но он не идеален, иногда он неправильно размещает моды, используйте свое лучшее суждение. LOOT также может предупредить вас о других потенциальных проблемах с модами.

TES5Edit cleaning:
Сделай это! Лут может сказать вам, какие моды нуждаются в очистке.

Прохождение игры:
Не устанавливайте и не удаляйте моды (с файлами ESP) в середине прохождения игры. Даже изменение порядка может быть очень плохим, особенно если вы используете битый патч или что-нибудь с SkyProc (requiem, perkus maximus). Это, конечно, относится и к ESP-файлам! Графические моды и чистые Плагины SKSE прекрасно работают.

 

Общие вопросы:

UseOSAllocators=1 и сбой при касании ползунков при создании персонажей или в других случаях.
Установите AlignHeapAllocate=1 в CrashFixPlugin.ini, недостатком является увеличение времени загрузки и увеличение использования памяти.

UseOSAllocators=1 и сбой при запуске игры или загрузке сохранения или вскоре после этого.
Установите ExpandSystemMemoryX64=false в enblocal.ini

Игра говорит, что окно сообщения "исчерпывает память" и выходит из строя.
установите ReduceSystemMemoryUsage=true в enblocal.ini

Земные текстуры мерцают странно.
Установите ExpandSystemMemoryX64=false в enblocal.ini

Скачать плагин можно на странице

Скрытый контент

    Дайте реакцию или ответ на эту тему, чтобы увидеть скрытое содержимое.

Тема предназначена исключительно для помощи в настройке этого SKSE-плагина

Edited by stas2503
  • Like 3

Share this post


Link to post
Share on other sites

Содержимое Ini-файла

; Информация: полностью отключите распределитель памяти Skyrim и используйте обычный C malloc. Это означает, что блоки памяти больше не будут существовать
; и игра не рухнет на каком-то произвольном пределе. Теоретически он также должен быть быстрее (особенно загрузочные экраны)
; и устраните большинство проблем ILS или замораживания.
- Очень важно!!: Вам нужен пользовательский загрузчик плагинов, чтобы запустить этот so CrashFixPlugin.dll загружается до того, как игра инициализируется!
; Вот ссылка на "SKSE Plugin Preloader":

Скрытый контент

    Дайте реакцию или ответ на эту тему, чтобы увидеть скрытое содержимое.

; Когда это включено, то Safety Load и ssme / SKSE Memory patch не нужны, но они не вызывают никаких проблем, если они у вас есть.
UseOSAllocators=1

 

; Info: Когда игра неожиданно выходит из строя, то напишите соответствующую информацию из crash в Data / SKSE / Plugins/CrashLog/crash_time.txt
; Если игра выходит из строя при исчерпании памяти или имеет другие проблемы, то файл может не появиться или стать пустым!
; Если игра выходит из строя в dll SKSE или dll плагина SKSE, то информация о сбое может не появиться.
; Значение этого параметра обрабатывается как флаги, где:
; 1-enabled (TL; DR установите это для нормального включения)
; 2 - Не записывает метку времени в имя файла, а вместо этого всегда записывайте в crash_last.txt (перезаписывается по умолчанию)
; 4 - Не игнорирует уже известные сбои, обычно те, которые отображают окно сообщения, игнорируются
; 8-Добавить файл, если он уже существует, вместо замены
; 16-когда игра выходит из строя CTD без окна сообщения о том, что игра перестала отвечать на запросы
RecordCrashInfo=0

 

; Записывает сообщения, которые появляются в окне ошибки, также в файле " Data / SKSE/Plugins/CrashFixPluginLog.формат txt"
LogMessageToFile=1

 

; Info: предупреждает пользователя при запуске, если настройки ENB неверны.
WarnBadENB=1

 

; Info: происходит сбой неизвестного конструктора (объект TESObjectLAND::unk_24), используется инструкция movaps
; но heap allocate не выделил этот объект, чтобы иметь 16 выравниваний. Аварии случаются все чаще
; с высоким Greed, потому что больше ячеек загружено и больше шансов рассогласования.
; Решение: можно выровнять только этот объект или выровнять все объекты. Пытаясь вместе со всеми увидеть, что же происходит с тех пор
 такая же ошибка может быть и в другом месте, и я думаю, что видел ее в другом месте.
; Результат: исправляет эти типы сбоев. Некоторые люди сообщают о более длительном времени загрузки и более высоком использовании памяти с включенной функцией!
; Update: отключен по умолчанию, так как он несовместим с некоторыми настройками ENB, более высоким использованием памяти и более длительным временем загрузки.
; Это безопасно и, вероятно, хорошо включить, если у вас этих недостатков. Лично я такого не испытывал
; любая несовместимость с ENB, некоторые люди говорят, что это портит их игру, вот почему я написал это здесь.
AlignHeapAllocate=1

 

; Info: игра выходит из строя, когда strcmp передается нулевой символ*
; Адрес: D573A8
; Причина: чаще всего происходит в TthkbClipGenerator:: activate (0xBF2FB3),
; отслеживаемая проблема в скелете была удалена в другом потоке в то время как
; эта функция пытается использовать его. Видели и в других местах
- тоже.
; Решение: Неизвестно. Это на самом деле не исправляет его для BF2FB3, потому что он просто появляется в foot IK.
; Если заплата в foot IK всплывает в hand IK, проблема больше, чем просто это.
; Все еще включен, потому что он может исправить сбои в других местах тоже это очень распространенная функция.
; На самом деле нет никаких причин не иметь его, так как игра наверняка рухнет с этим выключением.
; Включите один из них. NoTry может быть немного быстрее, но ловит меньше аварий.
StrCmp=1
;StrCmpNoTry=1


; Информация: игра выходит из строя, когда strlen используется на нулевом символе*
; Адрес: 46EDF0
; Причина: сравниваются имена NiNode, одно из имен NiNode равно NULL.
; Код:

Скрытый контент

    Дайте реакцию или ответ на эту тему, чтобы увидеть скрытое содержимое.


; Решение: неизвестно, временно обойти весь strcmp, так как он не используется.
; Результат: кажется, остановил крах для меня.
StrLen=1

 

; Информация: неизвестно, сообщается как загрузка сохраненной игры.
; Адрес: 8B437C-vtable кажется 0 или используется неправильный указатель.
; Решение: пропустить, так как это последняя часть функции и уже имеет проверку в любом случае
UnkUniqueId=1

 

; Информация: неизвестно, сообщается как загрузка сохраненной игры. Возможно, это связано с рендерингом. Первый
; аргумент - gNiDX9Renderer->unk_650, который является указателем.
; Address: CEC5EC-нулевой указатель передается в качестве второго аргумента функции, эта функция его не ожидает
; Решение: обойти с помощью аргумента, если он равен нулю. Может быть, и не исправит.
Render650=1

 

; Информация: неизвестно, никакой информации не было предоставлено. // char _ _ thiscall TESObjectREFR:: unk_4D4EB0(TESObjectREFR *this)
; Адрес: 4D4EB9-vtable базовой формы равен 0
; Решение: обойти и сделать вид, что базовая форма равна 0, так как функция уже выполняет эту проверку сама
UnkObjRef4D4EB0=1;

 

Информация: игра сохраняет данные о местоположении, чтобы сохранить игру. Эти данные являются нулевыми.
; Адрес: 4C6031
; Причина: игра не проверяет наличие нулевого указателя
; Код:

Скрытый контент

    Дайте реакцию или ответ на эту тему, чтобы увидеть скрытое содержимое.


v5 is IntSeenData, size is known.
; Solution: Only solution seems to be temporarily creating an empty IntSeenData and writing this to stream instead.
NullSeenData=1

 

; Info: BSFixedString:: Set вызывается с нулевым аргументом.
; Адрес: A51285
; Решение: игнорировать вызов при нулевом аргументе. Не совсем решение: P, вероятно, лучше, чем сбой, хотя.
StringRefSetNull=1

 

; Информация: этот сбой происходит потому, что функция strlen авария была предотвращена.
; Адрес: 46EE1D
; Решение: пропустите это.
; Результат: См. StrLen.
SkipStrLenCrash=1

 

; Info: этот сбой происходит по неизвестным причинам во время загрузки. Что-то связанное с графом поведения.
- Одна из самых распространенных аварий, которые я получаю.
; Адрес: C27A8F
; Решение: не знаю, пытаясь позволить игре думать, что значение равно 0, и посмотреть, что произойдет.
; Результат: с тех пор у меня не было этой аварии.
bhvGraphUpdateLoad=1

 

; Информация: авария происходит во время загрузки, без понятия. Возможно, это связано с рендерингом.
; Адрес: D822D8
; Решение: попробовал что-то исправить, но это, вероятно, не работает.
Unk11=1

 

; Информация: несовместимый скелет, но может быть и что-то еще.
; Адрес: 46ECF5 - доступ children NiNode
; Решение: нет решения отсюда, но так как он все равно разобьется, мы могли бы, по крайней мере,
; предупредите пользователя о возможном несовместимом скелете и позвольте ему исправить это. Показывает messagebox
MissingNode=1

 

; Info: сбой, это функциональный массив и индекс выходит за пределы границ, что приводит к вызову недопустимого адреса.
; Адрес: 6F3A31
; Решение: проверьте индекс перед вызовом.
; Результат: с тех пор у меня не было этой аварии.
IndexError1=1

 

; Info: сбой происходит в функции "MovementPlannerAgentWarp", неизвестно, что она делает. LookupFormById возвращается
; NULL и game не проверяет и не ожидает, что это произойдет.
; Адрес: 76E358
; Решение: игра имеет проверку на то, что если возвращаемый объект не является актером, он устанавливает 0 в качестве значения, мы сделаем то же самое, если будет возвращен NULL.
MovementPlannerAgentWarp=1

 

; Info: сбой происходит в DDB0A0, похоже, используется в некоторых vtables анимированного объекта havok.
; Обычно эти сбои исправляются путем выравнивания выделенной памяти с 16 байтами. Но
; это не так, потому что он может быть использован в статических местах памяти, которые не используются
; Распределитель Skyrim вообще, это означает, что память не гарантированно будет выровнена на 16 байт.
; Адрес: DDB0B2
; Решение: используйте инструкцию movups вместо movaps.
UnallocatedMovaps=1

 

; Info: Weird crash with NULL ptr in TESWorldSpace::GetCellByCoordMask_4375D0, don't know why it happens.
; Address: 437604
; Solution: return 0 if this crash would happen.
; Result: Haven't had this crash since, but it's rare anyway so it could be coincidence.
CellNullCrash=1

 

; Info: Crash when trying to do: v14 = MagicItem::unk_406C70(a3)->properties.projectile;
;       This 406C70 function is something like "GetMainMagicEffect". Sometimes though it may return
;       NULL and in 90% of places the game expects this and checks for NULL result, this patch will
;       fix the remaining locations.
; Address: 7E39EC, 657677, 6577D5, 65FEEC, 8127CF
; Solution: Check for NULL and skip (depends on location) if it is.
GetMainMagicEffect=1

 

; Info: Crash when game searches node "NPC COM [COM ]" on actor but the node was not found. This is unexpected
;       for game because it uses the result without checking for NULL. This whole thing has something to do
;       with mounting. The function that does this whole thing is present in "StopMountCameraHandler" and
;       "MountInteraction" vtable. Also it seems that this has something to do with updating position.
; More info: Was reported that this could happen if non-humanoid tries to mount a horse. This is a rather specific
;            error with a mod. Instead we will show error message to user when this happens so they can
;            fix or uninstall that mod.
; Address: 6E7F85
; Solution: Check for NULL and if it is NULL then use base node of actor instead of this. It's fine because
;           we only take X and Y position from it.
; Solution2: Show error message and crash after.
MountNodeCrash=0
MountNodeWarn=1

 

; Info: Crash when game is trying to setup foot IK but there's a problem. Real cause is unknown but for me.
;       So we will display a message box when this crash happens. Seems related to the
;       StrCmp crash in BF2FB3, maybe. Try reducing the amount of installed animations.
; Address: BFECC1
; Solution: No solution from here, display warning with helpful tips.
IKCrashWarn=1

 

; Информация: сбой происходит при рендеринге и сохранении. Я думаю, что это происходит, когда он рендерит изображение сохраненной игры.
; if ( v8 ) / / < - not null

Скрытый контент

    Дайте реакцию или ответ на эту тему, чтобы увидеть скрытое содержимое.

; Адрес: CB051A
; Решение: мы пропустим этот блок if, когда *(v8 + 8 ) равно null, как если бы v8 был null.
RenderSave=1

 

; Info: Crash was reported as casting spell. Only happens sometimes. Happens in movement controller.
;       Seems like vtable is NULL.
; Address: 76636B
; Solution: This happens in a for loop and it happens in if clause. We can skip if this crash would happen.
MoveControllerCast=1

 

; Info: Crash when saving game and trying to render (possibly save game image again?). It's trying to get
;       vtable of NULL pointer which will crash.
;   if ((*a2 + 76)(a2, a1)) // a2 is null
;   {
;     *(0x1BA9344) = a1;
;     *(0x1BA9340) = a2;
;   }
;   else
;   {
;     *(0x1BA9340) = 0;
;     *(0x1BA9344) = 0;
;   }
; Address: CAF9F7
; Solution: Skip function call and set return value to false so we don't have to use the NULL value.
SaveRenderCrash=1

 

; Info: Crash when game tries to get loaded node but it is set to NULL. Only ever seen this on two people.
;       It is most likely actually related to corrupted mesh being unable to be loaded and game does not expect it.
;       NiNode * node = a->GetLoadedStateNiNode();
;       v2 = node->(*(vtable+0x14))(); // <- node is NULL
;       if(v2) { *((int*)(v2 + 212)) = 0; } // <- we can skip this part since it has a check anyway
; Address: 4C119E
; Solution: Real solution would be to find the broken mesh and remove it. So lets notify user instead of ignoring this part.
; Enable one of the following, ignore problem and try to continue or show message box with object reference form ID and form Type.
NullLoadedNodeIgnore=0
NullLoadedNodeNotify=1

 

; Info: Crash in GarbageCollector::Add when actor argument's base form is NULL. Game does not check this, when in
;       some other places it does check for this possibility.
; Address: 690A69
NullActorBaseForm=1

; Info: Crash when modifying actor value but the pointer is bad, possibly due to actor being invalid. This happens often
;       when script engine is lagged and spells want to modify actor values a lot.
; Address: 6E07C6
AVSetCrash=1

 

; Info: If your scripts use more than 65535 different strings then the save game will be corrupt and not possible to load.
;       This fixes it by changing the save file format slightly if string count is higher than 65520. That means if you
;       have this option enabled and your save game would have become corrupt it changes format instead and vanilla game
;       or save game tools will not be able to open it! Opposite is true as well, if the count goes below 65520 after
;       and you save again then the format reverts to vanilla.
; TLDR: Fix for

Скрытый контент

    Дайте реакцию или ответ на эту тему, чтобы увидеть скрытое содержимое.

; Address: Around 30 different parts of code had to be patched.
StringCount32=1

 

; Info: Warn if SKSE memory patch is not active. This checks if default heap size is 256 or less and warns if you try to
;       click New, Continue or Load in main menu. Still lets you play the game, just shows a warning.
WarnSKSEMemoryPatch=1

 

; Info: If AlignHeapAllocate is disabled by user then fix that one movaps crash manually. There's no downside to having this enabled.
; Address: 4BD832
FixMovApsManuallyIfAlignedAllocateIsDisabled=1

 

; Info: Overwrite array allocator directly when UseOSAllocators is set to 1. Don't understand the code enough yet to
;       say if it's safe or not. At this point it's just here for testing.
OverwriteArrayAllocator=0

 

; Info: Player's NiNode (not necessarily same as loaded node) is NULL while drawing world.
; Address: 69B84B
NullPlayerNode=1

 

; Info: Function TESObjectREFR::CanBeMoved_4D9CF0 is called on an object reference that has NULL base form. This is not expected
;       and will crash. We will instead return false from that function if that's the case. The problem is most likely larger than
;       just this, if you prefer to crash instead disable it.
; Address: 4D9D09
NullBaseFormMove=1

 

; Info: Game tries to iterate child nodes of a NiAVObject but it's possible that the target is not a NiNode and can't have child nodes.
;       This ends up in a NULL pointer crash.
;  v26 = v22->vtable->sub_5EADD0(v22); // Returns "this" if v22 is a NiNode and returns "NULL" if not.
;  for ( i = 0; i < v26->children.emptyRunStart; ++i ) // crash because v26 is NULL.
; Address: 46CA06
NullRefNode=1

 

; Информация: что-то делается с экипировкой NPC, но одна или несколько записей являются нулевыми, и игра выходит из строя.
; Адрес: 561FF7
NullOutfitEntry=1

 

; Info: актер удаляется, а базовая форма имеет значение NULL.
; Адрес: 6BAC9A
ActorDeleteNullBase=1

 

; Информация: делает две вещи:
; 1. Отслеживает последние X-файлы, открытые игрой.
; 2. Если игра выходит из строя при чтении двоичного потока данных (например, файл NIF, но могут быть и другие), то покажите список окон сообщений
- эти файлы.
; Это может быть полезно для отслеживания поврежденного файла NIF.
DebugStream=1

 

; Информация: когда игра не может создать текстуру в памяти, должны ли мы отображать предупреждение и выходить из игры? Рекомендуется да потому что вы будете
; смотрите фиолетовые текстуры пару секунд, а затем игра все равно рухнет, так как не ожидается, что это будет нулевое значение.
WarnTextureFailure=1

 

; Info: что-то сделано с анимацией face gen на BSFaceGenNiNode, но родительский узел равен нулю, что является неожиданным.
; Адрес: 5A8808
NullParentNode=1

 

; Info: В целях отладки при запуске игры запустите allocator benchmark и запишите результаты в "AllocatorBenchmark.txt" в корне Скайрима
; справочник. Это можно сравнить ваниль, выровнены ванили, Танос, aligned_malloc и пользовательских блока памяти реализации. Когда вы достигнете
; главное меню игра начнет тест, дождитесь сообщения о завершении теста, затем закройте игру и отключите эту опцию.
RunAllocatorBenchmark=0


; Информация: сколько объектов нужно выделить и освободить для каждого размера (8, 12 и 16).
CountAllocatorBenchmark=1000000


; Информация: сколько раз нужно выполнить каждый тест.
TimesAllocatorBenchmark=2


; Информация: сколько потоков должно выполняться одновременно. Наиболее точным является запуск только одного потока, хотя вы также можете попробовать 2, чтобы увидеть производительность
; из потокобезопасного кода.
ThreadsAllocatorBenchmark=1

 

; Информация: включите пользовательский распределитель блоков для небольших размеров. Может помочь с проблемой фрагментации памяти. Этот параметр ничего не делает, если UseOSAllocators
; не включен.
CustomMemoryBlock=1

 

; Информация: количество мегабайт, выделяемых для пользовательского блока распределителей. Эта сумма разумно делится между каждым блоком.
; Не имеет никакого эффекта, если CustomMemoryBlock не включен. Чем больше вы выделяете здесь, тем меньше у вас памяти для других вещей!
CustomMemoryBlockTotalSizeMb=128

 

; Info: показать использование каждого блока памяти в процентах при открытии консоли. Не имеет никакого эффекта, если CustomMemoryBlock не включен.
; Это может помочь вам настроить значение CustomMemoryBlockTotalSizeMb.
MemoryInfoConsole=1

 

; Информация: исправлены два сбоя, характерных для Enderal mod. Похоже, это как-то связано с хавоком.
; Адрес: EBC0A6 и ECD92E
EnderalSpecific=1

 

; Info: активный список эффектов акторов не является потокобезопасным, но доступ к нему осуществляется и изменяется из нескольких потоков, это добавит мьютекс к каждому актору.
; список эффектов.
FixUnsafeEffectList=1

 

; Информация: игра выходит из строя, когда форма боевого стиля актера по какой-то причине равна нулю. Предупредите пользователя и попытайтесь отобразить ссылку актера и базовый идентификатор.
; Адрес: 8368B1
WarnNullCombatStyle=1

 

; Info: установите частоту обновления ОС на 1 миллисекунду (обычная-около 16) и замените GetTickCount на timeGetTime. Это только для отладки! Не используйте его.
; Может снизить производительность.
HighFrequencyOSTimer=0

 

; Информация: сделайте таймер обновления игры более точным. Это только для отладки! Не используйте его.
HighFrequencyGameTimer=0

Edited by stas2503
  • Like 2

Share this post


Link to post
Share on other sites

@stas2503  хорошо написано, но добавлю пару уточнений:

1. TES5Edit cleaning - некоторые моды не переживут этого, так что use at your own risk...

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

3. раз уж упомянуто "uGridsToLoad", то нужно упомянуть и "uExterior Cell Buffer", ибо второе высчитывается из первого.

4. у крашфикса есть кошернейшая вещь- CustomMemoryBlockTotalSizeMb . если вколбасить MemoryInfoConsole = 1, то будет видна забивка блоков памяти в % . доведя увеличением CustomMemoryBlockTotalSizeMb  значение до 80-85% можно сильно сократить количество вылетов (у меня оно задано в 96 )

  • Like 2

Share this post


Link to post
Share on other sites

Вот такая ошибка выскакивает через некоторое время игры.
 

Спойлер

b03280027cb3fca382197d235a922db4.png

То что ENBoost установить надо, это понятно. А без Установки буста это решить можно как то?

Share this post


Link to post
Share on other sites

@stas2503  стас, дело не в бусте, а тупо в выделении памяти. попробуй в конфиге skse чуток докинь памяти и попробуй уменьшать/увеличивать CustomMemoryBlockTotalSizeMb - возможно либо объем блоков маловат, либо блоки великоваты. но первым делом залогируй выделение памяти у skse.

Share this post


Link to post
Share on other sites

@stas2503 это ненормально. у тебя наверняка забивка блока наверняка не более 60-65%, а самих блоков уже мало... для пробы подкинь чтонить навроде 92-96 и потом глянь на заполнение блоков, оптимально- около 85-90 на пике.

Share this post


Link to post
Share on other sites
Спойлер

 

TESV_2020-03-20_21-25-07-87.jpg

 

TESV_2020-03-20_21-26-58-43.jpg

 

Поставил на 96 - пока так. Попробую побегать.

Share this post


Link to post
Share on other sites

Что то я накосячил с игрой своей и уже голова взорвалась искать проблему. Игра запускается и в главном меню нажимаешь старт новой игры, сразу вылет. В крашфиксе такое значение выдает: 6D0036 что с этим делать я хз. 6 Часов потратил на решение и так его и не нашел.  

Share this post


Link to post
Share on other sites

@mns Отключить моды, стартовать новую игру, а потом уже не торопясь и с чуством включать обратно.

Share this post


Link to post
Share on other sites

Оказались виноваты два мода animation loading fix, возможно с чем то не совместим и Sexy_Bandit_Captives: этот я вообще не буду больше ставить, меньше геморроя.

Share this post


Link to post
Share on other sites

В общем вопрос использования Crash Fix Plugin в обход использования ENB bosst остался открытым.

Без ENB работать плагин не хочет.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.