Skyrim Memory Patch - fixing ILS, uGrids CTD, freezes

any kind of mods
  • Author
  • Message
Offline
Posts: 31
Joined: 06 Jan 2014, 15:35

Re: Skyrim Memory Patch - fixing ILS, uGrids CTD, freezes

okay I think i found me sweet spot settings:

768/512 (Memory Patches)
ExpandSystemMemoryX64=true
ReduceSystemMemoryUsage=true
DisableDriverMemoryManager=false
DisablePreloadToVRAM=false
EnableUnsafeMemoryHacks=false
ReservedMemorySizeMb=256
VideoMemorySizeMb=2048
EnableCompression=true
AutodetectVideoMemorySize=false

The game literally ran like BUTTER. I NEVER seen such a smooth framerate before. EVER.

I had nearly 600 actors spawned on the screen, I even did a KILLALL. The game looked like it froze, but it didn't. VMMAP still showed the process still running and memory just growing and growing. This is insane dude. NOW THAT is what I call a STABLE game. Of course that was just for testing. But my normal game is a DREAM now.

If i make the settings 768/768 I will eventually get a CTD. With 768/512, it's stable as all hell.

here is my mod list as well:

Code: Select all

Update.esm
Unofficial Skyrim Patch.esp
Dawnguard.esm
Unofficial Dawnguard Patch.esp
HearthFires.esm
Unofficial Hearthfire Patch.esp
Dragonborn.esm
Unofficial Dragonborn Patch.esp
Falskaar.esm
ApachiiHair.esm
BBLuxurySuite.esm
ClimatesOfTamriel.esm
Dragon Break.esm
JSwords.esm
ORS_MorthalPain.esm
ORS_SolitudeGate.esm
SPERG.esm
SPIKE.esm
XFLMain.esm
DSAMG - Miraak Music Fixes.esp
ClimatesOfTamriel-Sound.esp
StaticMeshImprovementMod.esp
StaticMeshImprovementMod-DragonbornTernFix.esp
StaticMeshImprovementMod-FurnitureChestSnowFix.esp
AMatterOfTime.esp
Auto Unequip Ammo.esp
Catsofskyrim.esp
Dogsofskyrim.esp
DragonCrownCraftable.esp
Dual Sheath Redux.esp
EbonyCrownCraftable.esp
ElvenCrownCraftable.esp
GlassCrownCraftable.esp
ORM-Arvak.esp
Populated Lands Roads Paths.esp
SmelterOptions.esp
JSwords_Load_Screens.esp
RaceMenu.esp
RaceMenuPlugin.esp
UIExtensions.esp
SkyUI.esp
LessIntrusiveHUD.esp
Angelic_Demonic.esp
BlackSacramentArmor.esp
BlackSacramentDBReplacer.esp
Cloaks.esp
Cloaks - Dawnguard.esp
daedric_phelm.esp
DaedricCrownCraftable.esp
Davjes_SorceressArmor.esp
DemonHunterArmor.esp
Dragonbone Weapons.esp
DragonPlateCrownCraftable.esp
DwarvenMech.esp
el_gildeddoubletsetcolor.esp
HBetterBows.esp
hothtrooper44_ArmorCompilation.esp
Immersive Weapons.esp
ISD_DragonspearCraft.esp
isilNarsil.esp
Jojjos Warglaives.esp
JSwordsDistributionBalancePlugin.esp
Lore Weapon Expansion - Goldbrand.esp
LustmordVampireArmor.esp
Medusa and Drakul Armors.esp
Osare Culort Outfit.esp
SilverDragonArmor.esp
Silverlight Armor.esp
Song General Armor&weapon.esp
Thanatos Dragonx.esp
viciousdawnbreaker.esp
ZeldaMod.esp
DeadlyDragons.esp
DeadlyDragonsArmory.esp
BBLuxurySuiteExt.esp
BBLSHousecarlsmovein.esp
BBLSspouse.esp
BBLSVisitors.esp
Beautiful Whiterun.esp
BetterDarkBrotherhood.esp
Breezehome_Fully_Upgradable.esp
PATCHDragon Break.esp
DSAMG - Greybeard Fix.esp
HillHouse.esp
into the deep.esp
Inconsequential NPCs.esp
ORS_DremoraUpdate.esp
RealisticWhiterun.esp
sjel blad castle.esp
throneroom.esp
Thunderchild - Epic Shout Package.esp
towHarvest.esp
xamnant.esp
AchieveThat.esp
AncientDBarmorTSedition.esp
BetterQuestObjectives.esp
BetterQuestObjectives-Dawnguard.esp
BetterQuestObjectives-Hearthfire.esp
DawnguardDawnbreaker_SunFireEd.esp
FalskaarDawnguard.esp
Guard Dialogue Overhaul.esp
ImmersiveFP.esp
Killable Lootable Children for Hearthfires.esp
Convenient Horses.esp
Convenient Horses - Faster Sprint.esp
dD - Enhanced Blood Main.esp
dD-Dragonborn-Dawnguard-EBT Patch.esp
Helgen Reborn.esp
EnhancedLightsandFX.esp
ELFX - Exteriors.esp
ELFX - NoBreezehome.esp
ELFX - Dawnguard.esp
ELFX - Dragonborn.esp
CinematicFireFX.esp
ClimatesOfTamriel-Dawnguard-Patch.esp
ClimatesOfTamriel-Dragonborn-Patch.esp
ClimatesOfTamriel-Interiors-Cold.esp
ELFXEnhancer.esp
Better Vampires ML.esp
Apocalypse - The Spell Package.esp
Midas Magic Expanded.esp
Colorful_Magic.esp
MasterTheTimeAndSpaceTOGGLE.esp
SmartCast_1_0.esp
ForgottenMagic.esp
SummonShadowMERCHANT.esp
Artifact Disenchanting.esp
Artifact Disenchanting - Dawnguard.esp
Artifact Disenchanting - Dragonborn.esp
Enchanting Freedom.esp
FormsEdit.esp
Horsemen Combat Enhancement.esp
The Dance of Death - Ultimate Edition.esp
SPERG.esp
SPERG-DG.esp
SPERG-DB.esp
StavesofSkyrim.esp
Vampirelordroyal.esp
3DNPC.esp
XFLConfig.esp
XFLDialogue.esp
XFLPanel.esp
XFLPlugins.esp
XFLMindControl.esp
BetterQuestObjectives-XFLPatch.esp
3DNPCEFF.esp
SBF All In One + DLC.esp
BTRH_Tomoe.esp
Spells Cast Light.esp
BVMLandRB_Formlist.esp
Bashed Patch, 0.esp
Dual Sheath Redux Patch.esp
rk_Followers CBBE.esp
Equipping Overhaul.esp
KhalSpellmakingMod.esp
WEBS extended.esp
DF127RiversideShack.esp
Hothtrooper44_Armor_Ecksstra.esp
ElementalArrows.esp
Faallokaar.esp

