Jump to content

Skyrim LE Shadow Optimization


z929669

Recommended Posts

In addition to this and the link Heliadhel posted earlier on this page, there's also these resources : https://www.nexusmods.com/skyrim/mods/55921/? and https://www.reddit.com/r/skyrimmods/comments/2yxfu9/ive_been_playing_with_the_shadow_settings_in_the/ . The authors of the different guides don't agree on everything however, pretty far from it. For instance the guy on reddit is saying "fShadowBiasScale: Adjusts the distance at which mipmaps of the shadow map begin to be used. Higher numbers push them further away, which makes the lowering of this number across higher quality presets a strange decision. Some kind of optimization perhaps. Crank it; I think 1.0 is the cap."

 

 

 

fShadowDistance=3500.0000 (Distance of shadow-maps displayed to the player, highly recommended values are; 2000=Low, 3000=Medium, 4000=MAX, but no higher since you lose quality the further away shadows are drawn, and most of the landscape of Skyrim was designed with hills and other surfaces to 'mask' these shadow-transitions.)

Whether you should use a lower value like 3000 or a large one like 8000 and up is personal preference (characters / stuff up close vs global environment realism) but this is obviously ridiculous, anybody can see the difference between say 3000 and 9000, just look at distant trees for a second... Also ultra vanilla is 8000, so saying "the devs intended it this way" just doesn't make sense.

 

fInteriorShadowDistance=8000.0000 (This value determines the distance to player that lights are displayed to DRAW shadows, if this value is below 8000, then players will see lights flashing on & off in dungeons and other interiors. Changing this value to smaller numbers does NOT improve shadow-quality, this is strictly a light-draw-distance factor.)

 

Really would like to see some evidence of this, he's the only one recommending to deviate from ultra vanilla (3000) and talking about light flickering.

Edited by crime_syndicate
  • +1 1
Link to comment
Share on other sites

I scrapped the idea anyway, I couldn't figure out how to enable ENB shadows, lol. I better stick with ENBoost with parallax fix.

If you enable the parallax fix you are already getting the performance loss from the API call interceptions of the DLL (at least with the version I tried). For all I know enable effects must be true for the parallax bug fix to work, but please correct me if this has changed.

I'd highly recommend using shadows as well then.

 

Interesting post by Valorien. I'd be interested what his recommendations for ENB shadows are.

Link to comment
Share on other sites

I know, but I still couldn't figure out how to do it. There is no settings like "enable ENB shadows". I just didn't know what to do. And the few settings I found and looked up on thw wiki didn't look like something I needed. Or something. Nevermind :P

Link to comment
Share on other sites

Ah the first section is something I missed.

