SSE Display Tweaks
[Main]
## Level of information printed to the log
#
#? ? debug
#? ? verbose
#? ? message
#? ? warning
#? ? error
#? ? fatal
#
LogLevel=debug
## Automatically adjust some settings which may cause issues.
#
#? Changes:
#
#? ? iFPSClamp=0
#? ? uMaxNumPhysicsStepsPerUpdate=3
#? ? uMaxNumPhysicsStepsPerUpdateComplex=1
#
#? Note: Values are modified in-memory and are not written to Skyrim.ini.
#? ? ? ? Physics values are not modified if HAVOK master switch is off.
#
#? Don't disable unless you know what you're doing.
#
AdjustGameSettings=true
[Render]
## Select the display mode.
#
#? ? true? - Exclusive fullscreen mode
#? ? false - Windowed mode
#
#? Note: This option overrides 'bFull Screen' in SkyrimPrefs.ini if uncommented.
#?
#Fullscreen=false
## Select windowed or borderless fullscreen mode. Only applies when Fullscreen=false.
#
#? ? true? - Borderless fullscreen
#? ? false - Windowed mode
#
#? Note: This option overrides 'bBorderless' in SkyrimPrefs.ini if uncommented.
#
#Borderless=true
## Stretch game window across the entire screen in borderless fullscreen mode.
#
#? Use with a flip SwapEffect option for best results.
#
#? Note: For optimal performance and full feature support when upscaling, your?
#? ? ? ? system must have windowed hardware composition support (check the log).
#? ? ? ? Windowed hardware composition only works with flip.
#
BorderlessUpscale=false
## Set the game resolution. Only applies in windowed and borderless fullscreen mode (when Fullscreen=false).
#
#? Provided for convenience. Easily scale or set the resolution in windowed/borderless fullsceen mode.
#
#? Note: These options override iSize W and iSize H in SkyrimPrefs.ini. They have no effect when commented out.
#
#Resolution=1920x1080
#ResolutionScale=0.75
## Disable swap chain buffer resizing when window dimensions change (e.g. when upscaling).
#
#? Enable if you're experiencing effect issues with ENB when upscaling.
#
DisableBufferResizing=false
#DisableTargetResizing=false
## Enable/disable VSync.
#
#? IMPORTANT: If you're using borderless mode and want to disable VSync, EnableTearing must be set to true.
#
#? Note: This option overrides 'iVSyncPresentInterval' in SkyrimPrefs.ini
#
EnableVSync=true
## VSync present interval, same as 'iVSyncPresentInterval' in SkyrimPrefs.ini. Only applies if EnableVSync=true.
#
#? If SwapEffect is 'discard' or 'sequential':
#? ? Synchronize presentation after the nth vertical blank.
#
#? If SwapEffect is 'flip_sequential':
#? ? Synchronize presentation for at least n vertical blanks.
#
#? More info: https://docs.microsoft.com/en-us/windows/win32/api/dxgi/nf-dxgi-idxgiswapchain-present
#
#? Valid range: 1-4
#
#? Provided as a separate option to avoid confusion.
#
#? It's recommended to leave this at the default value (1). Higher values effectively reduce framerate.
#? For example, a value of 2 at 60Hz would cut framerate in half.
#
VSyncPresentInterval=1
## Required for disabling V-Sync in borderless/windowed mode. Only works with a flip SwapEffect option.
#
#? More info: https://docs.microsoft.com/en-us/windows/win32/direct3ddxgi/variable-refresh-rate-displays
#
#? ENB WARNING: Disable this if you have ForceVSync set to true in enblocal.ini, otherwise your game might freeze on startup.
#
EnableTearing=false
## Number of buffers in the swap chain, including the front buffer.
#
#? More info: https://docs.microsoft.com/en-us/windows/win32/api/dxgi/ns-dxgi-dxgi_swap_chain_desc
#
#? Valid range: 1-8
#??
#? Set to 0 to select automatically.
#
#? Note: Borderless fullscreen with flip model requires at least 2, if the value is lower it will be adjusted automatically.
#
SwapBufferCount=0
## Determines how the presentation buffer is handled.
#
#? Valid options:
#
#? ? ?auto
#? ? ?discard
#? ? ?sequential
#? ? ?flip_sequential
#? ? ?flip_discard
#
#? Options starting with 'flip_' indicate DXGI flip model, a relatively new feature which greatly improves borderless
#? fullscreen performance. While testing I couldn't notice any difference in performance compared to exclusive fullscreen mode.
#? In contrast, the old presentation model suffers lower FPS and noticeable stuttering. Additionally, many features which used
#? to require exclusive fullscreen now work in borderless. I was pleasantly surprised to learn that G-Sync works without having
#? to enable it for windowed mode.
#
#? WARNING: Don't use flip model in exclusive fullscreen mode, the game might freeze on start.
#
#? Read more about DXGI flip model here: https://devblogs.microsoft.com/directx/dxgi-flip-model/
#
#? It's recommended to leave this on auto as the best option will be selected based on detected capabilities.
#
#? Note: Flip model requires at least Windows 8.1 (only flip_sequential supported), but I highly recommend Windows 10 Spring?
#? ? ? ? Creators update or later if you want the best experience.
#
SwapEffect=auto
## Number of frames allowed to be queued for rendering.?
#
#? NOTE: This option was renamed in 0.3.8. In earlier versions the option had no effect.
#
#? Valid range: 1-16 (0 leaves it at default)
#
#? Bethesda default is 2 for SE, 1 for AE.
#
#? WARNING: Values above 2 could have a negative impact on overall performance.
#
#? Tip:
#
#? ? Try NVIDIA's ultra low latency mode or AMD anti-lag, it may work even better. There?
#? ? were still occasional stutters with MaxFrameLatency=1 depending on what I was looking?
#? ? at, ULLM eliminated them completely.
#? ? Note that ULLM has a fixed FPS penalty. It seems that this is by design. The delta is larger
#? ? with higher fps, for example when you'd normally get 144 you'll see around 138 with latency set
#? ? to ultra.
#
#? ? Keep in mind that driver control panel settings take precedence so this option will be?
#? ? overriden.
#
MaxFrameLatency=0
## Determines how scaling is done in exclusive fullscreen mode.
#
#? Valid options:
#
#? ? ?unspecified
#? ? ?centered
#? ? ?stretched
#
ScalingMode=unspecified
## Maximum allowed monitor refresh rate. Applies only in exclusive fullscreen mode.
#
#? This overrides Bethesda's hardcoded limitation of 60Hz. The game will request the highest?
#? available refresh rate (as reported by DirectX), but there is no guarantee you'll actually
#? get it. It's completely up to your system.
#
#? You DO NOT NEED TO MESS WITH THIS SETTING unless you want to lower the refresh rate or
#? have a monitor capable of running above 240Hz. This is not a fixed value just an upper?
#? limit of what the game is allowed to request.
#
MaximumRefreshRate=90
## General framerate limit. Applies everywhere, except where more specific limits are set (see below).
#
#? Warning: This plugin replaces the built-in limiter by default, 'bLockFramerate' will have no effect.?
#? ? ? ? ? ?If you want to limit the framerate, you'll have to explicitly configure it here.
#
#? Bethesda default: 60
#
FramerateLimit=90
## Determines if the limiter is placed before or after frame presentation.
#
#? Placement can affect performance when a framerate limit is being imposed.
#
#? 0 - before (favor consistent frametimes)
#? 1 - after? (favor input latency)
#
FramerateLimitMode=0
## General UI framerate limit. Applies everywhere in paused menus, except where more specific limits are set.
#
#? Setting this or more specific options to -1 disables the respective limit explicitly.
#
UIFramerateLimit=0
UIFramerateLimitVSyncOff=true
## Framerate limit for the map. Useful if you want to adjust the map movement speed.
#
UIFramerateLimitMap=0
UIFramerateLimitMapVSyncOff=false
## Framerate limit for the inventory, magic, gift, barter, container and favorites menus.?
#
UIFramerateLimitInventory=0
UIFramerateLimitInventoryVSyncOff=true
## Framerate limit for the journal.?
#
UIFramerateLimitJournal=0
UIFramerateLimitJournalVSyncOff=true
## Framerate limit for custom menus.?
#
UIFramerateLimitCustom=0
UIFramerateLimitCustomVSyncOff=true
## Framerate limit for the main menu.?
#
#? It's recommended to keep this at 60 and UIFramerateLimitMainVSyncOff to false.
#
UIFramerateLimitMain=0
UIFramerateLimitMainVSyncOff=true
## Framerate limit for the race menu.?
#
UIFramerateLimitRace=0
UIFramerateLimitRaceVSyncOff=true
## Framerate limit for the perk tree.?
#
UIFramerateLimitPerk=0
UIFramerateLimitPerkVSyncOff=true
## Framerate limit while reading books.?
#
UIFramerateLimitBook=0
UIFramerateLimitBookVSyncOff=true
## Framerate limit while picking locks.?
#
UIFramerateLimitLockpick=0
UIFramerateLimitLockpickVSyncOff=true
## Framerate limit for the console.?
#
UIFramerateLimitConsole=0
UIFramerateLimitConsoleVSyncOff=true
## Framerate limit for the tween menu.?
#
UIFramerateLimitTween=0
UIFramerateLimitTweenVSyncOff=true
## Framerate limit for the sleep/wait menu.?
#
UIFramerateLimitSleepWait=0
UIFramerateLimitSleepWaitVSyncOff=true
## Framerate limit while loading the game.
#
#? Uncapping the loading scren is supposed to load your game faster, however I've?
#? found no evidence of that. If anything, it might induce ILS or crash your game.
#
#? It's recommended you leave this at 60 and LoadingScreenFramerateLimitVSyncOff=false.
#? If you do choose to uncap, do not set a limit above 120 FPS.
#
LoadingScreenFramerateLimit=60
LoadingScreenFramerateLimitVSyncOff=false
## Additional time to keep the loading screen limit active (in seconds).
#
#? Use this alongisde LoadingScreenFramerateLimit=60 to address some issues
#? which may pop up due to high FPS immediatelly after loading.
#
LoadingScreenLimitExtraTimePostLoad=2
LoadingScreenLimitExtraTime=2
[HAVOK]
## Master switch.
#
#? Set to false to fall back to Skyrim.ini HAVOK settings.
#
Enabled=true
## Adjusts fMaxTime and fMaxTimeComplex dynamically based on current framerate.
#
#? If set to false, fMaxTime and fMaxTimeComplex will be calculated and set automatically based on MaximumFramerate?
#? option (see below), but you'll lose the performance benefit which comes from re-adjusting these values each?
#? frame to match the framerate.
#
#? Consider 'false' as 'static' mode, which calculates physics values automatically so you
#? don't have to.
#
#? Read the description of MaximumFramerate option below for more info.
#
#? It's recommended to leave this enabled.
#
#? Note: In contrast to Havok Fix, the method used here is compatible with any third party OSD tools
#? ? ? ? such as RivaTuner Statistics Server, since it hooks in the engine instead of the D3D libraries.
#
DynamicMaxTimeScaling=true
## fMaxTime and fMaxTimeComplex are not calculated below?
## this threshold.
#
#? Lower values may benefit peformance if your system is struggling to render at 60 FPS.
#
#? Default: 60?
#
MinimumFramerate=60
## fMaxTime and fMaxTimeComplex are not calculated above this threshold.
#? ?
#? If DynamicMaxTimeScaling=true and this is set to 0, the plugin attempts to determine this value?
#? based on VSync (refresh rate) and FramerateLimit option. If it's unable to do so (for example if VSync
#? is off or mode is borderless fullscreen and no limit is set) it defaults to 240.
#?
#? If DynamicMaxTimeScaling=false, this setting is used to calculate fMaxTime and fMaxTimeComplex once and
#? apply both values.?
#? If DynamicMaxTimeScaling=false and this is set to 0, the plugin attempts to determine this value based?
#? on VSync/refresh rate and FramerateLimit option. If it's unable to do so, it defaults to 60.
#
#? If Fullscreen=true and EnableVSync=true or FramerateLimit is set, it's recommended you set this to 0
#? to let the plugin determine the value automatically.
#? Otherwise make sure it's set a comfortable margin higher than the maximum framerate your machine can?
#? achieve in-game (excluding menus and loading screens) or you will see physics issues. It's recommended
#? to set a framerate limit at or below this value (FramerateLimit option in Render section).
#
MaximumFramerate=240
## Adjust the negative offset of fMaxTimeComplex relative to fMaxTime.
#
#? Valid range: 0 - 30
#
MaxTimeComplexOffset=30
## Adjust amount of damage dealt when hit by physics objects based on frametime.?
#
#? Note that this doesn't fix the faster collision response, only alleviates higher health damage at?
#? higher framerates.
#
#? Since there's a good chance of getting killed in a misfortunate encounter with a kettle even at 60 FPS,?
#? you can reduce or disable damage dealt with PhysicsDamageMult (valid range: 0 - 1).
#
PhysicsDamagePatch=true
PhysicsDamageMult=1
## Lowers HAVOK engine CPU consumption at the expense of physics simulation quality.
#
#? Bethesda uses less demanding physics settings in "complex" scenes like civil war battles.?
#? If this is enabled these settings will be used everywhere.
#
#? Only recommended on CPU-bound low-end systems.
#
PerformanceMode=false
## Add fMaxTime and fMaxTimeComplex to OSD.
#
#? Also indicates which value is currently in use.
#
OSDStatsEnabled=false
[Controls]
## Fixes an issue where you're not able to move in third person at high framerates.
#? ?
#? This issue can occur when movement is slowed, for example when over-encumbered or when
#? the bow is drawn. Keep in mind that you may experience the issue even at 60 FPS if
#? movement is slowed down enough.
#
#? If necessary, adjust MovementThreshold variable below.
#
ThirdPersonMovementFix=true
## Controls an internal variable related to movement/damping.
#
#? Lower values ensure movement works at lower movement speeds/higher framerate.
#
#? Only in effect when ThirdPersonMovementFix=true
#
#? Valid range: 0.01 - 5
#
#? Bethesda default: 5
#
MovementThreshold=0.25
## Untie first person horizontal look sensitivity from framerate when sitting down
#
SittingHorizontalLookSensitivityFix=true
## Untie map keyboard movement speed from framerate.
#
#? Also normalizes diagonal keyboard movement speed.
#
#? Note: overrides fMapMoveKeyboardSpeed:MapMenu in Skyrim.ini, configure the speed below.
#
MapMoveKeyboardSpeedFix=true
## Speed multiplier for keyboard map movement.
#
#? Only in effect when MapMoveKeyboardSpeedFix=true.
#
#? Valid range: -20 - 20. Negative values reverse the movement direction. 1 is roughly the?
#? same speed as vanilla at 60 FPS.
#
MapMoveKeyboardSpeedMult=1
## Untie auto vanity camera rotation speed from framerate.
#
AutoVanityCameraSpeedFix=true
## Untie dialogue look speed from framerate.
#
DialogueLookSpeedFix=true
## Ramp up look speed incrementally as the cursor approaches the edge of the screen.
#
#? Use [Controls] fPCDialogueLookStart in Skyrim.ini to set distance from the edge where the camera starts moving.
#
DialogueLookSmoothEdge=false
## Untie gamepad cursor speed from framerate.
#
#? Bethesda implemented this fix in 1.6.x (that's why this caused slow cursor movement) but they used
#? the wrong frame timer, one that's affected by global time multiplier. This patch corrects that and?
#? unties cursor movement from in-game timescale.
#
GamepadCursorSpeedFix=true
## Untie lockpick mouse rotation speed from framerate.
#
#? Note that this bug slows down rotation with higher framerates, if you got used to the
#? slower speed adjust [Interface] fPickMouseRotationSpeed in Skyrim.ini (default is 15).
#
LockpickRotationSpeedFix=true
## Untie free camera vertical sensitivity from framerate.
#
FreeCameraVerticalSensitivityFix=false
## Untie free camera movement speed from framerate.
#
FreeCameraMovementSpeedFix=false
## These are only available on AE until Engine Fixes is updated.
## Untie vertical look sensitivity from framerate (EngineFixes)
#
VerticalLookSensitivityFix=true
## Fix camera movement sensitivity during slow time (EngineFixes)
#
SlowTimeCameraMovementFix=true
[Window]
## Locks mouse cursor within the borders of the game window.
#
#? Fixes the invisible runaway mouse glitch plaguing people with multiple monitors who keep a window
#? open on the neighboring monitor and it keeps scrolling while playing the game.
#
LockCursor=true
## Minimize the game window if it loses focus.
#
#? Useful in borderless fullscreen mode if alt-tabbing just pushes the game window to the background
#? instead of minimizing it.
#
#? WARNING: Avoid using this with ENB or ReShade, things might break when alt-tabbing.
#
ForceMinimize=false
## Disables the window ghosting feature.
#
#? Useful in windowed/borderless fullscreen mode.
#
#? Read more: https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-disableprocesswindowsghosting
#
DisableProcessWindowsGhosting=true
## Automatically center the game window on the monitor where it spawns.
#
#? Useful in windowed mode.
#
AutoCenter=false
## Offset the game window position relative to the primary monitor.
#
#? Overrides iLocation X and iLocation Y in Skyrim.ini. Provided for convenience.
#
OffsetX=0
OffsetY=0
[Papyrus]
## Set the maximum time scripts are allowed to run per cycle based on current framerate.
#
#? Normally scripts are given a fixed max. amount of execution time per cycle controlled by
#? fUpdateBudgetMS - 1.2 ms by default, roughly 7% of each cycle at 60 FPS, 17% at 144, 29% at
#? 240, .. The higher your framerate, the harder it gets to sustain it under heavy script load.
#
#? This attempts to even things out by adjusting the limit based on time it took to complete?
#? the previous cycle. Less budget is alloted at higher framerates.
#
#? Formula:
#
#? ? fUpdateBudgetMS = lastCycleTime * (UpdateBudgetBase / 16.66667)
#
#? Note: fUpdateBudgetMS never goes above UpdateBudgetBase (see below).
#
DynamicUpdateBudget=false
## Amount of time scripts are alloted at or below 60 FPS (in milliseconds).
#
#? Recommended to leave at default. If you use a different fUpdateBudgetMS value in Skyrim.ini,
#? set the same here.
#
#? Bethesda default: 1.2
#
UpdateBudgetBase=1.2
## Budget is not calculated beyond this limit.
#
#? Set this at or above your maximum framerate.
#
#? At 144 minimum budget is 0.5 ms, 0.3 ms at 240.
#
#? Valid range: 60 - 300
#
BudgetMaxFPS=240
## Fixes a bad range check in Actor.SetExpressionOverride papyrus function.
#
#? The bug makes "Dialogue Anger" expression unavailable via this function.
#
SetExpressionOverridePatch=true
## Add fUpdateBudgetMS to OSD.
#
OSDStatsEnabled=false
## Add VM overstressed indicator to OSD.
#
#? If enabled, OSD will indicate when the scripting engine is under excessive load.?
#? Keep in mind that it's normal for the VM to become overstressed for short periods,?
#? for instance after fast travelling a bunch of events might fire at once.?
#? However if the indicator is constantly showing, you've got a problem. Usually poorly?
#? made and heavily scripted mods are to blame. Examine the stack to see what's going on.
#
#? In the best case scanario you'll rarely (if ever) see this indicator.
#
OSDWarnVMOverstressed=true
[Miscellaneous]
## Disables scanning missing plugin .ini files. May significantly improve startup times with many plugins.
#
#? By default the engine looks for every single .ini option for each installed plugin, without checking
#? if the .ini file actually exists. Massive waste of time and resources, especially when the user has a
#? heavily modded game.
#
#? Note: This is unrelated to the PrivateProfileRedirector plugin and is fully compatible with it. If you
#? ? ? ? use it alongside that plugin the difference won't be felt, but it still prevents the CPU from doing
#? ? ? ? a bunch of useless work at startup.
#
SkipMissingPluginINI=true
## Filter loadscreens by plugin name.
#
#? LoadScreenAllow and LoadScreenBlock take comma separated plugin names (case-insensitive).
#
#? Example usage:
#
#? ? Allow only Wyrmstooth and LOTD loadscreens:
#? ? ??
#? ? ? LoadScreenAllow=Wyrmstooth.esp,LegacyoftheDragonborn.esm
#? ? ? LoadScreenBlock=All
#
#? ? Block only vanilla and DLC loadscreens:
#? ? ??
#? ? ? LoadScreenAllow=
#? ? ? LoadScreenBlock=Skyrim.esm,Dawnguard.esm,Dragonborn.esm,Hearthfires.esm
#
#? ? Block all loadscreens:
#? ? ??
#? ? ? LoadScreenAllow=
#? ? ? LoadScreenBlock=All
#
#
#? Note: In cases where only loadscreens with conditions are allowed, it is possible that none?
#? ? ? ? will show even if no others are available.
#
LoadScreenFilter=false
LoadScreenAllow=
LoadScreenBlock=All
## Remove all lens flare from weather records.
#
#? This is done in-memory and is not persistent.
#
DisableWeatherLensFlare=false
## Disable actor fade when camera intersects the body.
#
DisableActorFade=false
## Disable player fade when camera intersects the body.
#
DisablePlayerFade=false
[OSD]
## Enable the on-screen display.
#
Enable=false
InitiallyOn=true
## Comma separated list of displayed stats.
#
#? ? fps? ? ? ? ? ? ? ? - Framerate
#? ? bare_fps? ? ? ? ? ?- Just the framerate, no formatting
#? ? frametime? ? ? ? ? - Frametime
#? ? bare_frametime? ? ?- Just the frametime, no formatting
#? ? counter? ? ? ? ? ? - Frame counter
#? ? vram? ? ? ? ? ? ? ?- Video ram usage (used / budget) *
#? ? all? ? ? ? ? ? ? ? - Everything
#
#? * Note that this line does not show total amount of memory available but rather
#? the OS allocated budget which can vary based on how much is consumed by other?
#? applications. If usage exceeds the budget, you'll likely experience stuttering.?
#? Requires DXGI 1.4.
#
#? Stats related to specific drivers are configured in their respective sections.
#
Show=fps,vram
## How often the OSD updates (in seconds).
#
UpdateInterval=0.3
## Keys used used to toggle the OSD.
#
#? ComboKey uses built-in constants, ToggleKey is a DX scan code (https://www.creationkit.com/index.php?title=Input_Script)
#
#? ComboKey:
#
#? ? 1 - Left Shift
#? ? 2 - Right Shift
#? ? 3 - Left Control
#? ? 4 - Right Control
#? ? 5 - Left Alt
#? ? 6 - Right Alt
#? ? 7 - Left Win
#? ? 8 - Right Win
#
#? ComboKey=1 and ToggleKey=0xD2 is Left Shift + Insert
#
ComboKey=1
ToggleKey=0xD2
## Align the OSD.
#
#? ? 1 - Top Left
#? ? 2 - Top Right
#? ? 3 - Bottom Left
#? ? 4 - Bottom Right
#
Align=1
## OSD position offset (X Y).
#
Offset=4 4
## Font scale (X Y)
#
#? Omit Y for uniform scaling
#
Scale=1.0 0.9
## Adjust font scale based on amount of lines drawn.
#
AutoScale=true
## Scale font size based on window size.
#
#? Size remains constant when resolution to window size ratio != 1, for example?
#? when playing at non-native resolutions.
#
ScaleToWindow=true
## Set a custom font.
#
#? You can generate bitmaps from fonts installed on your system with MakeSpriteFont.
#? https://github.com/microsoft/DirectXTK/wiki/MakeSpriteFont
#
#? Run the tool with /NoPremultiply and place files in Data\SKSE\Plugins\SDTFonts
#
FontFile=
## Font and outline color (RGBA).
#
Color=255 255 255 255
OutlineColor=0 0 0 255
## Outline offset.
#
OutlineOffset=1