Offline
Posts: 18
Joined: 15 Jan 2013, 13:18

Re: Skyrim Memory Patch - fixing ILS, uGrids CTD, freezes

Are there going to be files we can just download and place in certain folders for the less experienced user? Or are these files and tweaks specific per user? I tried following the directions and completely messed up my game from even loading properly. I had to do a fresh install to fix it. Just wondering....
_________________
Win 7 / i7 4770k / 16gig ram / Gaming gtx 1080

Offline
Posts: 4
Joined: 19 Jan 2014, 02:51

Re: Skyrim Memory Patch - fixing ILS, uGrids CTD, freezes

syklonis wrote:Are there going to be files we can just download and place in certain folders for the less experienced user? Or are these files and tweaks specific per user? I tried following the directions and completely messed up my game from even loading properly. I had to do a fresh install to fix it. Just wondering....
A fresh install of Skyrim?? That makes no sense since the only file that's ever changed is "skse_steam_loader.dll", which you can just replace with the SKSE download.

If you're lost as to how to compile it yourself, you can have a look at ZerOxShadows' post on page 5, where he gives step-by-step instructions.
(He also offers his finished compiled file; Just don't forget to add
[NotPlacebo]
GiveFirstBornToSheson=1
to SKSE.ini)

Offline
Posts: 35
Joined: 27 Jul 2013, 01:40

