Решение проблемы вылетов из-за нехватки памяти

PlayGround.ru
PlayGround.ru

Данное решение подходит для тех у кого игра беспричинно вылетает(например при попытке сохраниться/загрузиться), если в настройках графики выставлено динамическое освещение.
Запуск игры, работа в течение 5-10 минут потом спонтанный вылет на рабочий стол из игры, при нажатии Esc или при попытке записи. Знакомые многим симптомы.
Причина вылетов банальна - в логах игры "out of memory", что означает недостаточно памяти. У меня общий объем доступной Windows памяти целых 6 GB (2 GB + 4 GB - подкачки). Приложение завершается аварийно, как только объем используемой операционной системой памяти становится равным ровно 2 GB. Попытка приложения запросить чуть больше - здравствуй рабочий стол.
xrEngine.exe (запускаемый файл Сталкера) 32 битное и собрано оно без флага линковщика /LARGEADDRESSAWARE. Этот волшебный флаг позволяет 32 битным приложениям адресовать не 2 GB, а 4 GB на 64 разрядной версии Windows и 3 GB на 32 разрядной версии Windows (если 32 битная операционная система запущена с ключом /3GB).
Короче разработчики о флаге /LARGEADDRESSAWARE не догадываются и мы имеем ограничение на объем памяти 2 GB. Можно пересобрать приложение с этим флагом, а можно в текущем exe установить этот флаг с помощью утилиты editbin.exe, которая входит в состав Microsoft Visual Studio2005.
Итак решение проблемы вылетов:
1) Я уже изменил xrEngine.exe(v1.5.03) вот он: http://rapidshare.com/files/141593003/xrEngine.exe.html
Сделайте бекап оригинального xrEngine.exe на всякий случай.
2) -Для 32 битных Windows XP в boot.ini прописать ключ загрузки: /3GB.
-Для 32 бит Vista, выполнить команду с правами администратора: BCDEDIT /Set IncreaseUserVa 3072
и перезагрузится.
Говорю сразу: Я не автор этого решения, а нашёл его случайно. Мучался я долго, в основном с изменением xrEngine.exe.
И внимание!!!!!!!!!!!: Данное решение подходит ТОЛЬКО если использовать небезисвестный NoDVD(ну вы поняли: protect.dll и мини образ). Почему??? Потому, что Старфорс проверяет исполняемый файл на md5 сумму и если он изменён - ошибка.
В моём случае это помогло. Перманентные вылеты прекратились. Остались только вылеты из-за кривых скриптов.
Это уже вторая тема, на предыдущую никто внимания не обратил, а зря. Пробуйте и отписывайтесь.


Пожалуста соблюдайте правила форума.

Комментарии:  12
Ваш комментарий

Остались только вылеты из-за кривых скриптов.
угу,но это уже кривые руки пъяниц.

слушай а для меня -- чайника поясни что надо сделать
1 скачать файл а дальше ни хера ни рублю, ну старый я,
что такое бекап и где этот boot.ini ???
у меня лицензия с патчем...
с уважением....

Он же написал, только для пираток

великий
Этот способ работает, только если ты пользуешься No DVD.
Boot.ini - находится в директории C:\ Это скрытый системный файл.
Бэкап - резервная копия.
Я бы тебе скинул правленный boot.ini, да вот у меня Vista, а там boot.ini нет.

у меня лицензия,
а когда будет патч или еще что нибудь чтоб НЕ ВЫЛЕТАЛО?????

великий
С такими вопросами к разрабам вперёд и с песней. Не сори в теме. Пачт будет 5 числа.

-Для 32 битных Windows XP в boot.ini прописать ключ загрузки: /3GB.
Я вот не въеду. Ну открыл я boot.ini , а куда именно прописать /3GB - не понятно

Надо прописать в реестр 2 параметра, мне помогло. Легче всего создать текстовый файл и вставить в него вот эти строки:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management]
"PagedPoolSize"=dword:ffffffff
"PoolUsageMaximum"=dword:00000028

потом поменять расширение файла с txt на reg и запустить, эта информация добавится в реестр.

Alex Cra2y
Я на Viste ужо 2.5 года сижу, так что хер его знает, эту XP

а подобное решение есть на лицуху от 1с? зарание спс

ЗАГРУЗИТЬ ВСЕ КОММЕНТАРИИ
Новое на форуме S.T.A.L.K.E.R.: Clear Sky