Introduction

Welcome!

Goal of this guide is to fix the abysmal performance in Skyrim Special Edition by using more modern technologies and tweaks, and make you generally aware of its quirks and other potential issues.

The guide is mostly written with an assumption that you've completed Utilities sections from A Dragonborn's Fate.

While the guide is focused on this particular game, most stuff shown here is applicable to other games.

Terminology

Things You Should Know

  • Vertical Synchronization (V-Sync) - technology allowing to keep display's scanout and refresh in phase to eliminate screen tearing, at the cost of higher latency.
    (Latency lowers along with refresh rate)
  • G-Sync | Freesync - Variable Refresh Rate (VRR) technologies developed by NVIDIA and AMD respectively. They allow the display to adapt its refresh rate to the framerate, allowing to use V-Sync at arbitrary framerates and reduce its latency[1] .
  • Multiplane Overlays (MPOs) - hardware scanout planes for the GPU. They allow for hardware image composition without any latency or performance penalty (for example displaying windows on top of each other), as well as their hardware scaling and stretching. MPOs are supported since Windows 8.1. Hardware capabilities vary between GPU manufacturers.
  • Input Latency (lag) - time between input event (mouse click, keyboard press) and the event being displayed on the screen. The lower the latency, the more responsive the game feels.
    There are multiple sources of latency, varying from GPU/CPU usage, display mode, framerate count and many more - most of them are covered in this guide.
  1. Yes, despite popular misinformation, VRR alone doesn't get rid of tearing. It can minimize the rolling tear however, but that varies between displays, and such, it's not a guaranteed feature. Additionally, the latency reduction applies only at framerates below V-Sync window (display's native refresh rate) - if framerate matches the native refresh rate, VRR engages V-Sync emulation.

Technicalities

More text inside. Explains the concept of presentation models and display modes. While not needed to use the guide, it'll help you with understanding why things are the way they are. UI element - Chevron

  • Presentation models:
    • Flip Model - presentation model first added in Windows 7 with D3D9Ex and upgraded in DXGI in Windows 8-10.
      Allows "fullscreen-level" of performance and latency. Has native VRR support in Windowed Mode. Additionally, DXGI version supports tearing (V-Sync off) in Windowed Mode, HDR and has Multiplane Overlay (MPO) support.
      DXGI variant is supported only in D3D10 and upwards[2], enforced only in D3D12, and exists only on Windows 8 and upwards.
      D3D9Ex Flip Model is not feature matched and lacks any DXGI improvements.
      More information here.
    • BitBlt Model - older presentation model used by most applications. While performing similarly to Flip Model in Fullscreen, in Windowed Mode it has worse performance and always-on V-Sync on top of already additional latency caused by additional copy operations due to being software composed.
      The only presentation model for Windowed D3D9 (and lower), but still very common in D3D10 and D3D11 games.

      Vulkan and OpenGL[3] use BitBlt in Windowed Mode.

  • Display modes:
    • Fullscreen Exclusive (FSE) - legacy method of displaying content where application takes complete ownership of the screen. Has slow Alt-Tab due to display ownership transfer, can be problematic if games are badly coded and switch to odd resolutions or refresh rates by default. Can lose color profiles. Despite that, it offers the best feature compatibility and perfomance for games that don't use Flip Model. Deprecated by Fullscreen Optimizations and Windowed with Flip Model for DirectX games.
      Supported by every graphics API other than D3D12
    • Fullscreen with Fullscreen Optimizations (Fullscreen Optimizations) - an update to FSE for DirectX added in Windows 10 1803.
      Converts DirectX applications running in FSE mode into a pseudo borderless mode with Flip Model for faster Alt-Tab, lower latency, better color profile handling, and support for Windowed overlays (Xbox Game Bar, volume and brightness sliders etc.).
      Because of being a Windowed Mode under the hood, it can break e.g. brightness control in old games that modify system gamma instead of window's.
      Enabled by default for every application.
      More information here.
    • Windowed - method of displaying content in a window, always managed by DWM. Due to being a window, Alt-Tab is fast, and color profiles usually don't have any problems. If not using Flip Model, it has worse performance compared to Fullscreen Optimizations | FSE, lacks native VRR support, has increased input latency and uses always-on V-Sync
  1. D3D10 and D3D11 supporting Flip Model doesn't mean that game actually uses it (Unity and UE4 implemented Flip Model support around 2019 - 7 years after its release!).
    Flip Model in Windowed Mode can be enabled in those games using Special K (D3D11 only) or Windows 11's (22H2) Optimizations for Windowed Games (both D3D10 and D3D11)
  2. OpenGL can be displayed using D3D11 thanks to Special K, which enables Flip Model and all its benefits along with HDR.
    Nvidia drivers can also interop Vulkan and OpenGL to DXGI with Flip Model since driver version 526, albeit as the time of writing, OpenGL interop degrades performance compared to Special K's one, while DXVK compatibility requires toggling a flag in Nvidia Profile Inspector - see here.

Graphics Drivers and Windows

Driver Updates

Not much to say here - for the best compatibility and performance, you must be using the newest driver for your graphics card.

You can check what GPU you have by opening Task Manager, and going to the Performance tab - the last GPU on the left pane is your main one.

Select your graphics card to go the driver download page

Windows Watermark

You can ignore this section if you have following GPUs:

  • Nvidia 16 series and newer
  • AMD Vega and newer (single display only)
  • Intel CPUs 8th Gen and newer

Make sure your Windows is activated, otherwise the watermark will kick the game into the DWM composition, which leads to increased latency, worse performance and disables VRR.
If you don't have a GPU with MPO (Multiplane Overlay) support, you can mitigate this by disabling Fullscreen Optimizations.
(Keep in mind that this trick won't work on modern, D3D12 games, so it's still recommended to just activate Windows)

How to check if your GPU supports MPOs:

  1. Type dxdiag into Windows search
  2. Click Save All Information and save the file.
  3. Open the DxDiag.txt file, press Ctrl+F and look for MPO MaxPlanes
  4. If the number is greater than 1, then your GPU has MPO support.

Having the watermark without MPOs will disable VRR and increase input latency and stuttering!

Virtualization

Windows 11 uses virtualization features to increase system and inter-process security. Unfortunately, this can come at a performance cost, especially on lower-end hardware.
I won't be writing on how to disable them, because... Microsoft already made a tutorial about it.

This step is not mandatory, as when it comes to security, it's up to you to decide. Just letting you know that this exists, and even Microsoft acknowledges the fact that it can degrade perfomance.

Game Mode

Windows 10 introduced a feature called Game Mode, which puts the system in a more gaming-friendly state.

Game Mode features:

  • Enables AutoHDR for DXGI based games.
  • Enables VRR optimizations for games using Flip Model [?].
  • Disables Windows Update.
  • Disables notifications.
  • Disables file indexing, if "Respect Device Power Mode Settings" is enabled in Search settings.
  • Sets Game Mode power mode (Requires Balanced power plan to be active).
  • Enables CPU scheduling optimizations for Ryzen CPUs.

Game Mode is enabled by default. If you had it disabled for some reason, you can enable it here.

Display Mode Differences

Presentation Problems

Here's a comparison of three display modes you can use in this game.

Flip Windowed
(Display Tweaks, Windows 10+)

Fullscreen

BitBlt Windowed
(Vanilla, Windows 7)

  • Best latency and performance
  • Variable Refresh Rate support
  • HDR output
  • Fast Alt-Tab
  • Native support for color profiles
  • Best latency and performance, especially with FSO
  • HDR output
  • Variable Refresh Rate support
  • Native support for driver based downsampling (DLDSR, RSR)
  • Fast Alt-Tab
  • Better support for color profiles
  • Driver based downsampling (DLDSR, RSR) requires some tweaking if not using 3rd party tools
  • Upscaling the window from lower resolutions requires MPOs
    (Doesn't apply to FSR, DLSS, etc. - different method)
  • Slower and unstable Alt-Tab, especially without FSO
  • High input lag and worse performance, especially when not using any FPS limiter and/or using a laptop
  • V-Sync is always on[4]
  • Variable Refresh Rate doesn't work natively
    • AMD supports Freesync in BitBlt windows that are fullscreen, but latency and performance penalties remain
    • Nvidia's G-Sync support for BitBlt windows is broken[5]
  • Higher memory bandwidth and usage
  • No HDR support
  1. Despite that disabled V-Sync unlocks the framerate, window itself is V-Synced, so you don't get any benefits.
  2. While AMD enables Freesync for Fullscreen Windowed BitBlt surfaces, Nvidia allows G-Sync to run with any window.
    This is problematic because refresh rate can get synchronized to wrong windows, framerate may break on other displays and display stutters may occur.
    Enabling it globally is a bad idea, because it disrupts normal desktop usage (e.g. screen can sync to sleeping windows).
    It's recommended to use Nvidia Profile Inspector to set G-Sync Application Mode to "Fullscreen and Windowed" in Skyrim Special Edition profile. This makes Windowed G-Sync run only when the game is running.
    Keep in mind that even with this method, this G-Sync implementation is still buggy - if you get any of the forementioned issues, disable it.

    Never enable Windowed G-Sync globally!

Recommended FPS Limiters and Their Configurations

(Not) Pushing the Limits

Limiting framerate is very important for overall stability.
First and foremost, if you are using a good limiter, you'll be implementing correct framepacing, which is the most important think for the overall feel of fluidity.
More advanced limiters can also reduce latency or power consumption (it's difficult to have both).

Always limit your framerate to an amount you can actually achieve, otherwise you won't get any benefits!
Letting your GPU overwork itself has a big latency impact, so try to cap your framerate at such value, where your GPU doesn't sit at constant 100% usage.
Running at smoother, lower framerate is always better than high, albeit laggy and stuttery one.

Recommended Setups

Recommended configurations based on selected display scenarios:
  • V-Sync

    • Framerate must be capped slightly below refresh rate to reduce latency.
    • V-Sync on its own is NOT a limiter. Using it as one introduces a massive latency penalty.

      This workaround applies only to RTSS.
      (Not needed if you use Special K)
      Driver limiters are not precise enough to pull this off without risking stutter.

  • G-Sync | Freesync

    • V-Sync must be enabled, in order to fully get rid of tearing.
    • Framerate must be capped below refresh rate, in order for VRR to not disengage and fallback to V-Sync, as this causes a very big increase in latency.
  • No V-Sync

    • No special prerequisites.

So many options...

Limiters presented here are ordered by their precision, from best to acceptable. The better ones are smoother and can provide better latency reductions, but may have some compatibility issues.

Enter your refresh rate here for automatic calculation of FPS limits. You can find your exact refresh rate here.

Applied!

If you don't use, or not have VRR, it's best to limit your framerate to fractions of your refresh rate. (30 at 60hz, 72 at 144hz, etc.)

Click on the cards below to show the instructions for each limiter.

Special K

Special K is a mod by Kaldaien focused mainly on fixing performance in games and implementing HDR.
Its list of features is too long to write here, but the most important one used here is its incredibly versatile limiter, HDR, texture cache, and (almost) lagless V-Sync. UI element - Chevron

Warning!

  • Special K may conflict with Riva Tuner. If the game crashes or SK doesn't show up in game, in RTSS settings, enable Use Microsoft Detours API hooking, or set injection delay to 30000
  • Special K is not compatible with ENB.
  • Special K includes its own Nvidia Reflex implementation, so the dedicated mod is not needed.
  • The following configuration will override some Display Tweaks settings (like V-Sync, buffer count, etc.).

Calculated values are not provided because Special K already does that automatically, and with higher precision.

Installation

  1. Download the Special K Archive from the Stable section, then extract SpecialK64.dll to your Skyrim SE root folder and rename it to dinput8.dll
  2. Download the archive with preconfigured settings and extract its content to your root folder.
  3. Launch Skyrim and press Ctrl + Shift + Backspace to enter Special K Control Panel.
  4. Enable the Framerate Limit by ticking the checkbox, then right click on the bar (not graph) next to it:
    • No V-Sync

      In right click menu select your refresh rate
      Click on Advanced and select the Latent Sync (VSYNC -Off-) mode

      Optional - Configuring Latent Sync to get rid of tears UI element - Chevron

      It's best to do this in-game!

      If you use Fullscreen Mode without V-Sync and have stable framerate, in limiter's right click menu select Latent Sync

      In Latent Sync menu, select Visualize Tearlines and use Sync offset slider so the tearing is not visible.
      Disable Visualize Tearlines when you decide you are satisfied with result.
      It is possible that you won't see tearing out of the box.

      Laptops with dedicated GPUs that do not have MUX switches for a direct dGPU<->Display connection can have problems with hiding the tearline.
      While it may be impossible to hide it completely, latency benefits are still applicable.

      Some monitors have too small vertical blanking, so it's possible to not fully hide the tearing without timing modifications - if you wish to pursue this topic, create a custom resolution with increased Vertical Blanking in your driver or with Custom Resolution Utility

      It's best to first test the resolution in the driver settings, otherwise you may lock out your display

    • V-Sync

      In right click menu select your refresh rate.

    • VRR + V-Sync

      In right click menu select VRR Bias and select the highest value.

      • The bias option is not needed for lower values.
      Click on Advanced and select the Low-Latency - (VRR Optimized) mode

    ...if you want to enter a custom value, Ctrl-Click on the bar. You can also drag your mouse on it.
  5. Your configuration should look similar to this:
    Screenshot showcasing Special K's control panel

RivaTuner Statistics Server

Riva Tuner Statistic Server by Unwinder is probably the most famous FPS Limiter and OSD software, thanks to its performance, compatibility and power usage. UI element - Chevron

Installation

  1. Install and launch RTSS. Open your System Tray (the triangle pointing upwards on the taskbar) and click on the RTSS icon to open it
  2. Press green Add button and select SkyrimSE.exe
  3. Set Application Detection Level to Low
  4. Set Framerate Limit to:
    • No V-Sync

      (RefreshRate)

    • V-Sync

      (RefreshRate - 0.05)

    • VRR + V-Sync

      (RefreshRate * (1 - RefreshRate * 0.00028))

    ...or lower
  5. Enter settings using Setup button and:
    • Enable Passive Waiting
    • Set framerate limiter to Front Edge Sync
  6. Enable Start with Windows or launch RTSS everytime before you play
  7. Your configuration should look similar to this:
    Screenshot showcasing RTSS' settings

NVIDIA | AMD driver

The most basic limiters from this list, but definitely the easiest and fastest to set up!

NVIDIA UI element - Chevron

Configuration

  1. Open NVIDIA Control Panel, go to Program Settings
  2. Select SkyrimSE.exe. If it's not present, add it manually
  3. In settings, set Max Frame Rate to:
    • V-Sync | No V-Sync

      (RefreshRate)

    • VRR + V-Sync

      (RefreshRate * (1 - RefreshRate * 0.00028))

    ...or lower
  4. Click Apply

Your configuration should look similar to this:
Screenshot showcasing Nvidia Control Panel settings

AMD UI element - Chevron

Configuration

  1. Open AMD Software: Adrenaline Edition, go to Gaming tab
  2. Select SkyrimSE or search for it in the bar. If not present, click on the three dots and add the executable manually.
  3. In games's menu, enable Radeon Chillℒ️ and set Max FPS to:
    • V-Sync | No V-Sync

      (RefreshRate)

    • VRR + V-Sync

      (RefreshRate * (1 - RefreshRate * 0.00028))

    ...or lower

Your configuration should look similar to this:
Screenshot showcasing AMD Software settings

FAQ

Are these questions really frequent?

  • Do texture mods really have an impact on performance?

    Not directly, no. As long as you don't go over your VRAM budget you'll be fine. If you run out of VRAM, you'll either crash, or experience massive stutters.
    What is guaranteed from higher resolution textures is increase in their load time. This can translate into longer stutter periods on cell loads.
  • What about DLSS, FSR and XeSS?

    Skyrim Upscaler is a great mod if you are looking to improve GPU performance thanks to it's upscaling, but the current implementation of both the mod and the technologies leaves us with just DLSS and DLAA as the viable options. This is because XeSS and FSR have severe ghosting issues.
    If you do want to use DLSS, keep these points in mind:
    • DLSS is only available for the NVidia RTX graphics cards (2000 series and above).
    • DLSS is what allows you get better GPU performance and anti-aliasing, DLAA is a mode that gets rid of the upscaling part and flips that around, leading to a far better AA than normal DLSS (which would still be better than the vanilla TAA) with a small performance cost.
    • There are various presets available in the configuration file for Skyrim Upscaler, these will change the visual result. Fiddle with them until you find a good balance.
    • Skyrim Upscaler is currently pay-walled if you wish to use with ENB, but the free version on Nexus works totally fine with Community Shaders (which is highly recommended as alternative).

Finish

The End?

Congratulations! You've made it through! I hope this guide has helped you making Skyrim Special Edition a smoother experience.
If you have any issues, questions, critiques or recommendations hit us up on Discord - wall_sogb and VishVadeva.
You can also find us on ModdingLinked, r/skyrimmods, Community Shaders servers.

I recommend checking this guide from time to time - We're not done yet.

If you found this guide helpful, share it with others or support me on Ko-Fi or Patreon

Things worth reading

Here are some links to stuff that I recommend checking out:
  • PCGamingWiki - Great website, contains really helpful info about games, patches, fixes and other PC gaming related stuff.
  • BlurBusters - Amazing website by Mark Rejhon focused on displays, latency and image quality. Really worth checking it out if you are a geek for these things.

Changelog

Changes are documented on the commit history