SSE fix

by meh321·v3.1.5.73·Updated 2019-12-30

Fixed a bug causing low fps in Skyrim Special Edition.

Screenshots 1 screenshots

About this mod Machine translation

Fixed a bug causing low fps in Skyrim Special Edition.

How to install:

  • Install the DLL Plugin Loader, make sure to read the installation instructions for the mod, it must be installed manually.

Then

  • Install this module using the module manager.

Either

  • Place the "DLLPlugins" folder from the downloaded archive into your data directory.

What it can do:

Fixed an issue in the game code that resulted in lower FPS with many ESP or ESM plugins installed. Also added the option to enable OSAllocators, like in vanilla Skyrim, but it's disabled by default because for me it lowered FPS slightly.

question?

If you encounter issues like increased crashes or some new bugs that didn't exist before, please let me know here. I can only test so much by myself, and I don't play SSE anyway. You may consider using this beta now, and if you value saving your game, let others test it first.

What are the low FPS errors:

There is a bug in the game code that causes the game FPS to drop a lot in some areas if you install more than a few dozen ESP or ESM plugins. The content of the ESP or ESM files does not matter, they can be empty virtual plugins without a main file. This happens because the game has at least 4 nested iteration loops per frame, and for every plugin installed, the lowest loop iterates, normally this wouldn't be a problem, but this code runs on multiple threads, and for each plugin it locks a mutex each time, which is slow. It's not even really a bug, just bad implementation.

But you can test the error yourself, here's how

  • Make sure FPS is fully unlocked, which means bLockFrameRate = 0 in Skyrim.ini under [Display] and iVSyncPresentInterval = 0 in SkyrimPrefs.ini under [Display]. Obviously I'm not saying to play like this, it's just to test how much FPS you're losing.
  • Get some way to display FPS in the game, such as Fraps, graphics card software, ENB or others.
  • Disable all mods except the base game DLC.
  • Put "coc RiftenOrigin" in the main menu, run to the middle of the market and check out some specific locations that you can remember. Check your FPS now. It's 145 for me.
  • Download the empty ESP plugin, copy and rename it so that you have 240 ESP plugins, or use some script to do this. Enable these plugins in-game or in the Mod Manager, however you can.
  • Type again in the main menu "coc RiftenOrigin" and go to the same location, in the same location. Check your FPS again. This is a completely empty ESP setup, nothing else needs to be loaded.

For me, 145 FPS without mods and 50 FPS with empty plugins is a huge loss for no reason. Although Riften was the biggest loser in FPS in this test.

Other places I've tested:

“ coc Riverwood”,FPS 115-> 80

“ coc FalkreathExterior01”,FPS 102-> 53

So how to solve it?

I rewrote the loop to basically do this:

for(int i = 0; i <modCount; i ++)

{

Automatic form = GetFormById ((i << 24) | (formId & 0x00FFFFFF)); // GetFormId contains mutex

//...Some other checks

}

And change it to use a custom search method that only loops through the forms that actually exist there. Again, it doesn't lock for each form, but once for the entire search.

other things

Thanks to the people in reddit for pointing out the error to me.

Thanks to everyone who helped with testing and reported issues.

No, I wouldn't use it on console.

The same error does not occur in vanilla Skyrim.

If you find this mod anywhere else, it is stolen.

Change log

v2 (27/06/2017) - Changed the method of fixing bugs, which can reduce a lot of lag.

——————————————————————————————————

How to install:

  • Install DLL Plugin Loader, make sure to read install instructions of that mod, it must be installed manually.

THEN

  • Use mod manager to install this mod.

OR

  • Put the folder "DLLPlugins" from downloaded archive into your Data directory.

What it does:

Fixes a problem in game code that causes low FPS with many ESP or ESM plugins installed. Also adds option to enable OSAllocators like in vanilla Skyrim …

Install & use Install: follow the bundled instructions

  1. Unzip the archive from playbuff and read the bundled readme / instructions first.
  2. There is no universal mod manager for this game: some mods replace game files directly, some go into a game-specific Mods folder, and some need a game-specific community loader or tool first — follow the bundled readme.
  3. Place the files exactly as the readme says; mods with listed dependencies need those installed too.
  4. Launch the game to confirm it loaded; some games require enabling mods in settings or an in-game mod menu.

Install locations vary a lot between games and mods — the bundled readme is the most reliable guide.

File & checksum

Filename
SSE修复
File size
135.0 KiB