The second, I've just remembered what I wanted to post: the screenshots are not very useful. Except for the last setting, they are either identical (and I mean absolutely identical) or the difference is so subtle it looks like it's not related to shadows at all (UseBilateralShadowFilter - I can't even see any shadows there).

Edited by Octopuss
Link to comment
Share on other sites

  • 1 month later...

 

...

 

Whether you should use a lower value like 3000 or a large one like 8000 and up is personal preference

 

...

I would like to note here that fShadowDistance seems to be a major factor in FPS drops and stutters in high-clutter areas like the cities and towns from ETaC and JKs series (and perhaps the Dawn of xx series, but haven't tested that myself). Reducing fShadowDistance greatly reduces (CPU?) processing in towns like this, where my FPS could drop as low as 20-25 with fShadowDistance set at 8000 in certain areas where otherwise I can easily get 40-60 FPS in exteriors, depending on ENB settings.

In these areas GPU usage (an OCed GTX 970) sits at about 50%, indicating a bottleneck elsewhere. I found that overclocking my i5 3570k from 3.5 to 4.3 Ghz gave me a couple of frames. Although it isn't the newest processor on the market, I consider it still very capable and I feel that Skyrim just isn't well optimized enough to handle the amount of clutter/shadows that are added by mods like this.

 

On a side note, I also overclocked my RAM from 1600 to 1866 Mhz. All over the internet people claim that this doesn't make much of a difference in most games, but I can confirm a slight increase in FPS (2-4) in 'bad areas', like standing in front of the main gate in (JK's) Whiterun and looking at the carts/market area. I can imagine 2133++ Mhz RAM with tight timings really making a difference in these towns, but don't quote me on that.

 

Anyway, Setting it at 3500-4000 does a decent job of increasing FPS in those areas while still retaining a decent 'pop-in distance', but setting it as low as 3000 or even lower can almost double your FPS in certain areas at the cost of a noticable shadow pop in. I tested this in several spots in Whiterun (main gate, dragonsreach, skyforge) and in Solitude (main gate), standing still and having the camera at an angle where the FPS was lowest, not moving the camera after that. I chose those spots because even on a MO profile that just had JK's Cities, no texture replacers and ENB disabled, with fShadowDistance at 8000 it still managed to drop the FPS to 40 or 50 something, I can't remember exactly. For Whiterun at least, I didn't do this in Solitude.

Other than that my ini settings are pretty much the same as the ultra profile. I can't think of tweaks that could have influenced the test at that moment, although it has been a while since I did this. I did use the grass settings from Verdant - A Skyrim Grass Plugin at the time I think. I found my 'sweet spot' (performance increase vs pop in decrease) to be somewhere around 3200-3600.

 

Before messing around with fShadowDistance I had already tried tweaking other settings mentioned in this topic but none of these settings had nearly as much of an impact in those towns.

 

I should also mention that I couldn't very well determine its influence on general smoothness/sudden FPS drops when walking around in cities. I felt it had improved a little, but these things depend too much on the resolution you play on/texture replacements/VRAM/enblocal.ini tailoring/general ENB quality etc.

 

So yeah, in conclusion, you probably shouldn't just write off this settings as 'personal preference' if you're using popular city overhauls as these. Without these mods it might be perfectly fine to set it as high as 8000 and not encounter many problems, though. The general consensus seems to be a setting of around ~3500 already but I figured I should post my findings here as well, even though they're intended for performance related purposes and not necessarily for getting the optimal shadow resolution quality.

 

 

As for the actual optimization.. One variable I don't see being mentioned very often is ShadowBlurRange under the [sHADOW] ENB settings.. I personally don't care much anymore for the optimal shadows in this game (mostly because I gave up the hope of ever achieving the perfect setting), but I like a relatively low setting of iBlurDeferredShadowMask (3-5) combined with ShadowBlurRange of ~7.0

  • +1 1
Link to comment
Share on other sites

Here is a list of all the legitimate INI settings related to shadows and their default values.
 
Skyrim.ini

[Display]
bActorSelfShadowing=0
fShadowFadeTime=1.0000
fShadowLODDefaultStartFade=200.0000
fShadowLODRange=200.0000
fSunShadowUpdateTime=1.0000
fSunUpdateThreshold=0.5000

 
SkyrimPrefs.ini

bDeferredShadows=1
bDrawLandShadows=0
bFloatPointRenderTarget=1
bShadowMaskZPrepass=0
bShadowsOnGrass=1
bTreesReceiveShadows=0
fInteriorShadowDistance=3000.0000
fShadowBiasScale=1.0000
fShadowDistance=2500.0000
fShadowLODStartFade=200.0000
iBlurDeferredShadowMask=5
iShadowFilter=3
iShadowMapResolution=1024
iShadowMaskQuarter=4
iShadowMode=3

Please realize that the following tweaks do not do anything and are never accessed by the game. This has been verified empirically and through console commands.
iShadowMapResolutionPrimary
iShadowMapResolutionSecondary
iShadowSplitCount


Please also realize that the following tweaks, while recognized by the game as valid, may never actually be used by the game.
bEquippedTorchesCastShadows
fShadowLODMaxStartFade
fShadowLODMinStartFade
bDrawShadows
 
The default values actually do not look too bad, but is prone to shadow striping.
 
The untouched shadow tweaks in Skyrim.ini look like they may prove invaluable if they do what they likely do.
 
There are other parameters that may affect shadows other than those mentioned here, and they can be reviewed on the WIP Skyrim INI guide.

Edited by DoubleYou
Link to comment
Share on other sites

  • 2 weeks later...

So is this the result of all the hard work you guys put in  :woot:  I'm gonna try out that shadow LOD lines fix that appear from a distance, and I hope you guys have something for the lego shadows on NPCs and so forth.

 

You guys/gals are awesome btw :cool:

 

Ok I tried the fSplitDistanceMult=4.0000 option a few pages back and I still get those shadow lines from a short distance. I hope you guys find the solution.

 

Btw, I don't use ENB and my FOV is at 81. I just read that FOV can mess up shadows.

Edited by FuzzRocket9
Link to comment
Share on other sites

  • 5 weeks later...

iShadowFilter
iShadowFilter toggles the shadow filter on and off. If set to a value between 0 and 4, the shadow filter is on. If set to any other value, be it below 0 or above 4, the shadow filter is turned off, which causes buggy shadows that induce CTDs. It is recommended to leave at its default value, since all values between 0 and 4 produce the same result.


iShadowFilter=0, 1, 2, 3, or 4


iShadowFilter=Any value other than 0, 1, 2, 3, or 4


The buggy shadows produced by turning the shadow filter off.

Default is 3.
 
iShadowFilter=(0,1,2,3,4,5)
Link to comment
Share on other sites

iShadowMaskQuarter

iShadowMaskQuarter is a shadow setting that cannot be altered, whose default value is 4, and shall forevermore be 4. This value is written and rewritten to the INI file every time the game is run, needed or not. Indeed, setting the file to read-only mode is the only way to change the setting and it not be altered, but even then, the game still will only use a value of 4! It is impossible to change this setting's value!

 

Default is 4. Low and Medium presets are 3 (which will be replaced with 4 upon first run of the game). High and Ultra presets are 4.

iShadowMaskQuarter=4
Link to comment
Share on other sites

iShadowMode

iShadowMode is believed to be unused by the game. It is recognized by the game, but does not appear to have any effect. This has been empirically verified through extensive testing with various values, all producing the exact same shadow effects.

 

Default is 3.

iShadowMode=(...,-1,0,1,...)

bDrawShadows

bDrawShadows is believed to be unused by the game. It has been empirically verified that this setting does not disable or enable shadows. It is recognized by the game, but does not appear to have any effect.

 

Default is 1.

bDrawShadows=(0,1)
Link to comment
Share on other sites

@DoubleYou may I make an observation? I think we need to temper the use of the phrase: "empirically verified" and similar.

 

Since the actual source code for the game engine is not available for perusal, there is no way of knowing empirically whether changes made to these settings, in isolation, have any effect but rather do so when changed in conjunction with related settings. That would require making changes to a number of settings that appear to be related (even then we are only guessing based on similarity of names) and even then it would be hard to say which setting was the dependent of the other.

 

I say this not to stifle the excellent resource you are making here, but to make it clear we are not in a position to make definitive assessments.

Link to comment
Share on other sites

@GrantSP
I fully understand and agree with you, and have tried to reflect that in my analysis. I have tried to temper such statements with key phrases such as "is believed to be unused" and "does not appear to have any effect." These are the statements that I have verified through empirical analysis, which means "Relying on or derived from observation or experiment. Verifiable or provable by means of observation or experiment."
 
This is also why such settings are marked in yellow. These are the ones believed to be unused that I cannot prove are unused, as, like you say, they may rely on other settings/circumstances or may not do what one would think.

 

Now the settings marked in red is another story altogether. These settings can be proven with limited analysis of the game code and through console commands to be nonexistent and ineffective.

 

Then again, some settings may be observed by observing them on older versions of Skyrim and similarly older games running the Creation engine that employ the setting.

Link to comment
Share on other sites

fShadowDistance

fShadowDistance sets the distance that shadows are cast from the player, using the resources allotted by iShadowMapResolution. If fShadowDistance is set to 0, shadows will not show up, but it will not impact performance, because this merely determines how far from the player that the shadows will be cast. For good systems, it is recommended to be set to 4000 or higher, with a corresponding increase in iShadowMapResolution to improve the quality of the shadows cast.

 

Note the visible line of shadow quality stages in the videos below (iShadowMapResolution is set to its default value of 1024).

Default is 2500. Low is 2000. Medium is 2500. High is 4000. Ultra is 8000.

fShadowDistance=(0,0.0001,...)
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

By using this site, you agree to our Guidelines, Privacy Policy, and Terms of Use.