Skyrim Modder Figures Out A Way To Let The Game Use More RAM Without CTD Side-Effects


All hail modders. After Skyrim’s release, modders released a memory patch that fixed 4GB LAA. This unofficial patch was so crucial that Bethesda decided to ‘borrow’ it and include it in one of the game’s official patches. However, Skyrim had stability issues once players started experimenting with lots of units and higher values of uGridsToLoad cells.

Thus, Skyrim modder ‘sheson’ has released a third memory patch that allows Skyrim to use that available space right from the start to fix ILS (infinite loading screen) without side effects and other memory related CTD (crashes to desktop) or freezes.

As sheson said:

“When tesv.exe is started it allocates two 256MB blocks of memory. When the first block gets full, the engine will allocate more blocks. This can cause the known troubles. Thankfully, by telling the engine to request a bigger block from the start it magically makes use of it without any further ado. This isn’t the case with the second block. Thankfully again, the second block does not fill up as quickly and once it is full the engine does not trip over itself when allocating more blocks.

To make the engine allocate a larger block of memory it needs to be patched. This needs to happen very early in the process. This can not be done by a SKSE plugin because they are executed much later. However, SKSE loader already patches tesv.exe before the game starts and since SKSE sources are provided adding the patch is straight forward.”

The modder has provided some additional information – as well as a DIY guide – on the ENBSeries forum, so we strongly suggest following his guide if you want to patch Skyrim with this new features.

Basically what you have to do is re-compile skse_steam_loader.dll. Now I’m pretty sure that most of you won’t bother with such a thing, so here is hoping that someone will release mods/patches based on sheson’s guide.

Have fun!

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.