Vanilla Scripts Optimized
Optimizes a large portion of the vanilla scripts. Replacing slow functions with faster versions for a possible fps gain. Papyrus (Bethesda’s script language) is a shared system, so one slow script causes a snowball effect slowing down more scripts. This is similar to Vanilla Script (micro)Optimizations by subhuman0100 for Skyrim SE, but not as in depth yet as we just got access to script compilation recently and new undocumented features need to be skipped for now.
You can think of it papyrus like a queue. When a script gets to the front of a queue that’s using a slow function and has to ask another script for information, it gets out of the queue to ask for the info and then goes to the back of the queue. This mod cuts down on how often they have to get back into queue by having them have the correct info when they get to the front, making queues shorter.
How much performance gain this mod adds will vary on many different things. Where you are, what/how many quests are running, what quests you’ve done, your PC, other mods, etc.
I personally gain about 3 fps in large cities but up to 5-10 in some areas. You could gain none or more.
If you’re using any mods that replace vanilla scripts, make sure this mod doesn’t overwrite them.
If you’re using mod organizer 2 just put it lower on the priority and you’ll be set.
This mod will be in beta for quite a while. There are more functions that will take time to speed up and there are a lot of scripts that were skipped because they use a new feature that we aren’t certain how it works. There’s also lots of scripts that will be even more optimized when more esp support comes.
Functions that have been fixed:
GetRef() There were over 4.5k GetRefs
GetActorRef()
GetValueInt() (not actor values yet)
Unlock(False and true)
IsEnabled()
GetCredits()
GetPlayerLevel()