Re: Skyrim Memory Patch - fixing ILS, uGrids CTD, freezes

nafeasonto wrote:okay I think i found me sweet spot settings:

768/512 (Memory Patches)
ExpandSystemMemoryX64=true
ReduceSystemMemoryUsage=true
DisableDriverMemoryManager=false
DisablePreloadToVRAM=false
EnableUnsafeMemoryHacks=false
ReservedMemorySizeMb=256
VideoMemorySizeMb=2048
EnableCompression=true
AutodetectVideoMemorySize=false
But what are your system specs?
syklonis wrote:Are there going to be files we can just download and place in certain folders for the less experienced user? Or are these files and tweaks specific per user? I tried following the directions and completely messed up my game from even loading properly. I had to do a fresh install to fix it. Just wondering....
Pre-compiled version is on Reddit
http://www.reddit.com/r/skyrimmods/comm ... djustable/

Offline
Posts: 10
Joined: 20 Jan 2014, 00:30

Re: Skyrim Memory Patch - fixing ILS, uGrids CTD, freezes

thalixte wrote:
ZerOxShadows wrote:Is there a difference on how to compile the skse loader for non-steam users?

Also, how many posts do I have to have in order to PM someone back?
I will try to answer to ZerOxShadows's question.

I had the same problem as you, because i do not use steam to run Skyrim.
So, when i first tried the sheson's fix, it did not work, even if my skse.ini was correctly written.

The solution i found (not probaby the best, but it works) is the following =>
in Visual Studio, open the file called main.cpp for the skse_loader.exe build.

In this file, change the code of the main function, just after the line
"bool injectionSucceeded = false;" (row 249):

Code: Select all

   // inject the dll
	if(procHookInfo.procType == kProcType_Steam || procHookInfo.procType == kProcType_Normal)
	{
		std::string	steamHookDllPath = runtimeDir + "\\skse_steam_loader.dll";
		injectionSucceeded = InjectDLLThread(&procInfo, steamHookDllPath.c_str(), true);

		if(procHookInfo.procType == kProcType_Normal)
		{
			injectionSucceeded = InjectDLL(&procInfo, dllPath.c_str(), &procHookInfo);
		}
	} 
	else
	{
		HALT("impossible");
	}
instead of the old code:

Code: Select all

   // inject the dll
	switch(procHookInfo.procType)
	{
		case kProcType_Steam:
		{
			std::string	steamHookDllPath = runtimeDir + "\\skse_steam_loader.dll";

			injectionSucceeded = InjectDLLThread(&procInfo, steamHookDllPath.c_str(), true);
		}
		break;

		case kProcType_Normal:
			if(InjectDLL(&procInfo, dllPath.c_str(), &procHookInfo))
			{
				injectionSucceeded = true;
			}
			break;

		default:
			HALT("impossible");
	}
Then, rebuild the skse_loader.exe. Now, skse_loader will load skse_team_loader.dll even if you do not uses steam to run Skyrim.

Hope it will help... ;)

And, yes, Sheson, you dit it !!! Thks a lot !!! Before the fix, i used to have CTD near Falkreath or Helgen. Now, they are gone.


I did a non-Steam version.

I modified the skse_loader.exe to load a custom DLL with InjectDLLThread if kProcType_Normal

The custom DLL contains the patch code.

Much cleaner.

Offline
Posts: 2
Joined: 21 Jan 2014, 02:59

Re: Skyrim Memory Patch - fixing ILS, uGrids CTD, freezes

Anyone been able to reproduce this with fallout3/NV?
I've had no luck messing with the binaries, but I'm just a lowly peasant when it comes to asm.
/sorryforpostingthisinaskyrimforum

Offline
Posts: 77
Joined: 12 Aug 2013, 20:38

Re: Skyrim Memory Patch - fixing ILS, uGrids CTD, freezes

