Jump to content


Photo

SkyrimPrefs INI Guide

skyrim ini guide skyrimprefs

  • Please log in to reply
77 replies to this topic

#16 DoubleYou

DoubleYou

    Wiki Stepper

  • Super Moderators
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 4,588 posts

Posted 28 May 2015 - 08:43 AM

Interresting!

 

bShadowsOnGrass and bDoDepthOfField should be enabled with an ENB. The first one makes grass look funny with an ENB for me, the second is required for some water effects. It took me quite some time to find out about the second one.

 

I would be very interested to know more about the right LOD fade distances. I couldn't see any difference between high and ultra for stuff like fTreesMidLODSwitchDist and combined with the poor fLODFadeOutMult values I think they just cranked everything to max paying no attention to whether it looks better or not.

 

bShadowsOnGrass does something? In combination with ENB maybe? My testing seems to indicate the setting is broken: grass shadows are always enabled.



#17 TechAngel85

TechAngel85

    Akatosh

  • Administrators
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 12,601 posts

Posted 28 May 2015 - 08:48 AM

Yes, it does something with ENB. At least I'm fairly sure the last time i checked but I could be thinking of another setting entirely. I'm at work so I can't check my setup right now. You'll have to be careful about those settings that ENB needs.

#18 DoubleYou

DoubleYou

    Wiki Stepper

  • Super Moderators
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 4,588 posts

Posted 28 May 2015 - 08:49 AM

Yes, it does something with ENB. At least I'm fairly sure the last time i checked but I could be thinking of another setting entirely. I'm at work so I can't check my setup right now. You'll have to be careful about those settings that ENB needs.

Well, that's interesting if it does, as it isn't used by the vanilla game according to my testing. It always is left on in vanilla. Could someone take screenshots?



#19 TechAngel85

TechAngel85

    Akatosh

  • Administrators
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 12,601 posts

Posted 28 May 2015 - 09:14 AM

I'm thinking of the setting that causes grass to cast shadow so this could be something different entirely.

#20 DoubleYou

DoubleYou

    Wiki Stepper

  • Super Moderators
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 4,588 posts

Posted 28 May 2015 - 09:25 AM

On the download page it does say to place the line in SkyrimPrefs.ini, but default setting is on (1) anyway, so this doesn't make sense. I bet it is just bogus and no one ever correctly tested it with it off to prove otherwise. OR, it may have done something before in a previous official patch and was necessary then (Boris added the recommendation in v0.114), but in 1.9.32.0.8 it does nothing.



#21 sheson

sheson

    Dragon King

  • Mod Authors
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 4,131 posts

Posted 28 May 2015 - 11:50 AM

I think all settings starting with fLODMesh relate to object detail fade and the BSLODTriShape in full models.

See ropes in meshes\architecture\farmhouse\farmhouse02.nif for example, nifskope has a LOD slider.

 

 

fTreeLoadDistance=max distance for tree LOD
fBlockMaximumDistance=max distance for object LOD level 16
fBlockLevel1Distance=max distance for object LOD level 8
fBlockLevel0Distance=max distance for object LOD level 4
fSplitDistanceMult=multiplier for landscape LOD levels

 

fSkyCellRefFadeDistance=distance for neverfades (if base element has neverfade flag set as well references always show to max draw distance)

fLODFadeOutMultSkyCell multiplies above value


Edited by sheson, 28 May 2015 - 11:51 AM.

  • 0

#22 DoubleYou

DoubleYou

    Wiki Stepper

  • Super Moderators
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 4,588 posts

Posted 28 May 2015 - 12:28 PM

I think all settings starting with fLODMesh relate to object detail fade and the BSLODTriShape in full models.

See ropes in meshes\architecture\farmhouse\farmhouse02.nif for example, nifskope has a LOD slider.

 

 

fTreeLoadDistance=max distance for tree LOD
fBlockMaximumDistance=max distance for object LOD level 16
fBlockLevel1Distance=max distance for object LOD level 8
fBlockLevel0Distance=max distance for object LOD level 4
fSplitDistanceMult=multiplier for landscape LOD levels

 

fSkyCellRefFadeDistance=distance for neverfades (if base element has neverfade flag set as well references always show to max draw distance)

