Skyrim

About this mod

This guide is designed as a comprehensive tutorial for optimizing your PC, adjusting configuration settings, and maximizing performance of your Skyrim game play. It starts with preparing your PC, with recommendations for INI files, dealing with mod conflicts, setting up Crash Fixes, installing and configuring ENBoost and ENB/sweetfx presets

Permissions and credits
Changelogs



Stability Performance Optimization ENB Configuration - a Comprehensive Guide




Table of content :

0.Introduction

1.Prepare your PC

2.Useful software and mod to stabilize Skyrim - Stability and performance tweaks

3.Prepare your game - Stability and Shadows fix

4.Modding good practices & Clean save procedure - Stability improvement

5.Avoid Mods conflict with a Merged & bashed Patch - Stability tweaks

6.Now you are ready to install your ENB or ENBOOST - Stability & performance

7.Special instruction for Skyrim Reloaded - SKGE - SKGE's users

8.Last thing to do to avoid stuttering: Optimize your texture - Performance and stutter fix

9.Icing on the cake - Performance advanced tweaks

10.List of useful tips and tweaks

11.Avoid strange FOV or HUD Problem with unsupported resolution or very wide screen

12.Troubleshooting

13.To do list

14.Removed Section (may still be useful)


If you are an ENB preset creator tired to explain how to configure it, you can add a link to this guide on your description page.
You're welcome


My releases
Skyrim SSE:
Guide - How to repair your skyrim after update - Unbreak your prefered skse mods
Skyrim Save System Overhaul
Auto Unequip Shield to Back Custom follower compatibility patches
Keep It Clean - A Bathing Mod (based on clioshand work)
M'rissi's Tails of Troubles SE - Delayed Start
Compatibility patch for Brotherhood of Old and Skyrim sewer
Invisibility Glitch - Eyes Fix SE with Support patches
The Eloquent Reader - True Scholar SE Edition
Better lighting for Face Light SSE
It is mine - Claim your property (Change bed or crafting station ownership)
Camping and Frostfall - Unofficial SSE Update

Skyrim LE :
Stability Performance Optimization ENB Configuration - a Comprehensive Guide
The Notice Board by MannyGT UPDATED
Auto Unequip Shield to Back Custom followers compatibility patches
Glass fix for Wearable lanterns SMIM patch (optional HDTPE support)
It is mine - Claim your property (Change ownership)
Patches central for Invisibility Glitch - Eyes Fix and Invisibility Eye Glitch Multifix
Technicolor Alchemy Overhaul - Support for Wiseman303's Flora Fixes and CACO
Higher Difficulty - Adjusted Encounter Zone and Leveled NPCs
The Sober Soldier's Supply - Lore-friendly Wine and Mead Smelting CACOIFIED
Better lighting for Face Light and Facelight Plus
Simple bathing (in collaboration with clioshand)
Moonlight Tales Essential - Unable to equip chest armor bug fixer


Testimonials

Sand of time team : Antoher fantastic guide is by a user of our very own Sands of Time mod! His in depth guide will most definitly get you pointed in the right direction. In fact, our very own optimization guide intitially helped him out with modding his own game. After reading through his excellent guide, we were gratefule to be an influence / aid to / for him. We suggest you check it out!
ff7legend : Your guide has helped me stabilize my game big time. Especially the bit regarding the making of a Merged Patch in TES5Edit [...]Just handed you a kudos Sthaagg for providing such a helpful guide & the quick updates to your guide.
Shagreth : You f***ing rock, thank you for writing all this down for us. This has to be the best performance guide out there at the moment, sure, there are other great ones -- but none have kept up with the times.
RageSpike : Thanks so much for this guide and your advise, I haven't crashed a single time yet and I play with a lot more mods and 2k textures.
Looks like the last thing that needed fixing was my OS after the guide settings.

I just can't believe how well it runs, I've gotten used to the crashes, if I don't crash in 1 hours I called that good, now it just never happens!
BlueGunk : You have some excellent advice here. Thanks and well done - a help for a lot of people. I got to a lot of this through trial and error, and learning. I wish I could have had your page here in earlier times!
MrFlame : Your guide is a must for every ENB user, it's incredible, my FPS is now almost 56-58 EVERYWHERE, i mean EVERYWHERE, even with that killer SFO 2.0+ mod installed ! Thank you so much :) !
I've been struggling with performance and stuttering ussues for more than 800+ hours of Skyrim and now it's just whao
Baloo42 : This guide is so good, it should be deemed illegal, and considered as Skyrim porn, more illegal than 7B-Bombshell. The Skyrim Holy Grail! - Keep spreading the good word

0.Introduction

This guide is designed as a comprehensive tutorial for optimizing your PC, adjusting configuration settings, and maximizing performance of your Skyrim game play. It starts with preparing your PC, with recommendations for INI files, dealing with mod conflicts, setting up Crash Fixes, installing and configuring ENBoost or ENB presets, and other tweaks and fixes. I hope you find this guide beneficial.

I'm interested in your performance boosts gained from using this guide, especially gains in FPS from the tweaks. A good tool to measure and record this is Skyrim Performance Monitor. When posting performance gains, please include info on you hardware; CPU, GPU, RAM, MB, and operating system. If you have a lot of info including images and graphs in your post, include it in spoiler tags. If you need to know how to use spoiler tags, go to this Nexus wiki page.

Skyrim is a strange beast, it's a game that you can play indefinitely, talented modders produce amazing stuff and it's very hard to make a choice, for example my currently load order was designed to be a light version of my previous one, but now I must merge my mods because I reach out the limit of 255. But if you want to appreciate this game, you must tame this beast, if you don't take time to do this, it could be a very frustrating experience.

This guide is based on information from SoT, STEP, Nexus and Boris' forum and personal experience.

It took me several hours to compile all that stuff for your convenience :), I did it because it's very hard to know which informations are up-to-date or not despite my experience (I mod all my Bethesda games since morrowind)...

I hope you will appreciate it. If this guide help you, don't forget to endorse :)


Before do anything, save all your skyrim configuration, it's must be your first rules when you mod something :

Always do a backup.

I've got a lot of mods (if i count merged ones near 400) and a lot of 2K texture mod (around 120 gb), with this setup, my game run constantly above 45 FPS in exterior nearly totally stuttering free and i can play without any crashes. I hope it will be the same for you.

Notice: As says before, it's a step-by-step guide, you can use some tips independently but if you want to gain full enhancement, you need to follow every part. For example don't take my enblocal.ini without reading how to well configure it nor well configure your skyrim's ini.

I am not fluent in English because it's not my native language, so i did my best but i know it is far away to be perfect, so be tolerant. I apologize in advance for your headache after reading this guide ;).

