Jump to content

SKSE plugin limit? "Failed to initialize renderer error"


taffy

Recommended Posts

Hi all, I've run into an issue and can't find any discussion online about it. Basically I appear to have hit a plugin limit for SKSE DLL files.

 

With a heavily modded, but otherwise stable, game, launching SKSE from Mod Organiser brings me the error:

Quote

Failed to initialize renderer. Your display doesn't support the selected resolution. Please set a different resolution in Skyrim's Launcher under "Display Settings".

 

If I try running it in windowed mode via One Tweak, it instead says:

Quote

Failed to initialize renderer. Windowed mode not supporter on this Adapter.

 

After a lot of trial and error including messing with graphics drivers, game INIs, and windows updates, I narrowed the problem down to the number of SKSE DLL files in my load order. If I disable (any) two DLL files, the game launches fine. It doesn't seem to matter which two, although sometimes I need to disable 3 and sometimes only 1, so it's not always consistent.

 

The thing that is consistent however is that if I try to load up all my SKSE DLL files, I can't start the game.

 

It feels like I'm hitting some kind of SKSE plugin/load/data limit, but there's no mention of that anywhere online. Looking at my virtualised data folder, I have about 60 SKSE plugins- obviously a lot, but I'm sure a lot of power modders have hit this number before.

 

Does any have any ideas? It feels like such a specific problem that I should be able to figure it out but I'm at a loss. Any help would be much appreciated.

Link to comment

As you say, can be. Your test demostrate it. But i not think so.

I presume that if you make a lot of test and write here is because you have that results.

But... Let me ask... What you have???

Can we see your plugins.txt, modlist.txt and a screenshot of yours dll's???? please???

I have 24 dll's, bellow half of you.

 

As i know, the skse_loader, when executed, launch the game (TESV.exe) freezee it and start inyecting each dll's found in SKYRIM\DATA\SKSE\plugins, asigning it a separate memory space for each, probably protected,  launching the registration of each dll. When all dll's are registered, unfreezee the game and continue.

 

The thing that can ocurre is a bad dll, but appear that you have discarded that option, because, as you say, sometimes removing 1 dll is enought but other times need remove 3. 

 

The other problem that i think is a implicit limit based in the 32 bits architecture of the game. And this not have solution. But for be sure must make the same in an Skyrim SE of 64 bits.

 

The solution to your problem can be use the stability tools. I presume you have it and know it:

SKSE Memory Patch

Crash Fixes 12

ENB

 

Each one this tools have their own memory patcher and probably, one of them, can go overloaded for the number of dll's and the excesive request of memory assigments.

The only posible solution that i see is play with the configuration of the tools until find a combination that work.

 

For example, try ENB in boost mode. Sure that free a lot of memory, but of course lost half of the graphics.

 

Other try can be enable "UseOSAllocators=1" in Crash Fixes 12 installing SKSE Plugin Preloader

Whe enable "UseOSAllocators=1" the memory assigment made by skse is replaced by the new system of memory assigment of crash fixes, and appear to be more stable in stress situations

 

If you get the correct configuration of the ini files of skse.ini, CrashFixPlugin.ini , enblocal.ini you can solve your problem.

 

In last, and for be sure, i recomend you download and install BethIni. Is a very good util for manage the ini files of the game, and some parameters in the ini files are critical for the stability of the game.

Link to comment

Thanks for the reply- yeah I'm using all the stability mods (ENB Boost, Crash Fixes, Private Profile Redirector, Disable Process Windows Ghosting, One Tweak etc)  and they're correctly configured including UseOSAllocators. My game INIs are set with BethINI then edited, although I've confirmed this issue occurs even with default INIs.

 

As you mention though, unstable mods/incorrect config doesn't really explain this problem, because it's resolved by removing any DLL, for example the completely harmless Equip Best Ammo mod, and re-occurs instantly the moment I hit this number of plugins, regardless of which plugins are actually enabled. It's very strange and has really put a sudden halt to my modding efforts :( 

