Перейти к содержанию

Skyrim Memory Patch 3.0


nemezida

Рекомендуемые сообщения

Skyrim Memory Patch 3.0

 

Похоже, что модостроителям снова удалось решить вопросы, которые оказались не по плечу Bethesda.

 

Плагиностроитель sheson нашел способ использовать в The Elder Scrolls V: Skyrim больший объем оперативной памяти,

 

а это не только добавит игре стабильности, но и откроет перед мододелами новые возможности. К примеру, можно устроить битву с тремя сотнями персонажей на экране (и более), не дожидаясь выхода The Elder Scrolls Online:

 

http://pic.fullrest.ru/upl/t/9ktIrMpS_640x346.jpg

 

sheson объяснил, что

 

при запуске tesv.exe выделяется два блока памяти по 256 МБ; как только первый блок заполняется – создается следующий, а это вызывает известные проблемы (прим.ред.: зависания и вылеты из игры). Но ведь можно изначально затребовать большего объема памяти – а значит, второй блок будет заполняться не так быстро и движку не придется всё время «спотыкаться», отвлекаясь на выделение новых блоков памяти.

 

Итак, вы можете переписать коды игры и вместо двух блоков оперативной памяти по 256 МБ (итого – 512 МБ) сразу же получить 2 блока по 512 МБ, или даже 2 блока по 1 ГБ – а может, и больше. Пользователь форумов NeoGaf, испробовавший этот «рецепт» (он удовлетворился 2 ГБ), поясняет, что общий объем памяти всё равно не превысит 4 ГБ, т.к. Skyrim – 32-битная игра, но даже если получите «только»1 ГБ вместо 256 МБ, то сразу ощутите, насколько стабильнее станет игра. А вот на Нексусе предупреждают, что при выделении блоков памяти объёмом свыше 768 МБ могут начаться проблемы…

 

http://pic.fullrest.ru/upl/t/kzNHxqiX_640x400.jpg

 

Ссылка для скачивания с форума ENB; если форум отключен – сюда; для тех, кто не хочет самостоятельно компилировать dll, на Skyrim Nexus имеются готовые решения в разделе "Optional Files".

 

По материалам DSO Gaming, 19 Jan; NeoGaf, 20 Jan; Lazy Gamer, 21 Jan; Games on Net, 22 Jan

Ссылка на комментарий
Поделиться на другие сайты

Ссылка на сайт Бориса, кстати, не корректная. У него там хотлинкинг включен, перехват ссылок идет и в итоге попадаешь на главную, а не туда, куда надо бы. Да и на нексусе что-то не видно Optional Files.
Ссылка на комментарий
Поделиться на другие сайты

Т.е. разработчикам при портировании на ПК было лень поменять значение одной переменной? Или это была перестраховка от вылетов, и у них не было времени протестировать игру, чтобы узнать, что этот приём работает наоборот?
Ссылка на комментарий
Поделиться на другие сайты

Там, кстати, приведена ссылка на чуть упрощённое описание сих чудесных махинаций, да ещё и скомпилированной dll: http://enbdev.com/ctdfix2.html
Ссылка на комментарий
Поделиться на другие сайты

Там, кстати, приведена ссылка на чуть упрощённое описание сих чудесных махинаций, да ещё и скомпилированной dll: http://enbdev.com/ctdfix2.html

Там упущен код, который необходимо вставить (а сей код присутствует только в ссылке на форуме) и dll в архиве - стандартная. Что мешало ему выложить просто dll - непонятно.

Ссылка на комментарий
Поделиться на другие сайты

Он не упущен, просто автор намеренно кратко ссылается на автора кода: Copy and paste sheson's code

А с длл ошибся, право. Ленивым всё равно придётся гонять MSVC++ :D

Ссылка на комментарий
Поделиться на другие сайты

Опять виновата техниеская отсталость консолей. А ПК идеален, со всем парком(вернее зверинцем) разнообразных конфигураций. Для консолей удобнее делать, одна конфигурация и меньше проблем. Хотя багов и там хватало. И похоже что у Беседки приоритет был именно на отсталую консоль.

 

А новость интересная. Подтверждающая вышесказанное.

