ENB Overview

TerrorFox1234 Created Sep 19 2016 - Updated Sep 19 2016 Modding

What Is ENB?

ENB is a program that bypasses Skyrim’s post-processing and replaces it with improved post-processing that has many beautiful effects that cannot be added otherwise. ENB for Skyrim is the most advanced; however, it is also available for other games. ENB is maintained by Boris Vorontsov and can be downloaded here.


ENB Prerequisite:

ENB does not function without d3d9.dll (assuming you are using the wrapper version). Moving that out of the skyrim folder will disable ENB, including the memory patch.

d3d9.dll requires DirectX 9 to function. The DirectX 9 Runtimes can be installed by getting the installer from Microsoft here, this is compatible with all versions of Windows. If you did a fresh install of Windows 10 you will need to download and install this. If you are on 7 or 8 or did an in-place upgrade you most likely already have it.


ENB Main Files:

Wrapper Version:

This is the version of ENB that most people will need to use. Listed below are the files contained within the wrapper version of ENB.

  • ENBhost.exe - The main executable that tells everything else, ENB related, what to do.
  • d3d9.dll - A Dynamic Link Library (.dll) that targets DirectX9 (the API that handles Skyrim’s post processing) allowing ENB to take control of the post-processing effects.
  • enbseries folder - Contains many files that can be configured and vary depending on the preset
  • enbseries.ini - Contains settings specific to graphics
  • enblocal.ini - Contains settings that are universal to enboost and enb, as well as some general graphics settings. More on ENBoost below.

Injector Version

This version should be used if you must run other programs alongside Skyrim that interfere with d3d9.dll. The most common examples are laptops with Nvidia Optimus (installed on all laptops with a dedicated Nvidia GPU) and most virtual reality software.

These examples must use the d3d9.dll which interferes with ENB’s use of it. Instead, the injector version comes with a file called ENBInjector.exe, which must be launched before starting the game so it can “inject” the necessary files and bypass the need for the d3d9.dll.


ENB Preset

When you download the main ENB files it comes with a default enbseries.ini and various .fx files that relate to different effects applied through ENB. These .fx files and enbseries.ini are essentially a template that can be highly configured for different looks.

An ENB preset consists of another users custom enbseries.ini and .fx files and may also include post-processing effects they have added through other shader libraries such as SweetFX or ReShade.

By pressing Shift+Enter while in game you can bring up a menu that lists all the different ENB effects. In this menu you can make your own adjustments to configure any ENB preset to suit your tastes.

(Pro-Tip: line up a scene and press the tilde key (~) to bring up the console before opening the ENB menu. This will freeze the camera in place allowing you to view changes in real-time with ease)

There are hundreds of enb presets on the nexus, and each has a different look. They can mix and match with any traditional mods. Which mods you use alongside ENB can greatly change its look. Differences in monitor calibration can greatly change its look. You will have to try multiple ENBs before you find one that's perfect for you. Don't just settle on Realvision. Freely tweak the settings as you wish.

It is recommended to use an ENB manager as it will allow you to quickly swap different presets in and out with just a few clicks of a button. We recommend ENB Organizer, the latest and cleanest looking ENB manager designed by Mod Picker’s very own Breems.


ENB Memory Fix (ENBoost)

ENBoost was initially developed as a standalone fix but has been rolled into the main ENB files for quite some time. ENBoost alters Skyrim’s memory allocation to allow it to use more memory than a 32 bit program can normally use. Skyrim is a large-address-aware 32bit program. That means it can use 3.1GB of memory. The rendering engine loads everything it needs to load into RAM to swap into and out of VRAM as needed.

ENBoost allows Skyrim to use more than the 3.1GB per-process limit by redirecting memory requests to one or more ENBHost processes. Each ENBHost process can store an extra 3.1GB of data. This allows texture and mesh data to stay in RAM so it's much faster for Skyrim to access them (ENBoost does not need to be launched; it will launch automatically if you are using the wrapper version of ENB).

If you have a lower end PC and want the benefits of ENBoost without using the graphical portion of ENB, simply open your enblocal.ini and set the line UsePatchSpeedhackWithoutGraphics to “true”. This tells ENB to Use the Patch (ENBoost) Without using the Graphics portion of ENB.

Currently, ENBoost is unable to use more than 4 GB VRAM on Windows 8 or higher see here.

Windows 7 is unaffected and users of 6+GB cards may want to dual boot to take full advantage of their hardware for DirectX 9 games.


ENB Performance

Even the simplest ENB preset will drop fps. The most complex presets will bring even the most powerful computer to its knees. A heavy, fully-loaded, ENB preset will eat your Titan for breakfast.

It’s worth noting that the creator of ENB only does testing and support on Nvidia graphics card as that is what he owns. Therefore, some features do not work as well on AMD and generally it is just pretty poorly optimized for AMD. Many users with AMD cards are able to use ENB with little to no tweaking, but it is still something to keep in mind.

In regards to the memory fix discussed in the previous section and it’s relation to performance, you must configure the enblocal.ini for your particular specs to get the most out of ENBoost.

We highly recommend referencing the Performance section and Memory section from the STEP Wiki for detailed descriptions and recommended settings for the various parameters you will need to adjust in the enblocal.ini. To read up on the parameters in other sections see here.

It is important that you set up ENBlocal.ini correctly. Not doing so can lead to CTDs, other errors, and lack of memory. As it is so hardware dependent, you must take any advice on it as recommendations and do your own testing before calling it done.