Link to comment
23 hours ago, GenioMaestro said:

The other problem that i think is a implicit limit based in the 32 bits architecture of the game. And this not have solution. But for be sure must make the same in an Skyrim SE of 64 bits.

 

You may have reached the limit of 3.5g inherent in all 32-bit applications.

For a game like Skyrim, the limit seems to be between 3.1g and 3.3g depending on the configuration.

Take a look at the use of memory. This limit has no solution, the only solution is jump to 64 bits.

Link to comment
  • 7 months later...
Hello. Recently, I discovered a strange thing. After connecting to many plugins with .dll libraries, ENB stopped working correctly for me. For example, MSI Afterburner is enabled with RIVAtuner and, for example, ProfileRedirector (https://www.nexusmod...yrim/mods/92725) - the ENB is broken. I turn off one thing and it works. Also, with the above plug-ins enabled, you can turn off, for example: SKGE, Papyrus Extender, HDT Sitting Height Fix or Faster Sleep Wait (SKSE) and ENB is working again. It also helped to remove the .dll library from enblocal.ini.

  Somehow I remember not playing Skyrim for a long time, but left it completely working. Six months later turned on, and the land is black! Found that the ENB is broken. I could not understand the reason for a long time, until one day I decided to try to launch Skyrim without Steam! And yes, steam overlay was off for me. The very presence of Steam in the process of launching the game add .DLL and broke the ENB. And now, if I try to run Skyrim through steam, I get a 
Error: Failed to Initialize Renderer
  From all this, I concluded. There are some limitations to the implementation of .dll libraries in the Skyrim process. Or limitation in SKSE. This is probably the only thing that unites them all.
  So, if the ENB has broken down for some reason. For example, DoF or other effects stopped working. Then try turning off a couple of SKSE plug-ins with .dll. Not all plugins with .dll solve the problem, but many. I do not have enough knowledge to find out why.

 Used google translator. If someone rewrites it in human, then I will be grateful.

I want to hear your thoughts on this.
My game uses around 72 plugins dll + around 5 (hdtSkyrimOIT.dll, ScriptDragon.dll, SKSE, ENB) in root folder
 
 Now im use Skyrim SE and have installed around 34 plugins with DLL (40 dll). When im activate another one mod with DLL my game CTD after load. I was found a reason it was HDT-SMP wig. If im turn off any mod with DLL it works fine. But if im exeed limit game starting CTD.

 

Link to comment
1 hour ago, DarthRevan said:

I want to hear your thoughts on this.
My game uses around 72 plugins dll + around 5 (hdtSkyrimOIT.dll, ScriptDragon.dll, SKSE, ENB) in root folder

The executable of the game TesV.exe can access 3.1 gb of memory. But each dll that is injected needs a block of memory that is reserved for the dll and is exclusive and can not be shared with the game or with another dll.

The more dll's you add, the more memory is reserved for the dll's and as the dll's do not share the memory they are really taking it away from the game and they reduce the 3.1 gb available for the game.

When there are many dll's the game does not have enough memory to work and bursts. If you remove a dll you give the game a little memory and it is enough for it to be initialized and work.

For that is recomended put only the required dll's and use normal mods for made normal things.

I think 72 dll's is really excesive and i'm sure you can find normal mods that make exactly the same whitout the use of dll's and probably your game can get better performance because really the game can have more real available memory.

 

1 hour ago, DarthRevan said:

 Now im use Skyrim SE and have installed around 34 plugins with DLL (40 dll). When im activate another one mod with DLL my game CTD after load. I was found a reason it was HDT-SMP wig. If im turn off any mod with DLL it works fine. But if im exeed limit game starting CTD.

But that must not happend in SE 64 bits because the limit of 3.1 gb is not present in 64 bits executables.

If you have that problem revise your installation and look game version, skse64 version and dll's version.

All must match, only one dll in bad version can made CTD.

Link to comment
17 minutes ago, GenioMaestro said:

I think 72 dll's is really excesive and i'm sure you can find normal mods that make exactly the same whitout the use of dll's and probably your game can get better performance because really the game can have more real available memory.

I agree, Less is sometimes more. For the record I've got 23 dlls from approx 200 plug-ins (and 250 mods). I would do what Genio suggests and look at what types of mods are using dlls and try to find alternatives.

Link to comment
2 hours ago, GenioMaestro said:

The executable of the game TesV.exe can access 3.1 gb of memory. But each dll that is injected needs a block of memory that is reserved for the dll and is exclusive and can not be shared with the game or with another dll.

The more dll's you add, the more memory is reserved for the dll's and as the dll's do not share the memory they are really taking it away from the game and they reduce the 3.1 gb available for the game.

When there are many dll's the game does not have enough memory to work and bursts. If you remove a dll you give the game a little memory and it is enough for it to be initialized and work.

For that is recomended put only the required dll's and use normal mods for made normal things.

I think 72 dll's is really excesive and i'm sure you can find normal mods that make exactly the same whitout the use of dll's and probably your game can get better performance because really the game can have more real available memory.

 

But that must not happend in SE 64 bits because the limit of 3.1 gb is not present in 64 bits executables.

If you have that problem revise your installation and look game version, skse64 version and dll's version.

All must match, only one dll in bad version can made CTD.

 Oldrim -  Good idea, but I think that is not the reason. There is something else. But this makes sense if, suppose, there is a limited number of blocks that can be allocated to injections.

Look at the facts
On average, a .DLL plugin weighs in at 200 kb - 2 mb, so 72 mods occupy about 50 mb of RAM. In fact, less, but suppose.
hdtPhysicsExtensions.dll size is 10 mb. Logically, I could replace it with a 50 .DLL size of 200 kb. But - no, turning it off and connecting 2 mods that weigh 100 kb and 90 kb, the effects of the ENB stop working.
The game and plugins itself works fine. Not through Steam, of course. Through Steam gives an error and does not even start.
 Only some effects of the ENB cease to work.

Memory test:

1 - broken - Memory Usage - 1 136.1 Skyrim.exe, 1 365.9 ENB Host - 74 DLL  without HDT-PE

2 - work - Memory Usage - 1 136.8 Skyrim.exe, 1 365.9 ENB Host - 73 DLL  without HDT-PE

3 - work - Memory Usage - 1 151.3 Skyrim.exe, 1 365.9 ENB Host - 73 DLL  with HDT-PE

As u can see , i have a lot free RAM.

 

Special Edition - Yes, I just wanted to go to the SE as I hoped not to see it there. But as practice has shown when reaching a certain number of mods with a DLL. Wearing a wig with physics, the game crashes.

Link to comment
33 minutes ago, DarthRevan said:

Good idea, but I think that is not the reason

But what you say??? Excuse me, i'm a professional developer with more than 30 years of experience.

I develop in c++ for more than 20 years... please... not doubt of my words....

 

The size of the executable have none relation to the memory ussage.

The size of the DLL have none relation to the memory ussage.

 

The executable TesV.exe can use from 2 to 3 GB of memory and have 15 mb of size... Where is the relation???

Each executable and each dll have a memory requeriments and are fixed by developer. If the dll need more or less memory only depend about how the developer desing it. And of course, some zones of memory are totally privated and can not be shared in any way.

 

The ESP only have records that are readed by the game executable and only have INFO. The game read the INFO and with that info read mesh and textures for made the things that you see in the screen. Is a very complex process and, of course, use memory.

But the INFO used by the ESP, mesh and textures is SHARED and all ESP use the same block of memory from the game and are combined. You can have only 253 plugings but that plugings can have up to 1500 mod merged, and of course, the size of the ESP's, mesh and textures only have relation to the memory used based in the number of poligons and the resolution of the textures.

And all that memory are SHARED and can be used at the same time for all the mods.

 

The memory space RESERVED by a dll and be use only and exclusively for THAT dll and is not shared.

For that the game can works with 1500 mods but make CTD with 72 dll's.

Link to comment
1 hour ago, GenioMaestro said:

But what you say??? Excuse me, i'm a professional developer with more than 30 years of experience.

I develop in c++ for more than 20 years... please... not doubt of my words....

 

 

Yes, excuse me. My English is bad and I misunderstood something. Unfortunately, some mods have no alternatives. And the number of useful mods with DLLs will only grow. Maybe someone will find a way to extend the memory limit. Or it will make it possible to load DLLs into the general library, to save space for other DLLs.
  Skyrim SE have SKSE Engine Fix which combines several simple DLL plugins to one.

 

Thats list of ALL DLL related to tesv.exe. If im find and block some useless system DLL injection to process. Can i load more SKSE mods ,right ?

TESV.exe.txt

Link to comment
Just now, DarthRevan said:

Thats list of ALL DLL related to tesv.exe. If im find and block some useless system DLL injection to process. Can i load more SKSE mods ,right ?

When i say that you MUST use normal mods for make normal things i mean:

https://www.nexusmods.com/skyrim/mods/20345/

https://www.nexusmods.com/skyrim/mods/80556/

 

https://www.nexusmods.com/skyrim/mods/52648/

https://www.nexusmods.com/skyrim/mods/83175/

 

You have 3 dll for Lockpick when the Lockpick is very easy. I presume you not NEED:

RememberLockpickAngle.dll
AutoLockpickPlugin.dll
slower_lockpick.dll

 

You have DisableQuickSave when you can make a manual save. You not need that dll, simply make it manually.

You not need NVAC in Skyrim. I have Crash Fixes with OsAlocators and i can play 4,5,6 consecutive hours.

Papyrus Extender is only required for two mods. Do you have any of them?

I never install SKSE Bug fixes and probably you can not see any diference when remove it.

SKSE -Elys- AltF4 is included inside Crash Fixes. Aditionally, you can type qqq in the console for close the game.

 

Look the others dlls, look what they make and look if you can remove it.

Link to comment
8 hours ago, DarthRevan said:

And the number of useful mods with DLLs will only grow.

Perhaps but that does not mean that you, or any individual, will require all those mods. Many of them will replace other mods, i.e. do the same thing only more or better.

 

Continuing from Genio's example of lockpicking mods, I use Lockpick Pro which doesn't have a dll, or an esp come to that.

The simplest way to disable quicksave is to not press F5. Though why anyone would want to disable it is beyond me.

I've no idea what NVAC is but I also use Crash Fixes with OsAlocators and can play longer than Genio (I'm retired :))

