SKYRIM
Speed and Stability Guide for ENB by tony971
Skyrim » Bug fixes
Added: 22/01/2014 - 03:07PM
Updated: 22/08/2014 - 03:03PM

1,296 Endorsements

2.4 Latest version

25,141 Unique D/Ls

30,193 Total D/Ls

295,161 Total Views

Uploaded by tony971

Description

Last updated at 15:03, 22 Aug 2014 Uploaded at 15:07, 22 Jan 2014

Speed and Stability Guide for ENB
These processes will solve (many) CTDs, bugs, and low FPS issues.
I highly suggest reading the whole article. Pay attention to the notes in yellow.
I've tried to keep it as brief as possible. Happy modding!

Check out my Modding Beginner's Guide!

BACKUP EVERYTHING FIRST.
Endorsements Welcome ;) The more people that see this, the less confused and upset users there'll be.

Info below is courtesy of Boris Vorontsov, Sheson (endorsed), Mangaclub (endorsed), SkyrimTuner (endorsed), ewi65 (endorsed), firemanaf (endorsed), artem1s, The STEP Project, and adelinadragonborn (endorsed).




Fixing Your Vanilla Settings
This section of the guide will make sure that you've got the optimal settings in your vanilla game to run an ENB.
Some of these settings are actually required by ENB to function properly.


1. Make sure that all of the required mods for your ENB are installed.
2. NMM/Wrye users open the Skyrim menu through Steam.
2. MO users run Skyrim Launcher through MO.
3. In the options section, turn off Antialiasing, Anisotropic Filtering, and FXAA. (in the advanced section)
4. In your video driver, set the features from step 3 and SSAO to application controlled. Only do this for Skyrim.
5. Go to Steam/steamapps/common/Skyrim/enbseries and look for enbhelper.dll. If there isn't one, download ENB Helper from the downloads section, extract it, and add it.
*This provides ENB with more info from the Skyrim engine to base its rendering off of. This is required for ENBSeries 0.250+.
6. Download ewi65’s ini settings here
7. Extract, open, and set the following values:

skyrim.ini
[General]
sLanguage=ENGLISH <-- change to your language
uGridsToLoad=5 <-- change to your preference (must be an odd integer)
*Higher values will enhance distant detail but also hurt performance and start scripts earlier. (This can mess up quests, dialog, etc.)
*Be sure to use Stable uGridsToLoad (requires SKSE) and Sheson's memory patch if you use uGridsToLoad 7 or higher.

uExterior Cell Buffer=36 <-- change to (uGridsToLoad + 1) ^ 2
[Grass]
iMaxGrassTypesPerTexure=7 <-- Unique Grasses and Groundcovers users change to 8
iMinGrassSize=30 <-- Grass on Steroids users change to 75 for best look, 100-128 for no performance loss

skyrimprefs.ini
[Imagespace]
bDoDepthOfField=0 <-- Realistic Water Two users change to 1
[Display]
bTransparencyMultisampling=1 <-- change to 0 if TransparencyAA is enabled in your enblocal.ini
fGamma=1.0000 <-- change if your preset wants a different gamma setting
iSize H=1080 <-- change to your screen height
iSize W=1920 <-- change to your screen width
sD3DDevice="NVIDIA GeForce GTX 780" <-- change to your card
iShadowMapResolution=2048 <-- change to 4098 if you really need ultra shadows
iMaxAnisotropy=1
iPresentInterval=0
[GamePlay]
iDifficulty=2 <-- change to your preferred difficulty - 0 (Novice) through 5 (Legendary)
[Particles]
iMaxDesired=750 <-- CoT - Weather Patch users change to 1750 if using the fog edition
[LOD]
fLODFadeOutMultObjects=15 <- change to (uGridsToLoad + 1) * 2.5
fLODFadeOutMultItems=15 <- change to (uGridsToLoad + 1) * 2.5
fLODFadeOutMultActors=15 <- change to (uGridsToLoad + 1) * 2.5
[Water]
iWaterReflectHeight=1024 <-- change to 512 if you really need the FPS
iWaterReflectWidth=1024 <-- change to 512 if you really need the FPS

8. NMM/Wrye users move these files to Documents/My Games/Skyrim. Overwrite when asked.
8. MO users move these files to Mod Organizer/profiles/(your profile--probably Default). Overwrite when asked.
9. Right click skyrimprefs.ini, select "Properties", and check "Read-only" under Attributes.
10. Download and install Particle Patch All-in-One and Subsurface Scattering Patch in the downloads section.