fLODFadeOutMultSkyCell multiplies above value

Thanks!



#23 z929669

z929669

    Ixian Inventor

  • Administrators
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 9,302 posts

Posted 28 May 2015 - 01:12 PM

bShadowsOnGrass does something? In combination with ENB maybe? My testing seems to indicate the setting is broken: grass shadows are always enabled.

I seem to remember reading that this setting causes a performance hit when enabled (it's a toggle), but I don't recall that the effect was perceptible at all. Intuitively, it seems like it should enable rendering of object shadows on the grass, but I recall that it may have had more to do with grass itself casting shadows.

 

Not sure why it would matter to ENB. My gut tells me to have this setting disabled (set to zero) in all cases. We may want to test if it should be in Skyrim.ini or SkyrimPrefs.ini. Many settings should be confirmed that they belong in either of the respective INIs just as we found with iPresentInterval



#24 DoubleYou

DoubleYou

    Wiki Stepper

  • Super Moderators
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 4,588 posts

Posted 28 May 2015 - 01:41 PM

I seem to remember reading that this setting causes a performance hit when enabled (it's a toggle), but I don't recall that the effect was perceptible at all. Intuitively, it seems like it should enable rendering of object shadows on the grass, but I recall that it may have had more to do with grass itself casting shadows.

 

Not sure why it would matter to ENB. My gut tells me to have this setting disabled (set to zero) in all cases. We may want to test if it should be in Skyrim.ini or SkyrimPrefs.ini. Many settings should be confirmed that they belong in either of the respective INIs just as we found with iPresentInterval

ALL settings in SkyrimPrefs.ini CAN be placed inside Skyrim.ini and work, BUT settings in SkyrimPrefs.ini will take precedence over values in Skyrim.ini. Only settings with a hard-coded property attached to them will work in SkyrimPrefs.ini. Furthermore, settings in mod INI files (where an ini file is the same name as a plugin) will take precedence over values in SkyrimPrefs.ini and Skyrim.ini. For this reason I have contemplated removing the SkyrimPrefs INI guide and combining it with the Skyrim INI guide.

 

Arisu when he collected all the INI settings for Skyrim in January 2012 found hundreds of settings, including bShadowsOnGrass, to be "not used anywhere in the game." The only place he was found to be wrong were with some controller related settings due to the fact that he did not have a controller connected.

 

In game testing of fields of grass around Whiterun when I tested showed absolutely no perceptible difference with the setting on and off, the same being true for bDrawShadows. If the setting does anything, ENB must be reading it.


Edited by DoubleYou, 28 May 2015 - 01:44 PM.


#25 DoubleYou

DoubleYou

    Wiki Stepper

  • Super Moderators
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 4,588 posts

Posted 28 May 2015 - 02:44 PM

But, when in doubt, test again, and I do believe it does do something, just not what you would have thought:

 

bShadowsOnGrass allows objects casting shadows to cast shadows upon grass! Also, as some kind of byproduct, it changes the locations where grass is rendered.

 

How did I figure that out? Below are three tests. First is with bShadowsOnGrass=1. Second is bShadowsOnGrass=0. Third is with bShadowsOnGrass=1 again. First and Third shots look identical, even though First was a setup shot and third was a save load of the same position. I had to check file hashes just to believe somehow they weren't carbon copies. The game is consistent on where it renders grass!

 

Also notice that the Trees casting shadows actually show upon the grass when bShadowsOnGrass=1.

 

yJbeEJkrTqdb4Auxw8hC3wS2yuJIiRledkquKgum6EXYJ7j4

 

In other news, I found out I can create 1920x1080 screenshots if I do it in windowed mode on my 1366x768 screen. Tune in tomorrow to where we hear of the tragedy of my laptop blowing up due to some obscure INI setting!



#26 Greg

Greg

    Dragonborn

  • Super Moderators
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 1,979 posts

Posted 28 May 2015 - 03:21 PM

Tune in tomorrow to where we hear of the tragedy of my laptop blowing up due to some obscure INI setting!

 
I'm more curious what happens when you set bAllowHavokGrabTheLiving, but you may want to save this one for last. If the game turns you into an NPC, I'm sure someone here will organize a rescue party... won't they?



#27 z929669

z929669

    Ixian Inventor

  • Administrators
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 9,302 posts

Posted 28 May 2015 - 03:48 PM

ALL settings in SkyrimPrefs.ini CAN be placed inside Skyrim.ini and work, BUT settings in SkyrimPrefs.ini will take precedence over values in Skyrim.ini. Only settings with a hard-coded property attached to them will work in SkyrimPrefs.ini. Furthermore, settings in mod INI files (where an ini file is the same name as a plugin) will take precedence over values in SkyrimPrefs.ini and Skyrim.ini. For this reason I have contemplated removing the SkyrimPrefs INI guide and combining it with the Skyrim INI guide.

 

Arisu when he collected all the INI settings for Skyrim in January 2012 found hundreds of settings, including bShadowsOnGrass, to be "not used anywhere in the game." The only place he was found to be wrong were with some controller related settings due to the fact that he did not have a controller connected.

 

In game testing of fields of grass around Whiterun when I tested showed absolutely no perceptible difference with the setting on and off, the same being true for bDrawShadows. If the setting does anything, ENB must be reading it.

Well .... iPresentInterval ONLY has impact when placed in Skyrim.ini. It has no effect when placed in SkyrimPrefs.ini. I did extensive testing to confirm this (so did Tech), and the evidence is in the bugs thread I think.

 

What do you mean here?

 

I understand the INI hierarchy, and this theoretically should mean that ALL INI settings can be placed into Skyrim.ini. Only in cases where one is running under multiple user profiles (thus validating use of SkyrimPrefs.ini) or loading specific plugins that depend upon specific INI settings (thus validating plugin INIs) have need of the other INI files. EDIT: a good way to invoke ENB-specific INI settings may be to use a dummy plugin or dummy mod with the INI overrides.

 

Unfortunately, settings like iPresentInterval break the supposed rules (perhaps you mean Skyrim.ini??), which tells me that there are INI settings that are hard coded into the game EXE (or DLLs?) that can only be overridden from Skyrim.ini and nowhere else.

 

Additionally, we have to assume that not all INI settings are created equally: ?most? settings can be invoked from any valid INI file. These settings must have default values coded within the EXE that can be overridden; however, other "higher-level" settings can only be invoked from Skyrim.ini (e.g., iPresentInterval), so these settings must have special treatment for some reason ... ultimately, I don't trust that the general hierarchical INI rules apply in all cases.

 

By the same token


But, when in doubt, test again, and I do believe it does do something, just not what you would have thought:

 

bShadowsOnGrass allows objects casting shadows to cast shadows upon grass! Also, as some kind of byproduct, it changes the locations where grass is rendered.

 

How did I figure that out? Below are three tests. First is with bShadowsOnGrass=1. Second is bShadowsOnGrass=0. Third is with bShadowsOnGrass=1 again. First and Third shots look identical, even though First was a setup shot and third was a save load of the same position. I had to check file hashes just to believe somehow they weren't carbon copies. The game is consistent on where it renders grass!

 

Also notice that the Trees casting shadows actually show upon the grass when bShadowsOnGrass=1.

 

yJbeEJkrTqdb4Auxw8hC3wS2yuJIiRledkquKgum6EXYJ7j4

 

In other news, I found out I can create 1920x1080 screenshots if I do it in windowed mode on my 1366x768 screen. Tune in tomorrow to where we hear of the tragedy of my laptop blowing up due to some obscure INI setting!

Yes, this was my understanding of how that setting was supposed to work (and it should not affect grass rendering at all ... as you show here, the save game has that data). It does cause a significant performance hit though in terms of FPS. Good performance tip.



#28 DoubleYou

DoubleYou

    Wiki Stepper

  • Super Moderators
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 4,588 posts

Posted 28 May 2015 - 04:03 PM

Well .... iPresentInterval ONLY has impact when placed in Skyrim.ini. It has no effect when placed in SkyrimPrefs.ini. I did extensive testing to confirm this (so did Tech), and the evidence is in the bugs thread I think.

 

What do you mean here?

 

I understand the INI hierarchy, and this theoretically should mean that ALL INI settings can be placed into Skyrim.ini. Only in cases where one is running under multiple user profiles (thus validating use of SkyrimPrefs.ini) or loading specific plugins that depend upon specific INI settings (thus validating plugin INIs) have need of the other INI files. EDIT: a good way to invoke ENB-specific INI settings may be to use a dummy plugin or dummy mod with the INI overrides.

 

Unfortunately, settings like iPresentInterval break the supposed rules, which tells me that there are INI settings that are hard coded into the game EXE (or DLLs?) that can only be overridden from Skyrim.ini and nowhere else.

 

Additionally, we have to assume that not all INI settings are created equally: ?most? settings can be invoked from any valid INI file. These settings must have default values coded within the EXE that can be overridden; however, other "higher-level" settings can only be invoked from Skyrim.ini (e.g., iPresentInterval), so these settings must have special treatment for some reason ... ultimately, I don't trust that the general hierarchical INI rules apply in all cases.

 

By the same token


Yes, this was my understanding of how that setting was supposed to work (and it should not affect grass rendering at all). It does cause a significant performance hit though in terms of FPS. Good performance tip.

Which is correct. Some values will only have an effect in Skyrim.ini, which is why I then point out...

 

Only some values work in SkyrimPrefs.ini. These are hardcoded into the game itself.

 

I am testing parameters to see what rules they follow.

 

As to bShadowsOnGrass, the performance difference is negligible, similar to bTreesReceiveShadows.



#29 z929669

z929669

    Ixian Inventor

  • Administrators
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 9,302 posts

Posted 28 May 2015 - 05:32 PM

OK, let's once again list all of the INI types the game can handle (denoting those from the MO perspective). This post and subsequent posts get into this, and the thread was 'resolved', but I think all concepts as laid out in that thread are still semantically unclear and confusing. Is this covered better in the MO guide? Let's do it here and get it into a preface to the skyrim INI guide (or the MO guide). Following is Tannin's revision of my original proposed INI nomenclature from that thread ... what did Tannin ultimately implement in MO?? (and is it documented in our guide[s]?):

  • Game INIs:
    • Default INIs: the _default INIs located in /skyrim
    • Base INIs: The standard game INIs located in %USERPROFILE%/My Games/Skyrim
    • MO Profile INIs: The MO-profile-specific Base INIs
  • INI Tweaks: Mod-specific INIs that exist in an INI Tweaks folder at the top level of the mod package
  • INI-Tweak Composite: [ The temporary combined ini tweaks generated from combining the ini tweaks ] <--What does this mean exactly?? ... Overwrite INIs? ... These are MO specific INIs?
  • Plugin INIs: INIs loaded with like-named plugins (just like BSAs). [ Presence should be indicated by the paperclip on the mod in MO (left pane). ] <-- I am not seeing this Plugin INIs should have the paperclip within the plugins list (right pane) as is now the practice.

 

Now back to how the INIs work to clear things up in this thread (and hopefully update our wiki doc on this subject where appropriate). Trying to understand, and differing semantics are making it unclear:

  • All game settings have default values hard coded in the game files <--what game files exactly? ... the EXE? ... the DLLs? ... anybody know?
  • Some game settings are configurable via the game GUI. [ These changes are saved out as INI settings ] <-- ONLY in skyrimprefs.ini, right??
  • Some INI settings are apparently ineffective, regardless of where they exist. [ (they are either mistakes [invalid or redundant] or imperceptible under normal playing conditions) ] <-- We should tag these likewise so we can at least keep track of them with all other INI settings
  • All effective INI settings have an impact (i.e., are valid) when defined within skyrim.ini
  • Some effective INI settings are ONLY impactful (i.e., valid) when defined within skyrim.ini (e.g., iPresentInterval). <-- which ones other than iPresentInterval? Why?

 

 

Also, performance impact of bShadowsOnGrass and bTreesReceiveShadows can be pretty significant on low/low-mid systems I think.



#30 TechAngel85

TechAngel85

    Akatosh

  • Administrators
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 12,601 posts

Posted 28 May 2015 - 07:06 PM

That's exactly what I remember that setting doing because I tested it on the trees around Whiterun as well.





Also tagged with one or more of these keywords: skyrim, ini, guide, skyrimprefs

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users