Any critic is good if it is constructive (and if you do it kindly, it's better ;))


For Reference this guide was tested on :

  • CPU: Intel Core I7 3770K
  • RAM: 8 Go
  • GPU: Nvidia GTX 970
  • SKyrim on SSD (a standard one by Intel)
  • Skyrim is in Fullscreen Borderless windows mode with a resolution of 2560 x 1080
  • Windows 7 Pro 64 bits
  • Standard Drivers from NVIDIA 364.72


1.Prepare your PC

It seems stupid but, If you want a stable game you need a stable system.
Like I say before skyrim is very sensitive, a lot of small software can have bad interaction with it.

Check and tweak
  • Do a Virus scan with a good antivirus (you can use Bitdefender online. it's fast and reliable)
  • Do the same about malware with a tool like Anti-malware by Malwarebyte (use free version, you can run it one times by month).
  • Install Glary Utilities and do a "One Click Maintenance", you can use advanced function if you know what you do to check health of your system, remove software, disable automatic running app. This software is a swiss army knife, use it (do backup when asked).
  • Defragment your hard drive (you can use windows tools or another one), you can perform this maintenance one time by month. If you have a SSD, Defragment can be harmful because it can reduce your SSD lifetime. You must use a software especially for SSD, i suggest you MyDefrag (because i use it ^^), it's more an optimization than a defrag.

If you use Avast Anti-virus, do a favour for yourself, and replace it by Avira Antivirus. Protection is better, instead of Avast, you can exclude folder AND processus and it don't create a hook on your game process. Why they did that ? I don't know, but they did it, and it can lead to issues especially with ENB.

Set up your PC

If you use a nvidia card, grab nvidia-inspector, run it, click on the tools icon, select "Elder Scrolls V: Skyrim" profile, and set it like picture below (or grab my profile in download section)



I'm sorry for AMD/ATI user, I don't have it, so i can't post setting but I think you certainly have same option maybe with different name, if someone give me a screenshot, I add it.

About VSYNC: My game seems more smooth with this setting, it could not be the same for you, but you need to remember one rule, you must enable vsync or frame rate limiter (if you play in borderless mode), through game, ENB or driver, it not a matter, but don't disable vsync or frame rate limiter

About Frame limiter : To avoid crazy physics, you must cap your frame to 60 (58 is better) max, you can set it to a lower value, but don't go under 31 to avoid longer loading time, if you use ENB to limit your FPS, it's raise the limit to 35 when you load automatically.



  • Don't install Skyrim in Program File (you can move it after installation, follow these instructions)
  • Disable your Steam overlay for Skyrim
  • add an exception to your skyrim and mod organizer folder in your anti-virus
  • if your antivirus can ignore processus from real time monitoring, exclude : skse_loader, enbhost.exe and TESV.exe


A lot of anti-virus think skse's dll or enb are bad, because they try to inject some code in your gaming process, but we know it's good for our skyrim ;). So let them do their job ;)

Before playing :

Set your anti-virus to silence/gamer mode to avoid popup message or alert during your play.

Application with overlay like EVGA PrecisionX 16, MSI Afterburner, Avast antivirus (again^^), EMET, D3D Overrider, Razer and Logitech utility (not exhaustive list), can have bad interaction with ENB, so close it before playing, don't forget to disable your Steam overlay too.

2.Useful software and mod to stabilize Skyrim

List of useful software (don't forget to endorse their respective author) :

  • USE A MOD MANAGER, my preference is Mod Organizer, Easy to learn, useful and powerful, what else ? ;), I stongly suggest you to read documentation.
  • Use LOOT to ordering your mod, you can nearly blindly trust it. Don't forget to read mod description author notices important information about load order, you can add your own rules to LOOT to ensure respect of Modders' indication.
  • Install Wrye Bash. We will use it to create a bashed Patch later.
  • Install TES5edit, We'll use it later and it's a useful tool to check interact.
  • Install SkyrimTools by Mark Fairchild, it's a very handy tool to clean & repair your save if you need it
  • Install SKSE, last version (installer version is the easy one). A lot of mod use it and it includes Sheson memory Patch
  • Install Crash fixes by meh321 and SKSE Plugin Preloader


Follow this procedure to install SKSE correctly with MO :
Spoiler:  
Show
Place all *.exe and *.dll files into <skyrim>\ (not the data directory! ;)). Should be three files (i.e., skse_1_9_32.dll, skse_loader.exe, and skse_steam_loader.dll).

  • Install skse scripts into Mod Organizer:
  • Click the Archive button (top left corner).
  • Browse to and select the downloaded skse archive.
  • In the manual installation prompt, right-click data and select Set data directory. It should say it Looks good, and not say No game data at top level.
  • Click OK


you need to edit SKSE launching option :

  • Click on "configure executable" button (gears green and blue)
  • Select Skse
  • add -forcesteamloader in Argument field.
  • Click on modify
  • Close
  • Enjoy :)



Configuring SKSE's INI (include in my package):

