• Asset Release : Hotel Neptuno Triton

  • Release : Museum of the Revolution

  • Release : Union Terminal

Wednesday, August 28, 2019

How to Properly Install & Configure ENB


ENB RANTS, because seen way too many people seems to unable to get this simple thing right...

(╯°□°)╯︵ ┻━┻

Most info may only applies on Oldrim ENB.

//--

Installing ENB

Installing ENB really isn't that hard. It is as easy as 1-2-3... maybe 4 and 5... The following process mostly refer to Oldrim's ENB.

[-1-] clean up your game's main folder.

Unfortunately a lot of guide / description forgot to mention this part. Mixing old / foreign ENB files is a recipe to disaster. One aspect of ENB need to be understood is - weather & shader files required by ENB can located in TWO places - game main folder, or inside [enbseries] folder. For organization purpose, it is recommend to place them all within [enbseries].

Thus if there are two copies of same file name (but different contents) both exist at game main folder AND inside enbseries folder, things may gone wrong. So, before you install a new ENB, ensure your game folder is absolutely clean. Absolutely no files & folders with name "enb________" in your game folder. Even the d3d9.dll + enbhost.exe / d3d11.dll + d3dcompiler_46e.dll, remove them and acquire the latest version from ENBDev.

[-2-] copy ONLY d3d9.dll + enbhost.exe / d3d11.dll + d3dcompiler_46e.dll

from ENBDev WrapperVersion, to game main folder. No other files are needed.

d3d9.dll + enbhost.exe are for Oldrim, d3d11.dll + d3dcompiler_46e.dll are for SSE.

[-3-] copy all preset files from ENB preset to game main folder

typically this include enblocal.ini, enbseries.ini and [enbseries] folder which contains the rest of weather and shader files. If the preset author included d3d9.dll/d3d11.dll or enbhost.exe, ignore that and use the latest version from ENBDev is recommended.

[-4-] configure ENBLocal

if the preset did not came with ENBLocal.ini, acquire a copy from ENBDev WrapperVersion. Typical adjustment needed in ENBLocal are "VideoMemorySizeMb" which is RAM+VRAM-2GB (or simply test with VRAMSizeTest) and "ReservedMemorySizeMb" usually 128Mb to 512Mb, as low as possible till no stutter occur. Most other settings are for fine-tuning performance, we will talk about them later.

[-5-] install any ENB addons

if the ENB have it's own weather mod ESP plugins, mesh or texture fixes, install it like any other mods in your mod manager. Just a minor warning - I don't trust Vortex.

[-6-] configure SkyrimPref.ini / EnderalPref.ini

mandatory adjustment includes:
  • bFXAAEnabled=0
  • iMultiSample=0
  • iMaxAnisotropy=0
  • bDeferredShadows=1
  • bFloatPointRenderTarget=1
//--

CTD with ENB installed

  • (oldrim) enbhost.exe is missing. D3D9.dll isn't the only file required, the EXE must be copied over as well. Please don't mix DLL and EXE of different ENB versions, just in case.
  • (sse) you need both d3d11.dll and d3dcompiler_46e.dll only
  • missing proxy. Check enblocal.ini, the top most section list a proxy DLL, if proxy is enabled, make sure the proxy DLL listed also exist. Proxy refer to additional 3rd party DLL to run together with ENB, such as sweetFX & ReShade.
  • broken shader file / shader file conflict, unless you're editing the shader file this shouldn't happens, but just FYI coding error in any shader files will cause ENB to CTD instantly. For usual end-user, ensure the files you copied aren't corrupted / zero-kb.
  • some reports saying nVidia Shadowplay is causing CTD. Overlay may, or may not cause problem. Can try turn off other overlay such as Steam's in-game overlay see if it does anything.
  • using wrong DLL. Ensure you're using d3d9.dll for Oldrim, and d3d11.dll for SSE, so don't download from the wrong ENBDev webpage!
  • mixing DLL. Some people thinks the content of those same-name-DLL are the same. Nope they aren't. SweetFX and Reshade both have their own version of d3d9.dll, they aren't the same contents. Someone even try to throw system32's DLL into the game ¯\(ツ)/¯ Dude it doesn't work that way, please don't mess with Windows' system file unless you want to burnt down your house... Please ensure d3d9.dll / d3d11.dll is from ENBDev, absolute no exception.
  • compatibility with Windows 10? No issue. I had been rocking W10 since beta years before official release, no issue with ENB. In any case, you may try to "unblock" ENB dll and exe. You can see that "unblock" checkbox in their file properties, it's part of Windows security feature.