Bug Fixing/Memory Management
This section of the guide will help sort, clean, and amend your mod list as well as optimize your memory usage.

Sorting, Cleaning, and Emending your Mod List

1. Download LOOT, TES5Edit, Wrye Bash, and Savegame script scalpel.
*If you use MO, you have to run these within MO. To do this, click on the gears icon in the toolbar. Select their respective .exe files as the binaries and enter the name of the program as the title. You can now run these programs like you would SKSE or Skyrim.
2. Run LOOT, select "Sort Plugins," and click apply.
*Norton thinks that LOOT is malicious. Check the most common problems for a solution.
*As of MO version 1.2.1, LOOT is integrated into the sort button.
*LOOT 0.6 and above requires Internet Explorer 11 to generate the reports.

3. Go to the "Details" tab and check to see if LOOT recommends any mods be cleaned with TES5Edit. Do not close the results. You'll have to know the order of which ones need cleaning.
4. Run TES5Edit and leave all of your mods checked. Make sure that it doesn't have any errors loading them all.
*If it does, you probably have a mod that you shouldn't be using. Find out which it is, get rid of it, and run LOOT again.
5. Close TES5Edit.
6. Run TES5Edit again and ONLY CHECK THE FIRST MOD IN THE LIST THAT LOOT SAYS NEEDS CLEANING.
*Other mods will load with it. This is normal.
7. When it loads, right click the mod that needs cleaned and select "Apply Filter for Cleaning."
8. Right click again and select "Remove 'Identical to Master' Records." (Yes, you're sure.)
9. Right click again and select "Undelete and Disable References."
10. Close TES5Edit and save. (No, I didn't mess up the order on that. The save dialog pops up when you hit the close button.)
11. Repeat steps 6-10 for each mod that needs cleaning. DO NOT DO MORE THAN ONE MOD AT ONCE.
12. Re-run LOOT and check for any more tips other than Bash Tag suggestions. Obey all of them.
13. Run Wrye Bash and find "Bashed Patch, 0.esp."
14. Right click on it and select "Rebuild Patch..."
15. Skip the step about disabling mods first.
16. Uncheck "Merge Patches."
17. Click "Build Patch" and close Wrye Bash.
*LOOT will still give you Bash Tag suggestions after this. Don't worry, what you did in Wrye Bash fixed these. LOOT just likes to keep these suggestions there.
*The following steps are only useful for those who have uninstalled a mod since they started playing their current character.

18. Play your current save and go to a boring basement somewhere by yourself. Yes, that includes dismissing your followers. Wait a while (in real life, not in game) and save the game.
19. Run Savegame script scalpel (PDTWrapper.exe) and click "Select ESS."
20. Point PDTWrapper to your game save located at Documents/My Games/Skyrim/Saves.
21. MO users add your Mod Organizer/mods/ folder as an additional Data folder.
22.Click "Load Papyrus Section."
23. Wait for the message "Analysis Complete;" then click "Remove Unattached instances" (yes, you're sure) followed by "Remove Instances." Be sure to check "Remove instances with undefined classes only" before selecting "Remove" on the popup.
24. PDTWrapper will create a new save in your save folder named "EDIT_[date and time].ess." Move your original save to wherever you keep your backup files and rename your EDIT_[date and time].ess to the name of your save i.e. "Save 123 - Prisoner Whiterun 12.34.56.ess."
25. Load up your cleaned game. Stay in the basement. Wait a few more seconds and save the game again.
26. Repeat steps 19-24. There should be a lot more instances to remove.
27. If your analysis says "Scripts from the following resources still have active threads," (at the top of the analysis) keep a note of what mods they are. You have to decide whether it makes sense for these mods to be running scripts right now. If it doesn't, terminate them. They're probably stuck.
28. If one mod is spamming an unusually high number of threads, it's probably stuck or broken.
*If this applies to you, uninstall the mod, save. Reinstall the mod, save. See how the number of active threads compares.
*If that mod is still running a ton of scripts, stop using the mod and bring it up to the mod author. They have some coding to do.

*You'll have to repeat this section each time you add or remove a mod but you'll see a lot less CTDs and bugs.

ENBoost Settings
The reason Skyrim has a 3.1GB RAM cap is because that's the RAM cap for all 32 bit programs.
ENB lets you take advantage of your 64 bit OS.

64 BIT OS USERS ONLY
Set the following values in your enblocal.ini file in Steam/steamapps/common/Skyrim:

[MEMORY]
ExpandSystemMemoryX64=true
ReduceSystemMemoryUsage=true
DisableDriverMemoryManager=false
DisablePreloadToVRAM=false
EnableUnsafeMemoryHacks=false
ReservedMemorySizeMb=XXX <-- You only NEED it to be set to 64. Users have seen better performance with it being set to 256 or 512. Only set to 512 if you have at least a 2GB graphics card.
VideoMemorySizeMb=XXXX <-- You only NEED it set to (VRAM - 128). Users have seen better performance with (RAM + VRAM - 2048). 1GB=1024.
EnableCompression=true <-- False if you experience stuttering or use ENBSeries 0.246 or older.
AutodetectVideoMemorySize=false <-- Because it keeps guessing wrong.
[ENGINE]
ForceAnisotropicFiltering=true
MaxAnisotropy=16
EnableVSync=true
AddDisplaySuperSamplingResolutions=false
VSyncSkipNumFrames=0
[LIMITER]
WaitBusyRenderer=false <-- True if you experience stuttering and can take the FPS hit.
EnableFPSLimit=true
FPSLimit=60.0

Skyrim Project Optimization

Download and install Skyrim Project Optimization for more FPS indoors.
*This can have a lot of incompatibilities with mods that modify buildings in major cities.


Sheson's Memory Patch
A major source of CTDs/ILSs for modders is reaching the maximum memory allocation for Skyrim.
Skyrim tries to fix this by allocating another memory block; but usually it just crashes.
Sheson's memory patch actually fixes the issue by allocating more memory in the first place.

SKSE/Memory Blocks Log
SKSE has integrated Sheson's memory patch into their framework but have it disabled by default. This is the form of the patch that we'll be using because you probably have mods that require SKSE anyway. If you don't, you will. In order to activate the patch in SKSE, we must use an ini file.

*This will not work for pirates. Pirates will not receive any help in the forums or by PM.
1. Download and install SKSE 1.7.1
2. Go to Steam/steamapps/common/Skyrim/Data and see if you have a SKSE folder with an SKSE.ini file inside. If you do, add these values to SKSE.ini:

[General]
ClearInvalidRegistrations=1
[Display]
iTintTextureResolution=2048
[Memory]
defaultHeapInitialAllocMB=768
scrapHeapSizeMB=256

If you don't have an SKSE.ini file, download and install SKSE ini from the downloads section.
*If you use MO and one of your mods supplies its own SKSE.ini file, it will overwrite this one. Add the aforementioned values to that mod's SKSE.ini file. You can find it in Mod Organizer/mods/(your mod)/SKSE/.
3. If you previously used SSME, delete d3dx9_42.dll and ssme.ini from your Steam/steamapps/common/Skyrim folder.
4. Delete Safety Load and ShowRaceMenu Precache Killer if you have them installed. They're not needed once the memory blocks are configured correctly.
5. Download and install Memory Blocks Log.
6. Go to the Windhelm docks and pick a fight with a guard. This is pretty much the most memory intensive thing you could do and will max your usage.
7. NMM/Wrye users go to Skyrim/Data/SKSE/Plugins/.
7. MO users go to Mod Organizer/overwrite/SKSE/Plugins/.
8. Open up MemoryBlocksLog.log and check to see that the value directly under Block 1 is 512.
*If it isn't, you've installed SKSE wrong or your SKSE.ini is getting overwritten (MO users only).
9. Check the last number in the Block 1 column. We'll call this value Z.
10. In SKSE.ini, set defaultHeapInitialAllocMB to (Z + 276.) Do not set lower than 512.
*MO users that downloaded SKSE ini, this will be in Mod Organizer/mods/SKSE ini/.
11. Fight that guard again and make sure that Block 1 is roughly 20 higher than your peak usage.
*This value may need adjusted over time as you add more texture mods, NPCs, or increase your uGridsToLoad.


Optimizing Your Textures
Optimizing your textures is a great way of getting some free FPS.
This process involves reducing your textures' file sizes so that your GPU has less to load.
The file size is what's changing, not the dimensions of your textures (unless you want them to.)
Using compressed BSAs will give you even more FPS but may cause stuttering.

Optimizing Your Vanilla Textures
There's a few options for optimizing your vanilla textures.


First, you could simply download my Optimized Vanilla Textures. This is recommended for three reasons. One: these files have been cleaned by texture type. This means that a landscape texture would get more compressed than a face texture. Two: The time needed to clean by texture type yourself is just as long as downloading them. Three: I've made them so that they'll always be loaded in the correct order without having to use a plugin.

Second, you could clean them with DDSopt yourself. DDSopt has the best options for cleaning textures. However, this is a pain to use. I won't go into it because I've provided the end results already, check this STEP guide if you want to do it.

Third, you could use Skyrim Mods Complex Organizer - SMCO or Optimizer Textures. These don't have the ability to separate by texture type but they're much faster and easier to use. You pretty much click start and walk away.

1. Go to Steam/steamapps/common/Skyrim/Data and copy and paste the following files into a new folder. You might not have all of these. That's okay.

Skyrim - Textures.bsa
Skyrim - Meshes.bsa
Dawnguard.bsa
Hearthfires.bsa
Dragonborn.bsa
HighResTexturePack01.bsa
HighResTexturePack02.bsa
HighResTexturePack03.bsa

2. Direct SMCO or Optimizer Textures to this new folder and begin. Make sure that BSA optimization options are checked.
3. When it's finished, replace the original BSA files with the ones in the temporary folder. Be sure to back up the originals.

Optimizing Textures From Mods
Optimizing textures from mods can gain you even more FPS than optimizing your vanilla textures. For these, there are also three options. The first two, Skyrim Mods Complex Organizer - SMCO and Optimizer Textures, are basically the same. They're quick and easy to use, but will optimize all of your textures the same way. Face texture will get compressed/resized just as much as landscape textures. The third option,DDSopt, is time consuming and tedious, but will optimize your textures at different levels based on the texture type. This will give the best looking result.

SMCO/Optimizer Textures


NMM/Wrye Users
1. Create a temporary folder full of your mods' BSA files, Texture folders, and Meshes folders like you did for the Optimizing Your Vanilla Textures section. They can be found in Steam/steamapps/common/Skyrim/Data as well as the Textures and Meshes folders within the Data folder.
*You should not optimize parallax files. If you know that your mod uses parallax, don't optimize it.
2. Run your optimizer of choice directed at this temporary folder and walk away. Make sure that the options to optimize BSA files are checked.
3. When it's done, replace the original files in your Data folder with the ones from the temporary folder. Backup the originals first in case you don't like the way the new ones look.

MO Users
1. If you chose Optimizer Textures, download the Modified INI by Thorne67 in the optional downloads section of Optimizer Textures. Replace the Ordenador.ini with it.
2. Copy and paste all of the mods that you want optimized from Mod Organizer/mods into a temporary folder.
*You should not optimize parallax files. If you know that your mod uses parallax, don't optimize it.
3. Direct SMCO or Optimizer Textures to this temporary folder.
4. If you chose SMCO, change the folder option "skyrim root" to "standalone."
5. Run your optimizer of choice directed at this temporary folder and walk away. Make sure that the options to optimize BSA files are checked if you don't have MO setup to automatically extract BSA files.
6. When it's done, replace the original mods in Mod Organizer/mods with the ones from the temporary folder. Backup the originals first in case you don't like the way the new ones look.

DDSopt


1. Download and install DDSopt - pre-release - update 4.
2. Copy these lines of code and replace the contents of your DDSopt.ini with them.
3. Now here comes the tedious work. All of the textures you want to optimize need to be loose. If you use the BSA versions of texture mods, you'll have to extract them.
*Mod Organizer users that have MO set to automatically extract BSA files, skip steps four through seven. Instead, rename the mods folder under Mod Organizer to "Mod Extracted"
4. Make a file directory that looks like this:

Working
>>Mod Extracted
>>>>A folder for each mod you want to optimize. Examples Below
>>>>Skyrim HD 2K Textures
>>>>Serious HD Retexture Skyrim
>>>>Another mod you want optimized...

5. Download and install BSAopt.
6. NMM/Wrye users go to Steam/steamapps/common/Skyrim/Data
6. MO users that aren't set to automatically extract BSAs go to Mod Organizer/mods/
7. Follow this guide to extract each mod's BSA into their corresponding folders that you just made in the Mod Extracted folder.
8. Download and extract these batch files into the same folder that contains your Mods Extracted folder.
9. Run 4_Mod_Sorting_Pre-optimization_2.75.bat. It will make sure that "Mod Extracted" is in the same folder. Remember, all of your extracted mods should be in their own sub-folders in "Mod Extracted"
10. As it runs, hit any key when it tells you to and type "Y" when it asks. Don't exit out. It will close itself on the last prompt to hit another key to continue.
11. When it's done, a log.txt file will be made. Make sure that there are no errors that are level 4 or higher.
12. Along with "Mod Extracted" and your batch files, there should be new folders titled Mod Optimized, Mod Ordinary Textures, Mod Normal Maps, Mod Body Textures, Mod Exterior Textures, and Mod Exterior Normal Maps. Each of these folders should contain sub-folders named the same as the folders you made in Mod Optimized.
13. Follow the "Optimizing the Mod Textures" portion of this page.
14. Run 5_Compress_Mods_7z_2.71.bat. Once again, don't exit out. It will close itself on the last prompt.
15. When it's finished, you should have a new folder titled "Mod Optimized Archive." This folder contains your new optimized textures! Move these .7z archives to wherever you put your manually downloaded mods. You can install these like any other mod.
*Note: These archives contain loose files. Loose files will overwrite all BSA archives. Because of this, these optimized textures will overwrite all other mods that use BSA files. Even if those mods are later in the load order.
16. Mod Organizer users that renamed their "mods" folder to "Mod Extracted" should change it back at this point.
17. After your optimized texture .7z files have been moved, you can delete your "Mod Whatever" folders.



That's it! You're done! Enjoy your game. (But you should keep reading to see if you have any special circumstances that need accounted for)






Most Common Problems


1. Optimus cards aren't recognized in ENB. Use the injector version of ENB to avoid this.
2. "Why do I get sun reflections on the water? The sun is behind a mountain right now." - Sorry. It was the only way to get the sun to reflect in flat areas. If someone could make a mod that lets mountains cast shadows, that'd be great.
*Some users have reported that using the injector can fix this.
3. Some users have reported issues with SLI. Try turning it off if you're having issues.
4. MSI Afterburner/EVGA Precision/Rivatuner OSD need some tweaking to use shader mods. Look below to see what you have to do.
5. If you use OneTweak, you have to set BWmode to 2 in OneTweak.ini. You can find it in Steam/steamapps/common/Skyrim/Data/SKSE/Plugins or Mod Organizer/mods/OneTweak/SKSE/Plugins if you're a MO user.
6. Sometimes Norton will prevent LOOT from downloading because of a "suspicious.cloud.7.ep" warning. Turn off "Antivirus Auto Protect" to fix it.
"But won't that give me all the viruses of teh internetz?" - Yep. Probably. Do it.
7. "My game keeps stuttering!" - Try turning on WaitBusyRenderer and turning off EnableCompression in your enblocal.ini.


Injector Guide
The injector enables ENB features that would not work with your Optimus card or conflicting program.
It's basically a workaround for people who's wrapper won't function properly.


1. If you have d3d9.dll in your Steam/steamapps/common/Skyrim folder, delete it.
2. Extract the ENBSeries archive and move the the files from “Injector” to Steam/steamapps/common/Skyrim. DO NOT OVERWRITE WHEN ASKED.
3. Set the following values in enbinjector.ini:

[LIBRARY]
LibraryName=enbseries.dll
[TARGETPROCESS]
ProcessName0=skse_loader.exe
ProcessName1=SkyrimLauncher.exe
ProcessName2=tesv.exe

4. Run the ENBinjector.exe.
5. Start your game and enjoy!
*You have to run ENBinjector.exe before you start your game every time you play from now on. I suggest making a shortcut somewhere more accessible. If you still have some missing features, try setting ForceFakeVideoCard in enblocal.ini to true.


MSI Afterburner/EVGA Precision/
Rivatuner OSD Guide

Normally, these don't work with shader mods. Let's fix that.


The steps below are for MSI Afterburner but all 3 are based on the same program so the steps will be similar, if not identical. (thanks SkyrimTuner)

1. Update and start MSI Afterburner
2. Switch to the "MSI On-Screen Display Server" window.
3. Create a new profile for your game and change to it.
4. Click the big wrench icon to change advanced settings.
5. Go to General -> Compatibility properties and turn on "Enable compatibility with modified Direct3D runtime libraries".