Важно Игровой конкурс скриншотов «День смеха»
  • 564
  • 1
Приветствую всех тех, кто заглянул в эту тему. День смеха близится к своему завершению, а у кого-то он и подавно уже завершился. Как бы там ни было, весёлые моменты в жизни ещё будут и не раз...
Важно Одиннадцатилетие Форума
  • 930
  • 12
Сегодня нашему Форуму исполнилось 11 годиков, и пока наши Админы спят, работают, а может быть и уже отмечают, я беру на себя обязанность поздравить Вас всех с этим днём! :partying::blush: А ведь...
Готика 20-летие игры!
  • 2.002
  • 4
Сегодня такая дата, мимо которой просто так пройти было бы неправильно, ведь именно 15-го марта — ровно 20 лет назад, в свет вышла любимая многими первая Готика — прародительница легендарной и...
Новости Diablo® II: Resurrected — Переиздание будет!
  • 3.085
  • 19
Как и ожидалось, переиздание Diablo II и дополнения Lord of Destruction будет! Объявили об этом на BlizzConline 2021, показали немного геймплея и рассказали больше подробностей. Diablo II...
Иконка ресурса

Патч Mem fix v06 others 0.6

Повышает стабильность работы с памятью
Неофициальный патч памяти для повышения стабильности игр Готика 1 и Готика 2: Ночь Ворона
(Это тот же фикс памяти версии v06 (про отличия ниже), но скомпилированный с другими библиотеками, на случай если с Hoard у кого-то возникнут проблемы)

TechFAQ-00.png

Описание:
Альтернативная версия для замены игровой библиотеки для работы с памятью SmartHeap (shw32.dll) на более новую Hoard. Уменьшает количество фризов и делает реже вылеты с ошибкой OutOfMemory. Наибольший прирост будет на х64 системах с ОП выше 4 гб.

Установка:
  • Поставьте vc_redist.x64.exe или vc_redist.x86.exe (в зависимости от своего компьютера) из VS2015C++ Redistributable;
  • Перед установкой на всякий случай сделайте резервную копию файла ...\System\shw32.dll в папке с игрой;
  • Распакуйте из одной (на выбор) папки архива Gothic_1_2_mem_fix_v06_others.zip (CRT, JeMalloc или TCMalloc) DLL файлы в игровую папку ...\System с заменой оригинальных файлов;
  • На x64-разрядных системах рекомендуется применять совместно с 4gb_patch (но это не обязательно);

Доступны настройки для SystemPack.ini:
Код:
[SHW32]
reserveInMb=50     ; (v05+) Сколько резервировать (в Мб)
bShowGothicError=1 ; (v05+) Использовать обработчик ошибок Готики (показывать окно фатала со стеком)
bShowMsgBox=0      ; (v05+) показывать MessageBox
bUseNewHandler=1   ; (v06+) использовать обработчик OutOfMemory из (v04+)
reserveInMb - сколько памяти будет зарезервировано на случай OutOfMemory (в Мб). Значение по умолчанию: 50.
5 - минимальное значение, оптимально если отключать bShowGothicError или если у вас не установлен 4gb_patch и часты вылеты по OutOfMemory
30-60 - хороший выбор, если не включать bShowMsgBox, с большой вероятностью правильно сохраняет стек.
120-150 - применять только с 4gp_patch, хороший выбор, если включать bShowMsgBox и bShowGothicError или если важно что программа по возможности более корректно завершится при включенном bShowGothicError.
300 - максимальное значение

bShowGothicError - показывать ли ошибку готики (1 - да, по умолчанию), (0 - нет) в случае возникновения OutOfMemory.
Если выключенно, то в этом случае вы можете резервировать минимальное количество памяти, однако не будет сообщение о фатале и игра не сможет обработать эту ошибку. Это похоже на то, как если бы при OutOfMemory готика автоматически завершалась через диспетчер задач, не оставляя никакого сообщения об ошибке, что не рекомендуется. Если выключен также и bShowMsgBox, то игра просто закрывается при OutOfMemory, без каких-либо уведомлений.
В v05 отключение срабатывает не всегда и иногда игра все-таки окно Готики даже при bShowGothicError = 1.

bShowMsgBox - показывать стандартную для виндовс сообщение об ошибке с текстом OutOfMemory. Теперь-то вы точно будете знать, что произошел именно OutOfMemory, а не какой-то другой фатал. Правда при включенном bShowGothicError в v05 требует резервирования большого количества памяти.

bUseNewHandler - вид используемого обработчика OutOfMemory
0 - отлавливать только те OutOfMemory, которые произошли при вызове методов из shw32.dll. Этот метод применялся в версиях v03a-
1 (по умолчанию) - позволяет отловить OutOfMemory во всех модулях, даже если они используют свой аллокатор, а не обращаются к shw32.dll. Использовался в (v04-v05). Однако у некоторых пользователей он может вызывать микрофризы в городе, в этом случае рекомендуется установить 0.

Версии Gothic 1/2 mem fix v06 others и её отличия от Gothic 1/2 mem fix v06:
В папке:
  • CRT лежит версия, использующая стандартные библиотеки VS C++ 2015
  • JeMalloc - версия, использующая JeMalloc 4.0.4
  • TCMalloc - TCMalloc 2.4

Судя по доступным тестам и JeMalloc и TCMalloc должны находиться примерно на уровне Hoard, и все они показывают значительно лучший результат, чем CRT (стандартная библиотека C). По личным впечатлением, даже CRT справляется лучше оригинальной shw32.dll, во всяком случае по частоте OutOfMemory.
Сам я эти библиотеки не проверял, но начало новой игры, сохранение и загрузка работают.
При микрофризах как и ранее можно попробовать установить bUseNewHandler=0 в SystemPack.ini, хотя на этих сборках они могут оказывать другое влияние на производительность.

Если не заработает эта версия, то попробуйте другую (ссылка на тему ниже)

Известные проблемы:
  • Если кого проблемы с микрофризами в городе в v.06, то попробуйте поменять в SystemPack.ini значение bUseNewHandler с 1 на 0
  • Возможна несовместимость некоторых версий этого фикса с (некоторыми) версиями рендера Dx11

Дополнительно:
История изменений патча смотрите в архиве (файле changelog.txt).

Оригинальная версия патча Gothic 1/2 mem fix v06
Симпатии: Баал-Зебуб
Автор
GeorG
Загрузок
1.691
Тип файла
zip
Размер файла
116,1 КБ
Первый релиз
Новые обновления
Оценка
0,00 звезда(ы) 0 оценки(ок)

Другие ресурсы от GeorG

Сверху Снизу