Link to comment
3 hours ago, GenioMaestro said:

When i say that you MUST use normal mods for make normal things i mean:

https://www.nexusmods.com/skyrim/mods/20345/

https://www.nexusmods.com/skyrim/mods/80556/

 

https://www.nexusmods.com/skyrim/mods/52648/

https://www.nexusmods.com/skyrim/mods/83175/

 

You have 3 dll for Lockpick when the Lockpick is very easy. I presume you not NEED:

RememberLockpickAngle.dll
AutoLockpickPlugin.dll
slower_lockpick.dll

 

You have DisableQuickSave when you can make a manual save. You not need that dll, simply make it manually.

You not need NVAC in Skyrim. I have Crash Fixes with OsAlocators and i can play 4,5,6 consecutive hours.

Papyrus Extender is only required for two mods. Do you have any of them?

I never install SKSE Bug fixes and probably you can not see any diference when remove it.

SKSE -Elys- AltF4 is included inside Crash Fixes. Aditionally, you can type qqq in the console for close the game.

 

Look the others dlls, look what they make and look if you can remove it.

Friends, I'm not crazy)
I have
AutoLockpickPlugin.dll thats open any chest without mini-game, so the other 2, of course, are off. Now plugins are connected to find out the maximum possible number of DLLs.
   It is clear that by disabling a couple of "unnecessary" plugins, you can avoid the cap. But it is also clear that more and more new mods are adding new DLLs. An increasing number of people will begin to deal with this. So our discussion will be useful.
 