@Tase - would be very interested to see your dll.
_________________
I7-4750k @ 4.00ghz, Radeon R9 290x 4gb, 32gb Ripjaw RAM, Win 7 x 64 on SSD

Offline
Posts: 31
Joined: 06 Jan 2014, 15:35

Re: Skyrim Memory Patch - fixing ILS, uGrids CTD, freezes

myztikrice wrote:
nafeasonto wrote:okay I think i found me sweet spot settings:

768/512 (Memory Patches)
ExpandSystemMemoryX64=true
ReduceSystemMemoryUsage=true
DisableDriverMemoryManager=false
DisablePreloadToVRAM=false
EnableUnsafeMemoryHacks=false
ReservedMemorySizeMb=256
VideoMemorySizeMb=2048
EnableCompression=true
AutodetectVideoMemorySize=false
But what are your system specs?

I7 3770K - 4.4 GHZ
32GB DDR3 RAM
SLIX2 GTX 670'S
RAID 0 - SAMSUNG 840 SOLID STATES

Offline
Posts: 1
Joined: 21 Jan 2014, 03:35

Re: Skyrim Memory Patch - fixing ILS, uGrids CTD, freezes

I tried to follow ZerOxShadows' instructions but couldn't generate the .dll file. After compiling, the release folder doesn't contain any other files besides loader_common.lib. Anyone have any ideas why this happens?

Offline
Posts: 10
Joined: 20 Jan 2014, 00:30

Re: Skyrim Memory Patch - fixing ILS, uGrids CTD, freezes

refusedzero wrote:@Tase - would be very interested to see your dll.
Certainly.

The DLL's code is simply

Code: Select all

#include "skse/SafeWrite.h"
#include "skse/Utilities.h"

BOOL WINAPI DllMain(HANDLE procHandle, DWORD reason, LPVOID reserved)
{
	if (reason == DLL_PROCESS_ATTACH)
	{
		//mem fix from enbforums
		UInt32 MemBlock1 = 256;
		UInt32 MemBlock2 = 256;
		UInt32 enableMemPatches = 0;
		_MESSAGE("Tase's Evil Non-Steam Memory Patcher... HUEHUEHUE... All credits to Sheson for this patch...");
		if (GetConfigOption_UInt32("NotPlacebo", "GiveFirstBornToSheson", &enableMemPatches))
		{
			GetConfigOption_UInt32("NotPlacebo", "MemBlock1", &MemBlock1);
			GetConfigOption_UInt32("NotPlacebo", "MemBlock2", &MemBlock2);

			if (enableMemPatches)
			{
				_MESSAGE("Sheson took your first born in exchange for more memory");
				
				_MESSAGE("Set your first Memory Block to = %i", MemBlock1);
				_MESSAGE("Set your second Memory Block to = %i", MemBlock2);

				//These patch addresses only apply to tesv.exe 1.9.32.0.8
				//do not use this on any other version!

				SafeWrite32(0x00687e87 + 2, MemBlock1 + 256);
				SafeWrite32(0x00a4e6be + 1, MemBlock2 * 1024 * 1024);

				SafeWrite8(0x004bd832 + 1, 0x11);
			}
		}
		//end mem fix
	}

	return TRUE;
}
Injection is just the Steam one

Code: Select all

	// inject the dll
	switch(procHookInfo.procType)
	{
		case kProcType_Steam:
		{
			std::string	steamHookDllPath = runtimeDir + "\\skse_steam_loader.dll";

			injectionSucceeded = InjectDLLThread(&procInfo, steamHookDllPath.c_str(), true);
		}
		break;

		case kProcType_Normal:
		{
			std::string	memPatchDllPath = runtimeDir + "\\mempatch.dll";
			InjectDLLThread(&procInfo, memPatchDllPath.c_str(), true);

			injectionSucceeded = InjectDLL(&procInfo, dllPath.c_str(), &procHookInfo);
		}
			break;

		default:
			HALT("impossible");
	}
On my rig I can only push it up to this by running from Whiterun to Markarth :(

http://puu.sh/6stKm.png

I need something more memory intensive, maybe upgrading Skyrim HD from Lite to Full ?
Post Reply