//--

Weird fog at bottom of screen

This issue seems to creep up a lot recently. My guess is the ENB in question didn't have proper ENB-Mist configured, and something has changed in recent version of ENBDev; thus turning off Mist may fixes the problem. But then again this is just a guess as I didn't test those ENB in question specifically.

//--

Other visual issue that came up a lot

  • Improper installation of ENB, missing file, mixed old / foreign file, can cause missing game world, or screen become all dark and filled with red outlines.
  • Not turning off AA and AF (also in driver) can cause severe flickering
  • ENB appear really dark even at day time can caused by not turning on bDeferredShadows=1 in skyrimpref.ini or enderalpref.ini
  • flat-colored screen (red, blue, etc) can caused by turning off Mist, as some ENB relies on Mist shader to function
  • water world. This is a mystery to me. This may occur if you install ENB mid-play through. Some suggest re-loading the game fixes the problem
  • eyes really bright, is caused by turning on Skin Specular. Recommended to just keep this function off.
  • weird "edges" or ghosting, can cause by using Temporal AA (TAA) when not having high framerate
  • strange blocky rain effect is caused by the preset you uses didn't came with proper raindrop texture, simply set UseOriginalTexture=TRUE under [Rain] in ENBSeries

//--

Tuning ENB Performance

"I like this ENB but it causes too much framedrop!"

A common... "misunderstanding" among end-user is that they thinks ENB is just that, a complete package that you can't or shouldn't adjust. Whenever people find that one ENB is too "heavy", they go seek for other ENB, instead of tuning it...

Common aspects you can adjust to balance performance vs visual quality:

ENBLocal.ini

  • enable all options under [Performance]
  • use your driver's Vsync instead of the game's Vsync or ENB's Vsync, or better just turn it off completely if you can't hit a constant 60fps.
  • enabling WaitBusyRenderer can cause massive framedrop
  • for certain hardware, MaxAnisotropy=16 can cause massive framedrop for unknown reason. AF is typically known to not costing any performance at all, but it appear to be the opposite for this option in enblocal.
  • disable ForceLodBias
  • disable AddDisplaySuperSamplingResolutions
  • disable EnableTemporalAA if your framerate cannot keep up near 60, otherwise this will cause the common "ghosting" problem.
  • turning effects quality down might save a few frame but frankly not much, you can try enable the option [ADAPTIVEQUALITY] and set to low quality, probably not much gain but can try

ENBSeries.ini

  • there are "supersampling" options for SSAO, Reflection & Rain. Turn off for performance.
  • certain effect have "SizeScale" option, such as in SSAO. This value determine render resolution of that effect, typically is set to 0.25 or 0.5 for performance reason. For max quality, it is set to 1.0.
  • "Lens" effect may cause more framedrop than you think, depends on what the preset do with it. Disable and check.
  • not every shader is made equal! Not every DoF shader is heavy performance, please stop generalizing DoF is bad... The same goes for bloom, lens, and other things.

Example DoF shaders ranked by performance

  • Llight performance bokeh DoF (eg: in CR272) : Seperable Hexagonal Bokeh DoF by kingeric1992 based on Computer Graphics Forum 2012 paper
  • Medium performance bokeh DoF : Advanced Depth of Field by Marty McFly / Pascal Gilcher
  • Heavy performance bokeh DoF (eg: in Snapdragon) : depth of field by kingeric1992 based on GDC 2004 presentation "Advanced Depth of Field" by Thorsten Scheuermann

Skyrim.ini / Enderal.ini

  • iMinGrassSize, lower the number more dense the grass thus more performance hit, typically recommend 50+ unless your machine can handle it
  • (oldrim) uGridsToLoad came with obvious performance hit due to increased render distance, but unavoidable if you're chasing top quality screenshots; otherwise if you're just normal player, keep it vanilla at 5.

Skyrimpref.ini / Enderalpref.ini

  • iShadowMapResolution is among the biggest performance hit due to this old game engine isn't that great in shadow rendering efficiency. Typically recommend 2048. But if you think your machine can take it, try 4096.
  • [particles] iMaxDesired, usually this is set to really low value around 500 ish. Increasing this will result in massive framedrop when there a lot of particle appear, but is required by mods such as Vivid Snow. But don't make this way too high or will CTD instantly. Personally using 8000 for Vivid Snow. 10000 result in CTD.