I would like to be able to not be limited.

 

Thank you for the clarification. Now I know what is happening and in what direction to investigate.
 

 

Link to comment

You can dress it up how you want but the problem is caused by your bad modding practice.

 

What 'mini-game' when opening a chest? I stick my nose in every chest I find - click, chest opens, snaffle, snaffle, snaffle and gone. A few seconds. And how often per game session do you open a chest? If you want silly little mods to do all sorts of pointless activities then you are going to be running into all sorts of limitations.

Link to comment

wow, thanks so muck folks! i'd never heard about dlls using so much memory. i just checked and i have 41! sheesh, i'll weed thru them. can't believe i'd not heard this after all these years. i mean, i know that everything added takes a little toll but wouldn't have guessed this. thanks again!

Link to comment

hmm, seems i still have the old Sheson MemoryBlocksLog.dll in there. if i recall Crash fixes (which i have) does all that, but i think i left Memblock in there since Meh stated it wouldn't hurt anything leaving it. so can i remove MemoryBlocksLog.dll if i have Crash Fixes?

Link to comment
10 minutes ago, Mookeylama said:

hmm, seems i still have the old Sheson MemoryBlocksLog.dll in there. if i recall Crash fixes (which i have) does all that, but i think i left Memblock in there since Meh stated it wouldn't hurt anything leaving it. so can i remove MemoryBlocksLog.dll if i have Crash Fixes?

