Conglomerate - Limits of Skyrim
Conglomerate - Limits of Skyrim
-
250 (of 256) active plugin limit for Skyrim LE
- Active esp and esm Plugins count against that limit
-
Max Plugins: 250
- from my experience lower is better. A lower number also allows to add plugins later to the game at the end of the LO
-
Symptoms with >250 Plugins:
- game becomes unstable
- CTD randomly on game start (restarting directly after the first CTD will let you play anyways, gives a false sense of a stable game)
- CTD randomly while playing (can be confused with memory related CTD)
-
Solution:
- Merge Plugins
- Reduce installed Plugins
- Use a Wrye Bash to merge patch plugins
-
Details quoted from pStyl3:
-
Spoiler
-
-
508 active and deactivated installed plugin limit
- Active and deactivated plugins count against that limit, sum of all installed plugins
-
The upper limit might be lower,
- from my experience staying ~450 plugins works best
-
Symptoms with or with close to ~508 active and deactivated plugins:
- Skyrim fails to load any plugins on game start causing the vanilla Skyrim intro to play as if no mods are installed
-
Solution:
- delete deactivated esp (make a backup of them if they are needed later)
- uninstall mods that aren't needed anymore, instead of just deactivating the esp
- delete esp of already merged plugins (make a backup of them if they are needed later)
- Wrye Bash plugin ghosting
- MO plugin ghosting
-
Nitpick 60
- could it be so easy? Not tested.
-
Details quoted from Wrye Bash general readme:
-
Spoiler
-
-
65k string limit of vanilla Skyrim saves
- install Crash fixes to remove the limit
- after Crash fixes has removed the string limit the savegame format changes, use Fallrimtools to open and modify saves
-
Symptoms if the save goes over the 65k string limit:
- saves can't be loaded anymore
- CTD on loading a save
-
RAM, VRAM, Memory Block Size limitations of Skyrim
- read Conglomerate 01 guide to rise Skyrim available memory
-
Symptoms:
- no Memory Block modification: random crashes early ingame already, CTD about every ~10 - 15 minutes
- no additional memory allocation: crashes as soon as vanilla Skyrim goes over it's usable memory limit thru higher memory usage from installed mods
-
no additional VRAM memory allocation: crashes as soon as vanilla runs out of usable VRAM
- warning signs are textures that fail to load
-
FNIS animation limit
- FNIS, 10,000 animations for character 3rd person, and for each of Skyrims creatures.
- FNIS XXL, 32,000 animations for race.
-
Symptoms if getting close or over the FNIS limit (⚠️ depending on the type of installed animations):
-
close to limit or only a few animations over the limit:
- Endless loading screen on cell change
-
over the limit:
- Skyrim CTD on startup
-
close to limit or only a few animations over the limit:
-
Solutions:
-
Animation Limit Crash Fix (SrtCrashFix)
- The patch fixes the crash on game loading when you install too many animations with FNIS
-
Animation Loading Fix (Felisky384 )
-
useful to stabilize the process of loading a game with FNIS XXL installed
- I use it to prevent endless loading screens with FINS XXL while not going very far over the limit
-
useful to stabilize the process of loading a game with FNIS XXL installed
- ⚠️ don't use SrtCrashFix and Animation Loading Fix together, use only one. CTD if both are used!
-
Animation Limit Crash Fix (SrtCrashFix)
- More details:
-
FNIS Alternate Animation groups limit (128 AA)
- details found here: Too many Alternate Animation groups overall (> 128)
-
FNIS warning:
-
Too many Alternate Animation groups overall (> 128)
-
-
Fore's rant:
-
Not only does it (Cover Self animations) use a chunk, it use more than it actually needs:
"NOTE: CoverSelf has at least one AASet definition without any animation files provided"
Like DD, DD2 DD3, NAR. You have many mods that waste AA resources. Tell the authors, and make THEM work on THEIR problems.
-
-
Fore's explanation:
- "Too many Alternate Animation groups overall (> 128)". You have too many mods that use the FNIS Alternate Animations functionality. That is limited, and PCEA2 alone uses almost a third of the whole quota."
-
Fore's hint:
- To figure out which of your mods use AA you need to look into the FNIS log file (temporary_logs\GenerateFNIS_LogFile.txt). Look for lines starting with "AA files:" greater "0". The lines above that show the corresponding mod.
-
Reference Handle Limit - 1.048.576 active references cap
-
Details found here by u/aers:
- seems like it was tested for SE, but I fear LE isn't safe from it either
-
Read the original text of u/aers. I only try to get some bullet points out of it:
-
Persistent vs Temporary References:
-
temporary references: references which only get loaded within the grid surrounding the PC
-
temporary references are loaded on-demand from your files as needed. The majority of these temporary references will then unload when they're no longer needed by the game.
-
-
persistent references: references which always get loaded into memory all the time
- all persistent references are loaded into memory before main menu
-
-
Persistent vs Temporary References:
-
Reference Handle Limit:
-
Reference handles are how the rest of the engine looks up loaded reference objects. There's a cap of 1.048.576 active reference handles at any time.
- Symptoms if hitting the cap: game gets stuck loading or CTD
-
Reference handles are how the rest of the engine looks up loaded reference objects. There's a cap of 1.048.576 active reference handles at any time.
-
The Problem:
- The cap of cap of 1.048.576 active reference handles is a pretty high limit and something you probably shouldn't hit during gameplay: there's only a limited number of cells actually loaded, and the vast majority of references are temporary, not persistent.
-
Until you actually look at the load process and realize that temporary reference loading/unloading is exclusive only to masters and not regular plugins:
-
All temporary references from regular plugins are loaded into the game before the main menu.
- This includes if you overwrite a master's temporary reference in a plugin.
- Example: To give some numbers that put this in perspective, Forgotten Dungeons SSE has 136356 temporary references. Vigilant has 110770. These two plugins alone will put you 1/4th of the way towards the reference handle limit.
-
All temporary references from regular plugins are loaded into the game before the main menu.
- Another thing to keep in mind is that during the course of gameplay a lot of references are created unique to your save game, so you can get to the point where your load order + your save game will start to break even if it seems like your base load order is fine.
-
Possible solution:
- The 'easy' solution then if you're at the limit or very close and its making your game unstable is to either remove the heaviest offenders from your load order or turn them into masters via xEdit. Keep in mind that making a plugin a master means it now has to load at the top of your load order with the other masters, before any plugins, which is why this might not be an easy solution depending on what the plugin in question is.
- Some examples:
-
Spoiler
- Found 14652 temporary and 81 persistent (14733 total) loaded references in [10] RelightingSkyrim_SSE.esp.
- Found 43553 temporary and 4330 persistent (47883 total) loaded references in [14] 3DNPC.esp.
- Found 12208 temporary and 323 persistent (12531 total) loaded references in [9C] Lucien.esp.
- Found 18453 temporary and 1247 persistent (19700 total) loaded references in [A0] Coldhaven.esp.
- Found 13912 temporary and 2059 persistent (15971 total) loaded references in [C2] CollegeOfWinterholdImmersive.esp.
- Found 136356 temporary and 9691 persistent (146047 total) loaded references in [59] Forgotten DungeonsSSE.esp.
- Found 110770 temporary and 4487 persistent (115257 total) loaded references in [B4] Vigilant.esp.
- Found 79050 temporary and 4437 persistent (83487 total) loaded references in [77] HammetDungeons.esp.
- Found 67863 temporary and 137 persistent (68000 total) loaded references in [1D] EnhancedLightsandFX.esp.
- Found 54546 temporary and 4830 persistent (59376 total) loaded references in [B9] MHdunSky001.esp. (Immersive Dungeons)
- Found 42879 temporary and 3649 persistent (46528 total) loaded references in [24] 3DNPC.esp. (Interesting NPCs)
- Found 43813 temporary and 1704 persistent (45517 total) loaded references in [5F] AKSkyrimUnderground.esp.
- Found 40727 temporary and 2333 persistent (43060 total) loaded references in [6D] Dwarfsphere.esp. (Project AHO)
- Found 0 temporary and 39624 persistent (39624 total) loaded references in [00] Skyrim.esm.
- Found 33453 temporary and 1114 persistent (34567 total) loaded references in [8C] Darkend.esp.
-
Details found here by u/aers:
-
Overlay limit, Racemenu and Slavetats
- default is 3 overlay slots/body area
- not a real limit, just change settings in nioverride.ini:
-
Spoiler
For the lazy nioverride.ini with face overlays enabled and 20 overlay slots active: nioverride 20slots and face active.7z
What needs to be changed in nioverride.ini to get more overlay slots (color marks the spot):
[Debug] ; -1 to disable logging
; 0 - Fatal Error
; 1 - Error
; 2 - Warning
; 3 - Message
; 4 - Verbose Message
; 5 - Debug Message
iLogLevel=5 ; Default[5]
[General]
; Changes the way overrides are loaded,
; 0 - Dynamic (delays loading on the first game load of the session, then immediately loads for all subsequent game loads of the session)
; 1 - Always Immediate (will always load overrides immediately)
; 2 - Always Delayed (will always pass overrides to the task manager)
; Previous versions were always set to 2, but I experienced CTD when loading
; subsequent saves of the same game session (like dying and reloading)
iLoadMode=0 ; Default[0]; Parallizes computation of BodyMorphs on armor/bodies
bParallelMorphing=0 ; Default[0]; Enables automatic reapplication of transforms on model load
bEnableAutoTransforms=1 ; Default[1]; Determines scaling mode
; 0 - Multiplicative
; 1 - Averaged
; 2 - Additive
; 3 - Largest
iScaleMode=0; Determines combination mode for BodyMorph
; 0 - Additive
; 1 - Averaged
; 2 - Largest
iBodyMorphMode=0; Enables automatic transforms defined by 'SDTA' NiStringExtraData on shapes
; String Data: (Without semi-colon)
;[
; {"name":"NPC L Breast", "scale": 4.0, "pos":[0, 0, 0], "rot":[0, 0, 0]},
; {"name":"NPC R Breast", "scale": 4.0, "pos":[0, 0, 0], "rot":[0, 0, 0]}
;]
bEnableEquippableTransforms=1 ; Default[1]; Amount of memory to be used by BodyMorph TRI cache
; cache will temporarily exceed this limit to load a TRI
; then remove least recently used entries until the
; used memory is below this threshold
uBodyMorphMemoryLimit=256000000 ; Default[256000000]; Enables Body Randomization based on guided files
bEnableBodyGen=1 ; Default[1][Overlays]
; Applies to only the player, or all humanoid actors NOT RECOMMENDED changing this, you can add overlays to certain actors via script
bPlayerOnly=1 ; Default[1]; Determines whether face overlays are enabled
; disabling this disables the hook
; Note: face overlays are known to crash when decapitated
bEnableFaceOverlays=1 ; Default[0]; Determines whether to immediately apply shader changes
; when overlays are installed on an ArmorAddon
bImmediateArmor=1 ; Default[1]; Determines whether to immediately attach and apply shader changes
; when overlays are installed to the face
bImmediateFace=0 ; Default[0][Overlays/Body] ; "Body [Ovl#]" and "Body [SOvl#]"
; Determines how many body overlays there should be
iNumOverlays=20 ; Default[6]
iSpellOverlays=0 ; Default[0]
[Overlays/Hands] ; "Hands [Ovl#]" and "Hands [SOvl#]"
; Determines how many hand overlays there should be
iNumOverlays=20 ; Default[3]
iSpellOverlays=0 ; Default[0]
[Overlays/Feet] ; "Feet [Ovl#]" and "Feet [SOvl#]"
; Determines how many feet overlays there should be
iNumOverlays=20 ; Default[3]
iSpellOverlays=0 ; Default[0]
[Overlays/Face] ; "Face [Ovl#]" and "Face [SOvl#]"
; Determines how many face overlays there should be
iNumOverlays=20 ; Default[3]
iSpellOverlays=0 ; Default[0]
[Overlays/Data]
; Assigns these alpha properties to all overlays when they are applied
; 4844, 128 is recommended for solid overlays (they will render correctly underwater)
; Changing the overlay's alpha value ingame acts like 4845 regardless of assigned flags
iAlphaFlags=4845 ; Default[4845]
iAlphaThreshold=0 ; Default[0]
sDefaultTexture=textures\actors\character\overlays\default.dds
-
128 MCM limit (per page)
- Symptom: all MCM over 128 won't show ingame
- that's at least what vanilla said, until:
Edited by donttouchmethere
13 Comments
Recommended Comments