Skyrim Special Edition
0 of 0

File information

Last updated

Original upload

Created by

SlavicPotato

Uploaded by

slavicpotato1

Virus scan

Safe to use

About this mod

All-in-one solution for smooth FPS-unlocked gameplay. Includes a physics fix, borderless fullscreen performance boost, refresh rate control, highly configurable frame rate limiting, various bugfixes and more.

Requirements
Permissions and credits
Changelogs
Donations
Overview


A collection of tweaks and fixes for a smoother gameplay experience. SKSE64 plugin.


Main features


  • Support for 'DXGI flip model', a DirectX feature which greatly improves borderless fullscreen mode performance and enables features which were previously only available in exclusive mode.
  • A collection of various framerate related bugfixes, including a functional and performance optimized physics fix (works during civil war quests, compatible with everything).
  • Ability to disable VSync in borderless fullscreen mode (with DXGI flip model enabled).
  • Refresh rate uncap for exclusive fullscreen mode.
  • Framerate limiting with separate options for the UI, map, journal, loading screen, ...
  • Run at any resolution in borderless fullscreen mode (borderless upscaling)


Important


This plugin disables Skyrim's built-in framerate limiter and replaces it with its own. The limit is configurable in SSEDisplayTweaks.ini, FramerateLimit option (240 FPS by default). You may also use external tools or the limiter built into graphics drivers.

Note that fullscreen and borderless options in the launcher (bFull Screen and bBorderless in SkyrimPrefs.ini) have no effect, if you wish to change the display mode it must be set in SSEDisplayTweaks.ini (Fullscreen and Borderless options). For example if you want to switch to exclusive fullscreen, set Fullscreen=true, for windowed mode Fullscreen=false and Borderless=false, etc..

As of version 0.4.11 SkyrimPrefs.ini display mode settings will be used if 'Fullscreen' or 'Borderless' is commented out in SSEDisplayTweaks.ini. Currently the default configuration still overrides the display mode, defaulting to borderless fullscreen.

'Fullscreen' and 'Borderless' options are commented out since 0.4.12.



Performance


DXGI flip model can bypass desktop composition (DWM) and send frames directly to the screen, making windowed mode perform just as good or better than exclusive with less stutter, reduced input lag and higher framerates. Another benefit is better integration with features like HDR and G-Sync. The plugin will detect if flip is supported on your system and automatically select the best available option (if necessary you can configure it manually, see SwapEffect option in the config). 

Flip is supported since Windows 8.1, if you're running an older version use exclusive fullscreen for better performance.

Lowering frame latency may also reduce stutter (significantly in some cases), there's a detailed explanation above MaxFrameLatency option in the config.


Bugfixes


The havok fix adjusts timing values based on framerate to prevent physics from spazzing out at high framerates. Several other fixes are included:

  • ThirdPersonMovementFix               - Fixes an issue where you're not able to move in third person at high framerates.
  • MapMoveKeyboardSpeedFix              - Untie map keyboard movement speed from framerate.
  • SittingHorizontalLookSensitivityFix  - Untie first person horizontal look sensitivity from framerate when sitting down
  • AutoVanityCameraSpeedFix             - Untie auto vanity camera rotation speed from framerate.
  • DialogueLookSpeedFix                 - Untie dialogue look speed from framerate.
  • GamepadCursorSpeedFix                - Untie gamepad cursor speed from framerate.
  • LockpickRotationSpeedFix             - Untie lockpick mouse rotation speed from framerate.
  • FreeCameraVerticalSensitivityFix     - Untie free camera vertical sensitivity from framerate.
  • FreeCameraMovementSpeedFix           - Untie free camera movement speed from framerate.
  • SkipMissingPluginINI                 - Prevent scanning non-existent plugin inis. Can significantly improve startup times.
  • LockCursor                           - Locks mouse cursor to game window, preventing scrolling on secondary monitors.
  • PhysicsDamagePatch                   - Adjust amount of damage dealt when hit by physics objects based on frametime.
  • FreeCameraVerticalSensitivityFix     - Untie free camera vertical sensitivity from framerate (same patch as in EngineFixes)
  • FreeCameraMovementSpeedFix           - Untie free camera movement speed from framerate (same patch as in EngineFixes)

Non-optional:

  • (Exclusive fullscreen) Fixes refresh rate resetting to desktop settings when alt-tabbing.

Regarding the so-called "high fps script timing issue" which people are eager to parrot on various forums - there is none. Just the opposite, very low and/or very unstable framerates are far more likely to cause issues with the VM. If the VM has problems at higher framerates it's a symptom of an underlying issue. Ideally it should do far better at 90-144 FPS as it would locked at 60. The built in on-screen display can detect and warn you if the scripting engine is overstressed.


Framerate limiter


Allows configuring separate limits for individual UI menus. You can also force vsync on/off for each menu. Mainly useful for uncapping framerate in the journal/system to speed up MCM while maintaining a reasonable limit in-game. See UIFramerateLimit* options in the Render section for more.


On-screen display (OSD)


The OSD can be configured to show current FPS, frame time, frame counter and VRAM consumption based on OS-allotted budget (read more in the config). It can also be used as a first step in diagnosing script-related issues since it shows a warning when the scripting engine becomes overstressed.

It's normal for the scripting engine to become overstressed for short periods, for example if after fast travelling a bunch of events fire at once the indicator might briefly show up which is nothing to worry about. However if it's constantly showing or is accompanied by sharp FPS drops, you've got a problem. Usually poorly made and heavily scripted mods are to blame. Examine the stack to see what's going on.


Configuration


The configuration file has detailed documentation on each available option, you can check it out here before downloading.

To avoid losing custom configuration after an update create SSEDisplayTweaks_Custom.ini in Data\SKSE\Plugins. Any options found in that file will override the main configuration.


Other


I highly recommend installing Engine Fixes. It includes a fix which unties vertical look sensitivity from framerate and form/tree lod reference caching which can give a massive FPS boost in certain areas.


Compatibility


  • Incompatible with Havok Fix plugin.
  • ENB: ForceVSync is incompatible with borderless V-Sync off feature (EnableTearing), if you have it enabled set ForceVSync=false in enblocal.ini, and configure VSync options in SSEDisplayTweaks.ini instead. Note that it otherwise makes no difference where V-Sync is enabled, ENB does not have its own implementation - ForceVSync is there for convenience.
  • If you want to run uncapped and use ENB, make sure EnableFPSLimit=false in enblocal.ini and check that you're not limited elsewhere (RTSS, driver control panel, etc..). This plugin lifts the framerate limit in the engine, it cannot control other plugins, drivers or external applications.
  • If the game won't start properly (music plays and stuck on the main menu) it's because something else is overriding Skyrim's VSync settings, either turn it off in the plugin config (EnableVSync=false and EnableTearing=false) or disable the conflicting software.
  • If you're using borderless upscaling and experiencing issues with ENB effects, set DisableBufferResizing=true in the Render section.


Credits


SKSE team and Ryan (CommonLibSSE) for all their reverse engineering work.

Source is on GitHub