Suck it and see.

Yes I run Crash Fixes and don't have that dll so it wont do any harm. Might be worth re-reading the CF page though.

Link to comment
17 minutes ago, Mookeylama said:

hmm, seems i still have the old Sheson MemoryBlocksLog.dll in there. if i recall Crash fixes (which i have) does all that, but i think i left Memblock in there since Meh stated it wouldn't hurt anything leaving it. so can i remove MemoryBlocksLog.dll if i have Crash Fixes?

https://www.loverslab.com/topic/119363-random-cdt/?do=findComment&comment=2568961

 

Not exactly. The memory block is a simple dll for know the maximun values of the blocks and only is need for configure the SKSE.ini file. But the test say that the best parameters are:

DefaultHeapInitialAllocMB=768
ScrapHeapSizeMB=256

and 90% of the games run good with that configuration.

 

You not need have the MemoryBlocksLog.dll constanly active because make nothing in the management of the memory. Only write the log file with the info. Not make more. You can remove it whitout problems.

 

You NEED the correct skse.ini with the correct values in the correct folder. And you MUST add Crash Fixes for solve the string table bug and correct others problems and CTD.

Link to comment
2 hours ago, GenioMaestro said:

https://www.loverslab.com/topic/119363-random-cdt/?do=findComment&comment=2568961

 

Not exactly. The memory block is a simple dll for know the maximun values of the blocks and only is need for configure the SKSE.ini file. But the test say that the best parameters are:

DefaultHeapInitialAllocMB=768
ScrapHeapSizeMB=256

and 90% of the games run good with that configuration.

 

You not need have the MemoryBlocksLog.dll constanly active because make nothing in the management of the memory. Only write the log file with the info. Not make more. You can remove it whitout problems.

 

You NEED the correct skse.ini with the correct values in the correct folder. And you MUST add Crash Fixes for solve the string table bug and correct others problems and CTD.

thanks. yeah i seem okay w/ memoryblocklog.dll removed. Crashfixes states...

"Data/SKSE/SKSE.ini (not needed if UseOSAllocators=1 in CrashFixPlugin.ini)"