Edit you SKSE.ini in "Skyrim folder"\Data\SKSE (create it if you don't have one) :

[Display]
;fix for problem with overlay texture like tatoo
iTintTextureResolution=2048

[General]
;Skse try to clean unused script, can't harm anything
ClearInvalidRegistrations=1
;show missing esp when you try to load a save
EnableDiagnostics=1


Configuring Crash fixes by meh321

This fix replace completely SSME and SKSE Memory patch, and improve drastically how skyrim manage memory.
Thank you is not enough for this amazing tweaks, please don't forget to endorse this mod.

  • First extract SKSE Plugin Preloader, copy d3dx9_42.dll in your skyrim folder (where you found TESV.exe).
  • Then Install Crash fixes by meh321 as usual SKSE plugin
  • Check if you have a file named named "CrashFixPlugin_preload.txt" in Data\SKSE\Plugings (beside CrashFixPlugin.ini and CrashFixPlugin.dll), if not, create it.
  • Open CrashFixPlugin.ini, and set UseOSAllocators to 1
  • That's all

Special instruction for windows 10 users : (Thanks to macrocosm144)
Windows 10 could block Crash Fixes' dll which prevent skyrim to be launched.
to avoid this problem, you need to follow these steps :
  • Right click on the dll file.
  • Select Properties
  • Click on the General tab in the Properties window.
  • Click on the Unblock option next to the Security detail which says “This file came from another computer and might be blocked to help protect this computer.”
  • Windows might display an Access denied message box here, provide Administrator credentials if this box pops up

Notice: If you have problem take a look to troubleshoot section.

A very good tutotrial video by Tonycubed2 about how to configure it (more detailed) :



If crash fixe doesn't work for you (yet), follow these instruction to setup your skse :
Spoiler:  
Show
Configuring SKSE's INI :

[Display]
;fix for problem with overlay texture like tatoo
iTintTextureResolution=2048

[General]
;Skse try to clean unused script, can't harm anything
ClearInvalidRegistrations=1
;show missing esp when you try to load a save
EnableDiagnostics=1

;Sheson memory patch
;[Memory]
;DefaultHeapInitialAllocMB=768
;ScrapHeapSizeMB=256


DefaultHeapInitialAllocMB value must be a multiple of 128, don't raise this value over 768 Mb, you can try to lower this value, to adjust your value, you can use this mod Memory Block log, go to wandering in Skyrim for few minutes and check value in the log.
If everything is good you will see this in your log :


logging of blocks enabled
logging max values only
Timer disabled
Block1 Block2
512MB256MB
858
858
859
.........
355241
355242
355243
355244
355245
355246
355247
355248
355249


Enb related configuration :

if DefaultHeapInitialAllocMB in your skse.ini is set to 768, you can use ExpandSystemMemoryX64=true, if you use a higher value (not recommended) or if it doesn't work with these setting, it's a crappy software fault (sometime you can't do nothing against this), you must set it to false.

Two quote about this setting from Boris himself (one from his comment page, the another one from Crash fixes by meh321 comment page:
ExpandSystemMemoryX64 have nothing in common with SSME/SKSE. The bug is in too high value (768 by default) in SKSE. But with proper configuration of [MEMORY] category ExpandSystemMemoryX64 may not be required, it's just extra safety level when nothing helps or ReduceSystemMemoryUsage=false.

Just want to confirm that ExpandSystemMemoryX64 have it's own goal and not "same" thing. Because of very bad memory allocation code in most games, fragmentation greatly decrease amount of available memory and with ExpandSystemMemoryX64=true this issue partially fixed. It's not about amount of free memory, but how many big enough blocks can be allocated till game die from out of memory error. You may have 2 gb free memory, but unable to allocate even 1 mb buffer. This is not the same as fragmentation of hard disk drive, which just reduce performance.
DefaultHeapInitialAllocMB and ExpandSystemMemoryX64 are incompatible with each other just because OS and other software may put various crap in virtual address space (fragment it) and Sheson patch (SKSE now) do not test if it possible to allocate such big memory block, even that i warned authors about this issue very long time ago. You may blame ENB, but it's the fault of patches which MUST to try preallocate memory first and reduce size if failed. Finally, get rid of s*** running, every software these days trying to inject something in to game process, the chance to get big memory block is lower and lower every year


If you see "Block1 512MB" it's right, when you use Memory path from SKSE, 768 value reserve 512Mb, if you use SSME, you must use a max value of 512 (not 768), You must choose between these two implements of this patch, don't use it together.

Safety load :
Safety Load by kapaer, if you don't have infinite load screen, you don't need it. It's a skse plugin, mid-play friendly ;). This one is a subject of discussion, some very experienced modders say this fix is useless because SKSE avoids original problem, but, if i disable it, i can't load some savegames that I can load with it (tested and retested many times, found a lot of feedbacks saying the same (any level of knowledge). Without EnableOnlyLoading = true , some lags or some CTDs can occur, with this setting i don't encounter any problem. I never found information about critical issues with this plugin. So use it, but only if you encounter infinite load screen problem.


Very Useful mod (don't forget to endorse their respective author):


3.Prepare your game

If you just do a fresh install of skyrim, download my INI files and use them as a base for your configuration, all following tweaks are already included.

If not, take some time to clean them, a lot of tweaks are out of date and can be harmful.

Skyrim.ini

Don't mess with iRadialBlurLevel set it to 0 or remove it.

Some ENB authors ask you to change iRadialBlurLevel
But changing iRadialBlurLevel to anything other than the default may induce CTD. This setting is often erroneously placed inside SkyrimPrefs.ini, even by the Skyrim Launcher, that why a lot of people think that it's okay to change it. But no...

remove :

iPreloadSizeLimit=
fMasterFilePreLoadMB=
iLargeIntRefCount=
iNumHWThreads=
iHWThread6=
iHWThread5=
iHWThread4=
iHWThread3=
iHWThread2=
iHWThread1=
iAIThread2HWThread=
iAIThread1HWThread=
iRenderingThread2HWThread=
iRenderingThread1HWThread=

[HAVOK]
all section
[BudgetCaps]
all section
[]


Don't mess with your ugrid and cell setting, use default, and learn how to install DyndoLOD instead :

[General]
uGridsToLoad=5
uExterior Cell Buffer=36

If you already tweak these setting and start playing with them don't change your value except if you use Stable uGridsToLoad by Altimor, if you can don't use it, this plugin have known memory corruption problem.

Restore papyrus default setting :

[Papyrus]
fUpdateBudgetMS=1.2000000477
fExtraTaskletBudgetMS=1.2000000477
fPostLoadUpdateTimeMS=500.0

;you can raise a little previous value, and only this one, but don't go above 800

iMinMemoryPageSize=128
iMaxMemoryPageSize=512
iMaxAllocatedMemoryBytes=76800

;Don't activate your papyrus log, a lot of error is irrelevant and it's a resource hog

bEnableLogging=0
bEnableTrace=0
bLoadDebugInformation=0

;if you need to enable it for testing set the 3 values above to 1


Add or set these line :


Avoid lightning pop-in.

[General]
fFlickeringLightDistance=8192



It's avoid missing Esbern's voice bug and prevent problem with TES5Edit or other programs that don't read all the Skyrim vanilla BSAs.

[Archive]
sResourceArchiveList=Skyrim - Misc.bsa, Skyrim - Shaders.bsa, Skyrim - Textures.bsa, Skyrim - Interface.bsa, Skyrim - Animations.bsa, Skyrim - Meshes.bsa, Skyrim - Sounds.bsa
sResourceArchiveList2=Skyrim - Voices.bsa, Skyrim - VoicesExtra.bsa



Disable buggy bmp screenshot and enhance shadows transition

[Display]
bAllowScreenShot=0
fSunShadowUpdateTime=0.25
fSunUpdateThreshold=1.5



Disable all autosave, autosave can occurs at bad moment and could lead to corrupt savegame or CTDs
[SaveGame]
bDisableAutoSave=1

If you are like me and forget to save all the time, I strongly suggest you to use SafeAutosave and disable all autosave option in Skyrim settings.



In skyrimprefs.ini


With enb you don't need 8K shadow (the purpose of this guide is smooth gameplay no screen archery ;), and shadows is a ressource hog too) with a good enb you can use these setting :
[display]
iBlurDeferredShadowMask=3
;Raising previous value made shadows more blurry but an aura effect appears around characters, stay between 1 and 5

fInteriorShadowDistance=3000.0000
fShadowDistance=4000.0000
;if you raise these two previous values, you increase distance of shadows popping but in counterpart nearby shadows are ugly.

iShadowFilter=4
bDeferredShadows=1
bTreesReceiveShadows=1
bDrawLandShadows=1
bShadowsOnGrass=1
bShadowMaskZPrepass=0
iShadowMapResolution=2048
;you can try with 1024, 2048, 4096 or 8192, but 2048 is enough
fShadowBiasScale=0.15
; if you use only ENBOOST whithout graphic enhancement, you can use fShadowBiasScale=1.0000 to reduce shadows stripping
iShadowMaskQuarter=4
bDrawShadows=1

;Remove iRadialBlurLevel (see explanation above)

[TerrainManager]
fTreeLoadDistance=40000.0000
;Higher value induces micro-stuttering even you have a powerful rig, it's an engine limitation (detail here), very noticeable in 3rd person view


Important : Follow these guidelines to clean your ESM update.esm, Danwguard.esm, hearthfire.esm, Dragonborn.esm

4.Modding good practices & Clean save procedure:

Now you've got a clean base setup, you can add some tips from the section below to your INI, and install all your mod.

  • Removing some mods will break your game, regardless of how careful you are or what procedures you use. Removing a scripted mod is always extremely risky, as is any quest mod or mods editing mechanics that may be active at the time. Removing a mod should always be a last shot at troubleshooting, never something to do simply because you decide you dont like the mod any more, if you can, just disable it in game.
  • If you can't disable it, use a dummy ESP to preserve your load order, you can found one in the file section.
  • Read carefully the mod's installation procedure, warnings and FAQ, before installing a new mod, even it's annoying.
  • Be wary, don't use outdated mod without checking the comments to be sure to known if it could create problems.
  • You can find useful information in the Dangerous Mod Masterlist can be found here and here maintain by Nazenn, it's a community driven guide, fell free to contact him through Nexus, Reddit or Steam about unstable mod if you think it's revelant to add them to this list or if an information is out of date.
  • If you use mod organizer, it's a good thing to create multiple profile to test your mod.
  • Always do a save before installing a mod, if you've got a problem at least you can use this save.

If you need to add or remove during a mod your playthrought follow these steps (but try to avoid that):

  • To speedup this procedure i suggest you to install No Boring Sleep-Wait Menu by Humbro8282
  • Ask at your follower to wait you outside
  • If you have "needs mod" like ineeds or RN&D don't forget to disable it to avoid death by starvation ^^
  • Disable all active effect: Open console (²) and type dispelallspells, it's also remove vampirism and lycanthropy, so you must reactivate it with console when this procedure is finish
  • Store your inventory in a permanent storage (like in a player home, if you are homeless you can found a list of safe location here
  • Save your game in a new slot or type save "before uninstall my mod"
  • Quit skyrim
  • Remove your mod (desactivate esp and remove file, restore original file, more easier if you use a mod manager like Mod organizer)
  • Enable a dummy esp (download section) at the same place to preserve your load order and to avoid to break link between active mod and script.
  • Load your save, Click yes when the warning windows about missing esp pop
  • Wait until all your mod is loading
  • Ask you follower to wait you but not in the house you are
  • If you are homeless, or if your home have NPC, Open you console and type coc qasmoke in the game console. Note that if you pick up or open or use anything in here it creates savegame corruption and possibly CTD, so DON'T TOUCH ANYTHING
  • Open console and type tfc
  • Wait 31 days
  • Open console and type tfc
  • Save your game in a new slot or type save "after uninstall my mod"
  • Quit
  • Restart skyrim
  • Load your save
  • Open console and type pcb
  • Open console and type coc riverwood, you can choose an another sell or go directly to your home if you know its cellname.
  • Do a new save
  • Quit
  • Open your save with SkyrimTools
  • Go to the "Clean" menu and select "Show Unattached Instances". This will filter the list and show only the script instances that aren't attached to anything.
  • Go to the "Clean" menu and select "Remove Unattached Instances".
  • Save to a new file.
  • Load your savegame in Skyrim
  • Finally you can play, don't forget to requip your stuff ;)


5.Avoid Mods conflict with a Merged & bashed Patch


A lot of people know Bashed patch, but before you create it, i suggest you to avoid a maximum of conflict in two minutes.
(if you have mod that use dynamic patch like skyproc, you must run it after creating these two patch)

Create a Merged Patch:

  • Launch TES5Edit (if you use mod organizer you must launch it through it)
  • if you use skyrpoc mod, or any dynamic patch (like bashed patch), you must deselect them
  • if you use a NPC appearance overhaul, Merged patch could cause gray face bug, deselect it if you have this problem.
  • Select OK and wait full loading (it's take some time)
  • When loading is finish, you can do a right click on your mod list
  • Go to "Other" menu, click on "Create Merged Patch" (see picture below)
  • Click Yes on next message (Ignore warning that says TES5Edit don't support merged patch for Skyrim , just do it ;))
  • Name your patch TES5Merged without extension (see picture below)
  • Wait until completion, expand your new mod (Click on the small +)
  • Do a right click on "Leveled NPC" and remove it, do the same for Leveled Item (see picture below)
  • Do a right click on your new ESP and click on clean master
  • Close TES5Edit, don't forget to save and activate your mod
  • Your mod must be at the bottom of your actual load order



Name it TES5Merged (not TESVMergedPatch), It will be properly managed by LOOT.



Now, we can create our bashed patch :

  • Install Wrye Bash
  • Launch Wrye Bash
  • Right click on "bashed patch, 0.esp", and select "Rebuild Patch".
  • At the "Deactivate these mods..." message, click OK.
  • Select the boxes next to "Merge Patches", "Import Names", "Import Stats", "Tweak Settings", and "Leveled Lists".
  • Next click [Build Patch]
  • Activate it and place it after your Merged Patch

Now if you have mod with dynamic patch like DyndoLOD, ASIS, Perkus maximus or Dual Sheath redux, you must run it.

NOTICE: As all automated tools, it can do stupid choice, so I suggest you to open them in TES5Edit to ensure you that everything is good.
Errors in these patches can't harm your game but it could lead to undesired effect.


6.Now you are ready to install your ENB or ENBOOST

First, i suggest you to use a manager like ENB FXAA SweetFX Manager and Remover to manage your configuration. it's very useful to save your setting or clean your skyrim folder when you want to try a new preset.

Before choosing an ENB, go here and check your rig, ENB needs a configuration equivalent or superior than recommended requirements.
So if you can't reach it, you need to use only ENBOOST or a very light one.

I test my setup with various ENB, all of the one works with these setting :
A Bleak Vivid Weather Enb, Performance friendly with a dark atmosphere vibe.
SkySoul Final by Charlotte JC is amazing, I suggest you to test it, it works very well with vivid weather or purity (it's a high end ENB with heavy effect, check your configuration before)
ViVid Weather ENB A good preset from MangaClub
ViVidian ENB same as above, very good light effect, a lot of choice (performance and mod compatibility), compatible with all big weather mod.
Phinix Natural ENB (Set timer resolution may lead to CTD with this one). Good balance between graphics enhancement and performance, compatible with CoT5 and NLA.
The Baltic States ENBs Nice preset for Vivid Weather
DarkLight ENB Light Preset with nice light effects and contrast. performance friendly
All Mobiusbelmont's presets are very good
Natural Lighting Vivid Atmospherics, Very nice and performance friendly, I use it now.

Read carefully the installation procedure about needed mod or software. Like a lot of thing, it's very simple if you read the manual ;).

Installing ENb file is pretty straight you just need to :

  • Copy ONLY the d3d9.dll and enbhost.exe from the ENB Wrapper folder to your Skyrim folder
  • Copy the contents of the preset archive to your Skyrim folder

enbocal.ini and skyrimprefs INI edit for ENB users

That's the setting i use (tested with all ENB listed above) :

Edit your skyrimprefs.ini set or add settings below:


bFloatPointRenderTarget=1
bShadowsOnGrass=1
bTreesReceiveShadows=1
bDrawShadows=1
bFXAAEnabled=0
iMultisample=0
iMaxAnisotropy=16
//it is not an error Skirym AF and ENB AF are cumulative and have a very low performance impact.
bMainZPrepass=0
bTransparencyMultisampling=0


In enblocal.ini


[PROXY]
EnableProxyLibrary=true
InitProxyFunctions=true
//ProxyLibrary=


[GLOBAL]
UsePatchSpeedhackWithoutGraphics=false
UseDefferedRendering=true
IgnoreCreationKit=true
ForceFakeVideocard=false

[PERFORMANCE]
SpeedHack=true
EnableOcclusionCulling=true


[MULTIHEAD]
ForceVideoAdapterIndex=false
VideoAdapterIndex=0

[MEMORY]
ExpandSystemMemoryX64=false
ReduceSystemMemoryUsage=true
DisableDriverMemoryManager=false
DisablePreloadToVRAM=false
EnableUnsafeMemoryHacks=false
ReservedMemorySizeMb=64
VideoMemorySizeMb=7638
EnableCompression=false
AutodetectVideoMemorySize=false

[WINDOW]
ForceBorderless=true
ForceBorderlessFullscreen=true

[THREADS]
DataSyncMode=0
PriorityMode=0
EnableUnsafeFixes=false

[ENGINE]
ForceAnisotropicFiltering=true
MaxAnisotropy=16
ForceLodBias=false
LodBias=-0.25
EnableVSync=false
//No need of any Vsync if you use borderless mode (recommended). If not prefer driver's features.
AddDisplaySuperSamplingResolutions=false
VSyncSkipNumFrames=0

[LIMITER]
WaitBusyRenderer=false
EnableFPSLimit=true
// Set EnableFPSLimit to false if you use Nvidia-inspector or other GPU software to cap your FPS (recommended)
FPSLimit=58.0

[ADAPTIVEQUALITY]
Enable=false
Quality=0
DesiredFPS=20.0

[ANTIALIASING]
EnableEdgeAA=false
EnableTemporalAA=false
EnableSubPixelAA=false

[FIX]
FixGameBugs=true
FixParallaxBugs=true
// No need if you don't have parallax texture
FixAliasedTextures=false
// No need if you use SMAA
IgnoreInventory=true
FixSsaoWaterTransparency=true
FixTintGamma=false
// Very depending of your enb and your skin mod you use. Setting it to true could reduce neck seam or could make it more noticeable.
RemoveBlur=false
FixSubSurfaceScattering=true
FixSkyReflection=true
FixCursorVisibility=true
FixParallaxTerrain=true
// No need if you don't have parallax texture
FixLag=false



enblocal.ini for ENBOOST users

Spoiler:  
Show
EnableProxyLibrary=true
InitProxyFunctions=true
//ProxyLibrary=


[GLOBAL]
UsePatchSpeedhackWithoutGraphics=true
UseDefferedRendering=false

[PERFORMANCE]
SpeedHack=true
EnableOcclusionCulling=true


[MULTIHEAD]
ForceVideoAdapterIndex=false
VideoAdapterIndex=0

[MEMORY]
ExpandSystemMemoryX64=false
ReduceSystemMemoryUsage=true
DisableDriverMemoryManager=false
DisablePreloadToVRAM=false
EnableUnsafeMemoryHacks=false
ReservedMemorySizeMb=512
VideoMemorySizeMb=7638
EnableCompression=false
AutodetectVideoMemorySize=false

[WINDOW]
ForceBorderless=true
ForceBorderlessFullscreen=true

[THREADS]
DataSyncMode=0
PriorityMode=0
EnableUnsafeFixes=false

[ENGINE]
ForceAnisotropicFiltering=true
MaxAnisotropy=16
ForceLodBias=false
LodBias=-0.25
EnableVSync=false
AddDisplaySuperSamplingResolutions=false
VSyncSkipNumFrames=0

[LIMITER]
WaitBusyRenderer=false
EnableFPSLimit=true
FPSLimit=58.0

[ADAPTIVEQUALITY]
Enable=false
Quality=0
DesiredFPS=20.0

[ANTIALIASING]
EnableEdgeAA=false
EnableTemporalAA=false
EnableSubPixelAA=false

[FIX]
FixGameBugs=true
FixParallaxBugs=true
// No need if you don't have parallax texture, ignored when you use UsePatchSpeedhackWithoutGraphics=true
FixAliasedTextures=false
// No need if you use SMAA
IgnoreInventory=true
FixSsaoWaterTransparency=true
FixTintGamma=true
RemoveBlur=false
FixSubSurfaceScattering=true
FixSkyReflection=true
FixCursorVisibility=true
FixParallaxTerrain=true
// No need if you don't have parallax texture, ignored when you use UsePatchSpeedhackWithoutGraphics=true
FixLag=false
[/code]


Important : Due how new crash fixes works, you must set ExpandSystemMemoryX64 to false.

As Boris says in this comment :
Just want to confirm that ExpandSystemMemoryX64 have it's own goal and not "same" thing. Because of very bad memory allocation code in most games, fragmentation greatly decrease amount of available memory and with ExpandSystemMemoryX64=true this issue partially fixed. It's not about amount of free memory, but how many big enough blocks can be allocated till game die from out of memory error. You may have 2 gb free memory, but unable to allocate even 1 mb buffer. This is not the same as fragmentation of hard disk drive, which just reduce performance.
DefaultHeapInitialAllocMB and ExpandSystemMemoryX64 are incompatible with each other just because OS and other software may put various crap in virtual address space (fragment it) and Sheson patch (SKSE now) do not test if it possible to allocate such big memory block, even that i warned authors about this issue very long time ago. You may blame ENB, but it's the fault of patches which MUST to try preallocate memory first and reduce size if failed. Finally, get rid of s*** running, every software these days trying to inject something in to game process, the chance to get big memory block is lower and lower every year


This fix defragments memory to increase amount of available memory that can be allocated to memory block, crash fixes bypass the use of memory block, so it's not needed anymore.

Very important :
If you experiment crash at startup : with windows 7 and older, try to install DX9 runtime, with windows 8/8.1/10, use this version.

ReservedMemorySizeMb=64, this value can be change but it's must be a multiple of 32.
I suggest to start at 64 and try raise it until you get rid of all CTDs

Maximum value is 1024, but bigger number is not better, try to keep the value as low as possible. If you have too many CTD raise it, but do it step by step (for example: I use nearly 400 Mod, meged to bypass esp limitation, and I use 96) .

VideoMemorySizeMb=7638 : This value depend of your OS and your VRAM, grab the tools provided by Boris VramSize and launch VRamSizeDX9.exe.
If you run GPU accelerated apps, it will decrease the amount of ram reported by the tools, so close all apps that you don't use during your game session.

Sometimes you will read on other sources that maximum value is 10240, this statement is wrong, Boris stated himself that you can use far bigger numbers (near 128Gb when you use compression and 96 without).

For Windows 7 and Windows 10 (since creator fall update) users : Take VramSize value minus 350Mo

Windows 8/8.1
: Sadly, these version of Windows have a problem to manage DX9 game memory correctly , maximal value is 4064 Mo. If you set an upper value, you will get a CTD when you will reach the limit of 4064. (You don't need to minus value, just use VramSizeDx9 value)

VideoMemorySizeMb sets the total memory that will be used for the ENBoost dynamic memory allocation. Not the total of VRAM that will be used by Skyrim engine.

Trust Boris tool, ENB is his creation, he knows more that anyone how is tool works.

Don't trust any magical values you can find on any enb configurations.

These setting manage process priority and add some stability fix, but you can experience massive fps lag, set it like below

[THREADS]
DataSyncMode=0
PriorityMode=0


DataSyncMode=0 and PriorityMode=0 is the recommended setting and should always be used, unless If you have CTD or problem when you load a save, set it to :

PriorityMode=3 and DataSyncMode=2, according to Boris' advice, it is the best balance between fix and performance for Nvidia users and
some ATI/AMD users

or to :

DataSyncMode=1 and PriorityMode=0 is mostly the best balance for AMD/ATI users.

Be warned that you will experience stuttering and lag if you use PriorityMode=3 and DataSyncMode=2 (or DataSyncMode=1 and PriorityMode=0), and it should only be used as a last resort.

You can change it mid-play so you can enable it temporarily, and set it to 0 & 0 when you no longer need it.


If you want to use SWEETFX preset, RCRN or software SMAA, you need to set ProxyLibrary setting.

For example:
If you want to use RCRN with ENBOOST :
  • Follow their installation instruction
  • before copy d3d9.dll in skyrim folder, rename it to d3d9_RCRN.dll
  • EnableProxyLibrary=true
  • InitProxyFunctions=true
  • Set ProxyLibrary=d3d9_RCRN.dll
  • That's all

It's exactly the same way for other injector like Sweetfx or SMAA.

Notice: If you use ReShade, you must set InitProxyFunctions to false

7.Special instruction for Skyrim Reloaded - SKGE - SKGE's users with ENBOOST

Skyrim Reloaded - SKGE is an SKSE plugin that mainly modifies the rendering pipeline, adding new features and providing screen effects not supported in the vanilla game. Instead of using an injector like sweetfx or ENb it uses game engine.

For the moment, it not override all effect in game like you can do with sweetfx or enb, but this solution is very performance friendly and compatible with every mods. At this moment I use it with a sweetfx preset to enhance stuffs who are not managed by SKGE yet.

Installation are pretty easy :
  • Download main archive
  • Unpack it like other SKSE plugin
  • Download my enblocal.ini, set it for ENBOOST (cf previous section)
  • Set speedhack to false (This part has nothing to do with ENBOOST, source)
  • That's all !!


If you use mods who alter camera, you must edit Data/SKSE/Pulgins/SkyrimReloaded.ini and set FoV = 0 and CameraMode = 0
If you want to use borderless fullscreen, set bFull Screen to 0 (skyrimprefs.ini) for windowed mode and SR will automatically use borderless mod

If you want to take advantage of SKGE and ENB features:
Fusion ENB Preset by DarkShenron, it is an ENB preset tweaked to work with SKGE with different performance flavors.
Suki's Preset SKGE-ENB-NLVA by TheForkOnTheLeft, very beautiful one tweaked to be use with NVLA.

After that, you need to read SKGE documentation to configure or enable every features.

If you want to enable parrallax, you need to follow these instructions :

Edit your skyrimprefs.ini
bFloatPointRenderTarget=1

Edit your enblocal.ini :

[GLOBAL]
UsePatchSpeedhackWithoutGraphics=false
UseDefferedRendering=false

[PERFORMANCE]
SpeedHack=false


Download my enbseries.ini (every effect are disabled except stuff needed by parallax)

That's all !

Note: This part will be updated when a new version will be released.

8.Last thing to do to avoid stuttering: Optimize your texture.

If you just want a smooth gameplay and don't do screen archery, you don't need 8K texture or 4K. With a good ENB 2K is a very good balance between Quality and Performance.
I strongly suggest you to cap your texture to 2048, no need to go under, performance gain is minimal (Except if you have less than 1Go Vram, cap it to 1K)
Even you don't want to reduce your texture resolution, you can optimize it by add mipmap file and compress it if needed.

To do that you need this tool Optimizer Textures, and grab the ini in the file section.
xiu12 made a compilation of the best INI settings to avoid errors or undesired artefacts, the best ? it permits to use Optimizer texture on your whole MO mods folder instead of optimize them one by one. Run it right after you installed your last mod !

Use these settings :


Mipmaps setting and Resize patterns is the most important, don't go below 16x16 except if you want a Tetris game instead of skyrim.

9.Icing on the cake

You want to grab a little more performance ?

To grab a little more power and reduce micro-stuttering you can use these two small utilities, they help to optimize how windows handle your processor:

Windows System Timer Tool, Run it, set timer to 0.5 and minimize it, click on unset timer to get back your default setting. (Vividian ENB 7 works well with it, but I notice CTD with : PHINIX ENB 2.0.27, Tetrachromatic ENB (thanks to ff7legend for the report, more feedback is appreciate).

ParkControlFree, download version according to your system (32 or 64 bits) and install, Launch Parcontrol, select the Bitsum Highest Performance power profile, click on Apply. When your game session is over, launch it again, and set your usual power profile.


From website author FAQ :
"CPU core parking and frequency scaling can have a dramatic impact on real-time performance of bursting loads like audio/video, gaming, VOIP, and more.
That is a big reason we have made such a ‘fuss’ over them. It was nice to be ‘vindicated’ by Intel, who has moved core parking control to the hardware in new CPU generations because the OS’s management was so sub-optimal. As long as they retain the ability to disable core parking, and I’m sure they will, it should be a good change. Microsoft seemed to focus entirely on battery life in recent years, leaving performance to suffer, particularly for desktop users."


When Skyrim runs, CPU stressful situations often occur over a few nanoseconds, which would be fine if Windows could unpark your cores instantaneously, but it's not the case. Unparking your cores indefinitely will increase system stability, it will also boost performance based upon the situation.

It's not an overclocking and it's don't really reduce lifetime processor but it's may drain your battery faster on a laptop.

If you want to deeply understand what these tools do, please read carefully the description on respective author site.

Now, we will configure skyrim's cpu affinity to avoid a misuse of hyper-threading :

You don't need this tip, if your CPU is not hyper-threading.

If you don't know:

intel processor : you can go here, and check if your processor have it (do a search with your processor name, in performance section, check number for core and thread, if you have double thread than core, it is hyper threading).

AMD processor : I'm sorry i don't these processor very well, if you a fx processor, you can use this tips, for others, sincerely, i don't know.


Skyrim's engine works very well in on a multi-core CPU but it doesn't made difference between logical core (Hyper-Threading) and physical core.

These steps will explain you how to force skyrim to assign one process by core. The purpose of this tweak is to use only one real core, they are coupled by two (Core 0&1, 2&3,4&5, etc...), if your processor is old, Core 0 is the real one, core 1 a logical one, Core 2 - real, Core 3 - logical etc... Last processor generation uses only logical core, these explanations are designed to work with old or new processor.

This step will show you how many CPU cores you have, and how to figure the hex value to use at step 3 below for the CPU(s) you want to run the application on.

NOTE: If you should need any assistance with this step, then please feel free to post. I'll be happy to help.

A) Open Windows Task manager (CTRL+Shift+ESC) in more details view, click/tap on the Processes (XP, Vista, Windows 7) OR Details (Windows 8) tab, right click or press and hold on any process in the Name column, and click/tap on Set affinity. (see screenshot below)

NOTE: This will show you how many CPU cores you have. I have 8 CPU cores numbered from 0 to 7.

B) For how many CPU cores you have will also be how long the binary number will be. Since I have 8 CPU cores, the binary number will be 8 zeros 00000000. Each zero in the binary number represents a CPU core number from right to left. In my case with 8 CPU cores, the far right 0 in the binary number will be for CPU 0, and the far left 0 will be for CPU 7. (see screenshot below)

C) For each CPU number you want to run the application on, replace 0 (off) with 1 (on) in the binary number for the CPU numbers.

For Skyrim, if I wanted to run the application only on CPU 0, CPU 2, CPU 4 and CPU 6 then my binary number would be changed to 01010101. (see screenshot below):



D) Go here, and type your binary number from step 1C above into the Binary field. This will convert the binary number to a hexadecimal (hex) that you will need to use at step 3 below.

For example, with my 01010101 binary number, I get a hex value of 55. (see screenshot below)




2.
If you use mo, you need to edit SKSE shorcut to match to image below :



3. Replace 55 by your setting and update path accordingly to your setup.


That's all


If you don't use MO

2.
You will need to create a shorcut to launch your game, do a right click on your desktop, click on New and Shortcut

3. Type the command below into the location area, and click/tap on the Next button.

cmd.exe /c start "skse" /affinity 55 "E:\Steamfast\Steamapps\common\skse_loader.exe" -forcesteamloader

3. Replace 55 by your setting and update path accordingly to your setup.

4. Type any name you would like to give the shortcut, and click/tap on the Finish button


That's all

I'm sorry for NMM's users but I don't use it so I can't provide any screenshot or explanation, if someone send me these informations i will add it.

10.List of useful tips

These tips is already in my cleaned INI.

Skyrim.ini:

Remove intro sequence (it isn't an error, let it empty)

[General]
sIntroSequence=


Reduce annoying movement delay in third person view (not included in my ini yet)

[Controls]
fControllerBufferDepth=0.01


Remove Border invisible wall required by some mod (like Rigmor)

[General]
bBorderRegionsEnabled=0


Disable the spinning camera when you don't move, don't work on an existing save (only new game)


[Camera]
bDisableAutoVanityMode=1


Delay the spinning camera when you don't move, on an existing save (only new game)

[Camera]
AutoVanityModeDelay=600


Better aiming (disable auto-aiming too)

[Combat]
fMagnetismStrafeHeadingMult=0.0
fMagnetismLookingMult=0.0
f1PArrowTiltUpAngle=0.7
f3PArrowTiltUpAngle=0.7
f1PBoltTiltUpAngle=0.7


Enhanced World map (360 spin and other tweak)

[MapMenu]
fMapWorldYawRange=3600.0000
fMapWorldMinPitch=0
fMapWorldMaxPitch=90
uLockedObjectMapLOD=8
fMapWorldZoomSpeed=1
bWorldMapNoSkyDepthBlur=1
fWorldMapNearDepthBlurScale=0
fWorldMapDepthBlurScale=0
fWorldMapMaximumDepthBlur=0


Enhanced light in the distance:

[Display]
fLightLODRange=50000


Enable water reflection for LOD :

[Water]
bReflectLODObjects=1
bReflectLODLand=1
bReflectSky=1
bReflectLODTrees=1


Better Decals:

[Decals]
uMaxSkinDecals=100
uMaxSkinDecalPerActor=60


Use all your screen for UI, disable tutorial and speedup book opening animation :

[Interface]
bShowTutorials=0
fSafeZoneX=10
fSafeZoneY=10
fSafeZoneXWide=10
fSafeZoneYWide=10
fBookOpenTime=200.0


Enhanced Grass and avoid grass popping (complete it with the tips in skyrimprefs.ini):

[Grass]
bAllowCreateGrass=1
bAllowLoadGrass=0
fGrassFadeRange=20380
iGrassCellRadius=2
iMaxGrassTypesPerTexure=3
;value above need to be raise to 7 if you use Skyrim Flora Overhaul for example
iMinGrassSize=40
;value above can boost performance, high value = lesser grass, you need to set it high is you use grass on steroid or SFO on steroid.


Skyrimprefs.ini:

Avoid grass popping

[Grass]
fGrassStartFadeDistance=18000.0000
fGrassMaxStartFadeDistance=18000.0000
fGrassMinStartFadeDistance=0.0000


Enhanced particle effect (like smoke)

[Particles]
iMaxDesired=750


Reduce tree poping effect :

[Trees]
bRenderSkinnedTrees=1
uiMaxSkinnedTreesToRender=200


Enhanced Water reflection :

[Water]
iWaterReflectHeight=1024
iWaterReflectWidth=1024
bUseWaterDisplacements=1
bUseWaterReflections=1


[/spoiler]

11.Avoid strange FOV or HUD Problem with unsupported resolution or very wide screen

  • Edit your skyrimprefs.ini and set "iSize H" and "iSize W" to match your resolution (ex: iSize H=1080 iSize W=2560 for me)
  • Install this little utility Flawless Widescreen (works for a lot of other game)
  • Activate the skyrim plugin
  • Go to setting menu, choose configuration then Display detection; tick Display Detection override
  • Configure as picture below (Update to match your resolution)



Enjoy :)


12.Troubleshooting

Stuttering

You still have stutter after follow all the step of this guide, even when you disable graphical enhancement ? (or you are a ENBOOST only user)
If you use ENB's frame limiter, disable it and use the one from your drivers.
Check if you have reduced Reserved Memory to minimal value.

If it still stutter :

Try to downgrade your enb to V0.279 or 0.292, if stutters vanish, sorry, you are unlucky.
Don't forget to check if your preset support older version (an easy way is to check if they use dawn / dusk features), most of them works out of the box with 0.20x series.

Don't forget to bring feedback and post your configuration in comment section

A little bit of explanation : Boris have stated that some people can encounter unknown problems which make your game stuttering when you use ENB 0.30x series.
Technically these version are very close and code modifications shouldn't induce problems, but it is a fact : it occurs for random users with no explanation.
Sadly Boris can't reproduce this on his side so for the moment it is the only way to solve that.

If you want to check by yourself, you've got a lot of posts on ENB forum about it.

Crash when you load your save from main menu:
  • Open console
  • type coc qasmoke
  • Load your save


If it works or if this problem is recurrent, you can use this very clever mod: Load Game CTD Fix by Utopium which do the job for you.

Suddenly, Skyrim crash when you save :
  • Load an older save which hasn't CTD save glitch.
  • Create a new save through main menu
  • Open console (use ²) and type player.kill
  • Load your latest save (the one which had CTD glitch)
  • Type in player.kill
  • after loading, try to save (Quicksaving is enough)


RS children / modded children and XPMSE users :

Big FPS drop when you are in a crowned area with kids arround :
Install XPMSE Skeleton for RSChildren by xp32 - Groovtama - Ranaline - DetectiveToaster to solve this problem.
If you don't use RS children, you need to rename file and replace original skeleton by these ones.
Thanks to Shubal for this fix

Crash fixes :

UseOSAllocators=1 and crashing when touching sliders in character creation or otherwise :
Set AlignHeapAllocate=1 in CrashFixPlugin.ini, downside is increased load time and increased memory usage. (Setting that I suggest by default)
NetImmerse Override is well known to have problem too, it you use it, replace it by racemenu.

UseOSAllocators=1 and crashing on game startup or loading save or shortly after:
Set ExpandSystemMemoryX64=false in enblocal.ini (Setting that i suggest by default)

Game says message box "running out of memory" and crashes:
Set ReduceSystemMemoryUsage=true in enblocal.ini (Setting that I suggest by default)

Game says message box "running out of memory" and crashes and ReduceSystemMemoryUsage=true :
  • Edit CrashFixPlugin.ini and set CustomMemoryBlock=1
  • Take a look at crash fixes in-game report by opening skyrim console (with ²)
  • In CrashFixplugin.ini, increase or decrease CustomMemoryBlockTotalSizeMb until highest memory block usage's value is around 85% - 90%

How to determine the source of crashes from unkown exception addresses ?
Read the guide written by Overlord69 about it.

SkyUI
SkyUI retrun you an error code 7 :

In your skyrim.ini :
[Archive]
bInvalidateOlderFiles=1

ReShade :
CTD at startup.
Set InitProxyFunctions=true to false

ENB :
if you experiment crash with enb wrapper version on laptop equipped with a Nvidia Optimus technology.
Use NVIDIA OPTIMUS D3D9 DLL FIX by HiAlgoBoost
  • Rename your current d3d9.dll (from the game folder) to "d3d9orig.dll"
  • Copy our d3d9.dll to the same folder (the game folder)
  • Open NVidia control panel, and explicitly add your game's EXE file to the list of "high-GPU-requirement" programs.
  • That's it!


Windows 10 users :
Crash fixes is blocked or a message like this : “Windows found that this file is potentially harmful. To help protect your computer, Windows has
blocked access to this file.” when you try to launch Skyrim
(Thanks to macrocosm144 ) :
Windows 10 could block Crash Fixes' dll which prevent skyrim to be launched.

To avoid this problem, you need to follow these steps :

  • Right click on the dll file.
  • Select Properties
  • Click on the General tab in the Properties window.
  • Click on the Unblock option next to the Security detail which says “This file came from another computer and might be blocked to help protect this computer.”
  • Windows might display an Access denied message box here, provide Administrator credentials if this box pops up


CTD at start up with an ENB preset with sweetfx
No real solution, sweetfx is not totally compatible with windows 8/10, you can try to replace it by reshade.

TabletInputService induces a lot problem (random crashes, crash at startup, stutter, problem with borderless features), the best solution is to disable it. (Thanks to ibbanez)
Run command promt as Administrator and type :
sc config "TabletInputService" start= disabled
sc stop "TabletInputService"


If you want to reverse :
Spoiler:  
Show
sc config "TabletInputService" start= enabled
sc start "TabletInputService"

If you still have totally random crashes after using previous tips, use a timer (or check beginning/end of your logs) to see if the crashes happen every 15 minutes exactly. If they do, it's likely caused by the touch keyboard and handwriting panel service in Windows 10.(Thanks to JackArbiter)
To stop the virtual keyboard service and keep it from starting again, type services in the taskbar, click services, go down to touch keyboard and handwriting service, right click and stop it, and then rightclick>properties and select "disabled" for "startup type."

Undetermined crash, how to test with a minimal & clean configuration :
Some crashes could be induced by third party software, it could be very difficult to narrow why your game crash suddenly especially when the error messages are not explicit.
Follow these instructions to know how to perform a clean boot in Windows (Thanks to Praecox for this useful link.)

13.To do list:

  • Add information about FPS cost for each tweaks if possible.
  • Add information about FPS cost for ENB effects.


14.Removed Stuff (may still be useful):
Spoiler:  
Show

Replace by Crash fixes :
;Sheson memory patch
;[Memory]
;DefaultHeapInitialAllocMB=768
;ScrapHeapSizeMB=256
[/code]

DefaultHeapInitialAllocMB value must be a multiple of 128, don't raise this value over 768 Mb, you can try to lower this value, to adjust your value, you can use this mod Memory Block log, go to wandering in Skyrim for few minutes and check value in the log.
If everything is good you will see this in your log :


logging of blocks enabled
logging max values only
Timer disabled
Block1 Block2
512MB256MB
858
858
859
.........
355241
355242
355243
355244
355245
355246
355247
355248
355249


Enb related configuration (deprecated since new crash fixes) :
if DefaultHeapInitialAllocMB in your skse.ini is set to 768, you can use ExpandSystemMemoryX64=true, if you use a higher value (not recommended) or if it doesn't work with these setting, it's a crappy software fault (sometime you can't do nothing against this), you must set it to false.

Two quote about this setting from Boris himself (one from his comment page, the another one from Crash fixes by meh321 comment page:
ExpandSystemMemoryX64 have nothing in common with SSME/SKSE. The bug is in too high value (768 by default) in SKSE. But with proper configuration of [MEMORY] category ExpandSystemMemoryX64 may not be required, it's just extra safety level when nothing helps or ReduceSystemMemoryUsage=false.

Just want to confirm that ExpandSystemMemoryX64 have it's own goal and not "same" thing. Because of very bad memory allocation code in most games, fragmentation greatly decrease amount of available memory and with ExpandSystemMemoryX64=true this issue partially fixed. It's not about amount of free memory, but how many big enough blocks can be allocated till game die from out of memory error. You may have 2 gb free memory, but unable to allocate even 1 mb buffer. This is not the same as fragmentation of hard disk drive, which just reduce performance.
DefaultHeapInitialAllocMB and ExpandSystemMemoryX64 are incompatible with each other just because OS and other software may put various crap in virtual address space (fragment it) and Sheson patch (SKSE now) do not test if it possible to allocate such big memory block, even that i warned authors about this issue very long time ago. You may blame ENB, but it's the fault of patches which MUST to try preallocate memory first and reduce size if failed. Finally, get rid of s*** running, every software these days trying to inject something in to game process, the chance to get big memory block is lower and lower every year


If you see "Block1 512MB" it's right, when you use Memory path from SKSE, 768 value reserve 512Mb, if you use SSME, you must use a max value of 512 (not 768), You must choose between these two implements of this patch, don't use it together.

Safety load (deprecated since new crash fixes)
Safety Load by kapaer, if you don't have infinite load screen, you don't need it. It's a skse plugin, mid-play friendly ;). This one is a subject of discussion, some very experienced modders say this fix is useless because SKSE avoids original problem, but, if i disable it, i can't load some savegames that I can load with it (tested and retested many times, found a lot of feedbacks saying the same (any level of knowledge). Without EnableOnlyLoading = true , some lags or some CTDs can occur, with this setting i don't encounter any problem. I never found information about critical issues with this plugin. So use it, but only if you encounter infinite load screen problem.



Replace by Optimizer Texture methode :

To do that, you need this tool DDSopt - Optimization of DDS Textures by Ethatron, and grab the ini in the file section (copy past in DDSopt directory). (It's a compilation of tweaks from STEP and from personal experience to avoid glitches.)
Use it on each mod, when you will have finish to install all your texture mod but before run DynDOLOD if you use it.

I suggest you these settings :

Behave menu(check following setting, other must be unchecked):
  • In Textures sub-menu, check following settings :
    • Produce partial derivative tangent-space normal-maps
    • Raise Normal-map steepness each mip level
    • Gamma-Correct mip-map filtering fir color-maps
    • In Normal-map steepness raise sub-menu :
      • Set 1.75x
    • In Foliage-map opacity raise sub-menu :
      • Set 2.0x
    • In colour-map gamma sub-menu :
      • Set g^2.2
    • In Alpha-map contrast sub-menu
      • Set c^1.5

Apply menu (check following setting, other must be unchecked):
  • Re-compress and re-mip all textures (DDS)
  • Compress all known image-formats (PNG,BMP,etc.)

Ignore menu (check following setting, other must be unchecked):
  • Don't process any high dynamic range images (DDs, HDR, etc.)
  • Copy unprocessed and ignored files (passthrought)
[/list]
Compression menu :
  • Set it to 10 (maximum)
[/list]
Setting menu (check following setting, other must be unchecked):
  • Skip existing files
  • Skip older files
  • Skip hidden files
  • Unselect inappropriate
  • Write logfile

In Broswer tab, set your texture directory source with the top "Browse" button, set your output directory with the one at the bottom (if you use mod organizer you can set it to the overwrite sub-directory).

Constraints tab, is the place where you can cap your texture size and your quality :

High Quality setting :


Performance setting, don't use it on custom body texture :


When you have finish you can hit process button, and wait ;) (it took me 30 minutes to optimize my 14Gb texture folder)

You can use it on your whole skyrim's texture folder, but I strongly suggest you to make a backup before.

Replace by ParkControl free :
CPU core parking manager (idem), open it, adjust the slider to 100% and quit, when you finish your game session, start it again and restore your setting (Especially if you leave your PC switched on without playing or if you use a laptop)


From the website author :
"If you are an owner of a new multicore Intel CPU for example Intel core I7 and Windows 7 or Windows Server 2008 OS, you already might notice that some of the cores in your resource monitor are marked as parked. This is a new feature of windows 7/2008 operating system that is made to balance energy consumption by your CPU. So let’s say if you are performing some tasks that do not consume a lot of CPU power, all the cores that are parked will remain in that state. However, if you are running something that requires a lot of CPU power, all the cores, which were previously parked, will be placed in the active state (unparked) to perform the task. And after it’s done, they will be parked again."



I have removed ShowRaceMenu Precache Killer because it's now integrated.
"If you experience crashing while opening the menu please consider acquiring the optional download DisableFaceGenCache (integrated as of version 2.7+, no longer necessary). This is an SKSE plugin that disables caching of FaceGen parts that can crash your game if you have many hair/eye/brow mods installed."
It's still useful if you use an older version of RaceMenu.

I have removed OneTweaks because all fix is covered by ENB now, but if you still want to use it, use these setting :

[Version]#Configuration file version, DO NOT CHANGE
Config=9
[Global]
#Enable Borderless Window
BorderlessWindow=true
#Enable Double Cursor Fix
DoubleCursorFix=false
#Enable dynamic priority change
Priority=false
[Priority]
#0 - idle, 1 - below normal, 2 - normal, 3 - above normal, 4 - high, 5 - realtime
Foreground=3
#0 - idle, 1 - below normal, 2 - normal, 3 - above normal, 4 - high, 5 - realtime
Background=2
[BorderlessWindow]
#Active in background
Active=false
#Window style flags
StyleFlags=0
#Window style flags ex
StyleFlagsEx=0
#Window X position
WindowPosX=0
#Window Y position
WindowPosY=0
#Window width, 0 = autodetect
WindowWidth=0
#Window height, 0 = autodetect
WindowHeight=0
#Rendering width, 0 = autodetect
RenderWidth=0
#Rendering height, 0 = autodetect
RenderHeight=0
[Skyrim]
#Enable ShowRaceMenu Precache Killer
PrecacheKiller=true
#Disable intro video
NoIntro=true



Thanks to
xiu12 for Ordinator INI
Bethesda for this amazing game and tools
Boris to provide us ENB
All ENB preset author for their work
Mod author to make Skyrim better and better (and fix it too)
Sot Team, Nexus and STEP forum user for their post who help me a lot without know it.
Eightforums for their tutorials