Other adjustments related to shadow quality

  • fShadowDistance recommend at least 6000, that's about 85 meter distance. Personally go for 7000~8000. But remember that the higher this value, the worst the shadow quality become due to the fixed shadow resolution above.
  • one shadow aspect that many often forgot / ignore is those under ENB [Shadow]. ShadowBlurRange will blur the shadow, if you're using 4096 resolution, set it to 0.5 is good enough to balance out the shadow not to be too pixelated nor too blurry. If you're using 2048, recommend set it to 1.0 -- often time I find a lot of ENB have really weak shadows due to improper adjustments in this category, among other things in ENB Environment.

Mod does matter

  • Dyndolod at max setting is awesome to produce more detailed LOD, but if you find that your machine can't take it, try selecting lower quality option
  • high quality flora mods can kill your framerate very easily - 3D Trees, Voluptuous Grass, some ridiculous high poly mesh mods...
  • high resolution body texture / armor / HDT armor can also causes stuttering when you point your camera at whoever wearing it - so be realistic about what texture resolution needed for different aspect. You don't need 8k texture for a spoon...
  • installing a lot of city & NPC mods and expect no performance hit is a pipe dream

Enable Lumasharpen goes a long way

  • doesn't matter how you apply it, with ENB, with SweetFX or with ReShade, enable lumasharpen will instantly makes the game visual looks better, texture will looks better and more detailed by reducing the blurriness. But don't over-do the sharpening strength.
//--

"This XXXX ENB is awesome!"

I got / there are something even better than that. Trust me I know what I'm talking about (⌐■_■)

ENB manager

Do you really need it? If you not switching ENB a thousand times a day then you don't need it. Don't add more aspect that can broke things. Enen when dealing with automated tools, it is still best to double check the result, rather than 100% believe in them.

//--

Additional info regarding ReShade on OLDRIM

I've got people asking me "dude how is it possible you get ENB+ReShade to work together in Oldrim?!"... I will go through the process below:
  • remove the ENB's d3d9.dll first, just in case.
  • Install ReShade as usual from it's setup program, pointing to TESV.exe and select DX9 mode, download all the shaders when asked.
  • rename the d3d9.dll, which is placed by reshade, into d3d9_reshade.dll
  • you'll also need to rename d3d9.ini, also placed by reshade, to d3d9_reshade.ini - which is same name as the dll.
  • re-install ENB's d3d9.dll
  • in enblocal.ini, set EnableProxyLibrary=true , InitProxyFunctions=false , ProxyLibrary=d3d9_reshade.dll
  • why people are saying ReShade CTD in Oldrim, is because they enabled InitProxy. This is usually enabled for other proxy such as SweetFX, but for ReShade, it gotta be turned off.
  • why people are saying their ReShade panel is blank, is because d3d9_reshade.ini isn't there, or whatever the name should be, following the dll's name.
  • Nvidia use may encounter shadow glitch when using ReShade + ENB, possible fix is located in Reshade panel > DX9 tab. There is a checkbox in there, tick it.
"Reshade costs 0 performance" isn't a totally correct statement. Not every shader is made equal. Use Marty McFly's "RayTracing" shader and you'll cry looking at the framedrop amount, or qUINT MXAO shader or PPFX_SSDO shader will also cause a lot of framedrop. The answer about modding performance, ENB perfoamnce, ReShade... is always "IT DEPENDS!"

//--

Why am I wasting hours writing this

Maybe I just got irritated that there are so many people can't get their ENB working properly, and every new comment on my own ENB page is "hi I dunno why my game CTD after install your ENB"... (╯°□°)╯︵ ┻━┻

I'm seriously fed up with it.

#TLDR; if you got problem, you're not installing it right, period. ┑( ̄Д  ̄)┍

//--

Disclaimer
The informations provided above may not be 100% correct, as it is absolutely biased by my perspective and experience. (⌐■_■)

DigitaLifeless

Author & Editor

Has laoreet percipitur ad. Vide interesset in mei, no his legimus verterem. Et nostrum imperdiet appellantur usu, mnesarchum referrentur id vim.

 
biz.