i have allocators=1 so i don't need any memory lines in skse.ini right? i have these...

[Memory]
DefaultHeapInitialAllocMB=1280   

ScrapHeapSizeMB=256

 

they are commented out and disabled

 

 

Link to comment
1 hour ago, Mookeylama said:

thanks. yeah i seem okay w/ memoryblocklog.dll removed. Crashfixes states...

"Data/SKSE/SKSE.ini (not needed if UseOSAllocators=1 in CrashFixPlugin.ini)"

i have allocators=1 so i don't need any memory lines in skse.ini right? i have these...

[Memory]
DefaultHeapInitialAllocMB=1280   

ScrapHeapSizeMB=256

 

they are commented out and disabled

Is better have it. I have it. Are not need if you have OsAlocators=1 but not make any damage if you have it.

 

Some times i make test for compute diferences and verify diferent problems with OsAlocators=0 and OsAlocators=1 and all my test say that OsAlocators=1 have better performance and stablity.

 

In that way i verify the HDT problems with OsAlocators=1 reported in this post.

https://www.loverslab.com/topic/111977-updated-title-and-description-crash-fixes-problem-with-hdt-wigsearrings/

 

And for more than one year i not find a solution until 27X explain the details of HDT mempatch in this post.

https://www.loverslab.com/topic/118138-sexy-idle-hdt-doesnt-work/?do=findComment&comment=2548376

 

Now my game is perfectly stable thanks to OsAlocators=1 and my HDT Elelemts works with HDT mempatch.

 

How many strange things can be caused by OsAlocators?? Nobody know it and for discover it you must make test and for make test you NEED the correct lines in the skse.ini file. Then, not remove it.

Link to comment
  • 3 weeks later...

just wanted to say thanks for this info all! i removed a few dlls that i didn't even realize i had. replaced a few w/ esps. ect. i guess opening up the extra memory really made a difference because the game is much smoother and stable now. great info here that i'd not heard of before so thanks again!!

Link to comment
On 4/3/2019 at 12:34 AM, GenioMaestro said:

For that is recomended put only the required dll's and use normal mods for made normal things.

I think 72 dll's is really excesive and i'm sure you can find normal mods that make exactly the same whitout the use of dll's and probably your game can get better performance because really the game can have more real available memory.

3 hours ago, Mookeylama said:

just wanted to say thanks for this info all! i removed a few dlls that i didn't even realize i had. replaced a few w/ esps. ect. i guess opening up the extra memory really made a difference because the game is much smoother and stable now. great info here that i'd not heard of before so thanks again!!

Thank you very much for confirming my words. Only a very small group of people bother to publish the results of their tests. If more people did it, everyone had a better understanding of how the game really works.
Truly, THANK YOU.

Link to comment
On 8/17/2018 at 10:40 AM, taffy said:

Hi all, I've run into an issue and can't find any discussion online about it. Basically I appear to have hit a plugin limit for SKSE DLL files.

 

what does this have to do with skse?

Quote

Failed to initialize renderer. Your display doesn't support the selected resolution. Please set a different resolution in Skyrim's Launcher under "Display Settings". 

 

problem disappear if you load the game without skse?

that only mean the problem require skse to work

instead of messing around with stuff, why not do the stuff there is in your quote?

enb have a resolution in its ini, check if the default one in that is supported by your screen (and check the rest while you are at it)

same for one tweak and everything else that edit resolution to not have to try to guess which one the game is loading

Link to comment
On 4/28/2019 at 11:41 PM, yatol said:

what does this have to do with skse?

 

It's clearly a problem with SKSE because that's what causes the problem. I'm sure sure how else to say it. When I have lots of SKSE plugins this happens, and when I disable a few it stops. So it's basically a hard limit on number of SKSE plugins.

 

I spoke to someone from the SKSE team and they said it was possible but there was nothing they could do about it, so I'm basically resigned to this limit.

Link to comment

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more information, see our Privacy Policy & Terms of Use