Ссылка на комментарий
Поделиться на другие сайты

лучше скажите как на самом деле обстоит ситуация с памятью, стоит ли вообще ставить это, ну и дайте годную ссылку на файлы, желательно с мануалом
Ссылка на комментарий
Поделиться на другие сайты

Опять виновата техниеская отсталость консолей. А ПК идеален, со всем парком(вернее зверинцем) разнообразных конфигураций. Для консолей удобнее делать, одна конфигурация и меньше проблем. Хотя багов и там хватало. И похоже что у Беседки приоритет был именно на отсталую консоль.

 

А новость интересная. Подтверждающая вышесказанное.

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

Ссылка на комментарий
Поделиться на другие сайты

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

Погляди: вот такое подойдет?

 

UpD: и вот что еще есть

 

Compiling your own skse_steam_loader.dll

-Get SKSE sources, doh

-Get a 30 day free Visual C++ 2010 Express, run windows updates to make sure this has all the updates

-Open SKSE src/skse/skse.sln

-add patch to steam_loader/main.cpp

-in top menu change dropdown from Debug to Release

-in left pane right click steam_loader, build

-you will find new skse_steam_loader.dll in src/ske/Release

-if Skyrim does not start just put original skse_steam_loader.dll back

Requirements

-64bit OS – 32bit may work but untested, probably should use /userva switch, but if you are that desperate good luck

-a decent amount of RAM – more than 4GB

-a suitable graphics card with decent amount of VRAM – depending on texture sizes

-ENBoost – need to free up main memory

-Stable uGridsToLoad – if you want to test with higher uGrids. You may not really need it, but it fixes a recursion bug that could potentially cause CTD with default uGrids as well.

 

Ссылка на комментарий
Поделиться на другие сайты

Скачал по ссылке выше, сделал все по инструкции и прописал uGridsToLoad=9

После запуска сейва идет бесконечная загрузка, которую можно прервать только вырубанием процесса через ctrl-shift-esc.

В итоге то что по ссылке выше неработает. mempatch.log не появляется

 

Самому что-то компилить разбираться вообще желания нет.

Изменено пользователем Сергей
Ссылка на комментарий
Поделиться на другие сайты

Получилось!!!

 

скачал другой skse_loader.exe вот от сюда из вложения что запостил некто Nearox

 

после этого все запустилось, появился лог файл и удалось запустить игру с uGridsToLoad=11

 

пойду попробую запустить с uGridsToLoad=17 :oskal:

 

--------------------------------------------------------------------------

 

не загрузилось с 17, вылетело :-)

 

а вот uGridsToLoad=15 загрузилось, фпс конечно стал совершенно не играбельным, но при этом ничего не вылетает.

В общем 15 для красивых скриншотов, а чтоб комфортный ФПС был наверное 9 максимум нужно ставить.

Изменено пользователем Сергей
Ссылка на комментарий
Поделиться на другие сайты

Т.е. разработчикам при портировании на ПК было лень поменять значение одной переменной? Или это была перестраховка от вылетов, и у них не было времени протестировать игру, чтобы узнать, что этот приём работает наоборот?

Что в этом удивительного? Тем более если идёт речь об конторе бракоделов.

 

Корни всех бед идут от консолей

Корни всех бед тянутся от дурной оптимизации продукта.

Ссылка на комментарий
Поделиться на другие сайты

Корни всех бед идут от консолей

Вплоть до конца эры PS2 консоли и ПК мирно сосуществовалм вместе, и никто не жаловался. И портов вроде было меньше, причём чаще они были с ПК на консоль.

Ссылка на комментарий
Поделиться на другие сайты

Побегал, всякие вылеты, фризы и подлагивания сократились, за счет этого складывается ощущение того, что игра идет плавнее но при этом фпс остался прежним.

В общем, играть стало комфортнее.

Ссылка на комментарий
Поделиться на другие сайты

у меня скайрим не вылетал практически никогда, единственно что раздражало - мигание воды, решилось путем ограничения фпс

 

так что помимо увеличения ячеек не вижу практической пользы, а вообще разве это не ломает сейвы?

Ссылка на комментарий
Поделиться на другие сайты

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...