Код:
[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.