the Sim Settlements forums!

Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

Question Further increasing Papyrus script overhead?

Excessive Paranoia

Active Member
Messages
106
So I've been curious since we've been adding even more scripts with CQ + RotC if its possible / advisable to further increase the memory allocation for scripts from the performance page of the wiki. Is there some sort of hard cap that says we shouldn't go above those recommended settings, or are those just a basic suggestion?
 
Yeah, papyrus never signed up for this.

I've got:

Code:
[Papyrus]
fPostLoadUpdateTimeMS=2000.0
iMinMemoryPageSize=128
iMaxMemoryPageSize=1024
iMaxAllocatedMemoryBytes=409600

in my Fallout4Custom.ini. A while back I discovered papyrus was dumping stacks with this tool.
Increasing iMaxAllocatedMemoryBytes to twice it's default value helped prevent that. The other entries and the higher iMaxAllocatedMemoryBytes value seem to help further.

Upping fUpdateBudgetMS and fExtraTaskletBudgetMS seems to make things worse for me wrt framerate and lag.
 
Yeah, papyrus never signed up for this.

I've got:

Code:
[Papyrus]
fPostLoadUpdateTimeMS=2000.0
iMinMemoryPageSize=128
iMaxMemoryPageSize=1024
iMaxAllocatedMemoryBytes=409600

in my Fallout4Custom.ini. A while back I discovered papyrus was dumping stacks with this tool.
Increasing iMaxAllocatedMemoryBytes to twice it's default value helped prevent that. The other entries and the higher iMaxAllocatedMemoryBytes value seem to help further.

Upping fUpdateBudgetMS and fExtraTaskletBudgetMS seems to make things worse for me wrt framerate and lag.

In the absence of a reply yesterday, I opted to try testing it for myself. Currently testing these numbers which are just a further doubling of the increased values from the wiki:

Code:
[Papyrus]
fUpdateBudgetMS=4.8
fExtraTaskletBudgetMS=4.8
iMinMemoryPageSize=512
iMaxMemoryPageSize=2048
iMaxAllocatedMemoryBytes=614200

I'll have to have a look at that tool to see if its able to show the source of some issues I've been having getting a playthrough started with Conqueror where its randomly failing to properly load the list of settlements during intialization.
 
Oh whoa that's way over the top I'd say. You'll get some odd behavior no doubt. Some good reading here.

Actually, based on what I just read there, your increasing of fPostLoadUpdateTimeMS would have zero effect in most game situations as it only adds padding time to allow scripts to finish loading on scene change (i.e. when you see a loading screen). Likely this would reduce the incidence of CTD's on a fast travel when going back to the "triangle of death", but I don't think it would help overall script performance.

The important values for what SS / RotC / CQ is probably most concerned with are fUpdateBudgetMS which gives each script more time to complete, iMaxAllocatedMemoryBytes which would allow more memory for scripts to work with before going into a "wait for more" mode, and possibly iMaxStackDepth which would allow for larger stacks before forcibly killing it. iMinMemoryPageSize and iMaxMemoryPageSize seem to be specifically related to memory vs performance, though from what it looks like, larger might still be better in a script heavy environment.
 
A higher fPostLoadUpdateTimeMS just seems to help things "settle" when loading a save in a built-up settlement.

Upping the fUpdateBudgetMS and fExtraTaskletBudgetMS is bad according to my google research. Too high a value upsets the budget, apparently. On my low-end PC, higher values result in stutter. Too high a value for iMaxStackDepth also produces stuttering.

iMaxAllocatedMemoryBytes at ‭307200‬ is the minimum for me. Lower than that results in stack dumps. I've only just started changing values on the page sizes recently.
 
A higher fPostLoadUpdateTimeMS just seems to help things "settle" when loading a save in a built-up settlement.

Upping the fUpdateBudgetMS and fExtraTaskletBudgetMS is bad according to my google research. Too high a value upsets the budget, apparently. On my low-end PC, higher values result in stutter. Too high a value for iMaxStackDepth also produces stuttering.

iMaxAllocatedMemoryBytes at ‭307200‬ is the minimum for me. Lower than that results in stack dumps. I've only just started changing values on the page sizes recently.

If we're to believe Google, we should literally never touch those settings at all because 99% of the possible changes are wrong. Based on that, maybe we shouldn't even have it posted in the wiki?

EDIT: I just checked with the log analyzer and stock settings. I'm not getting any stack dumps at all, at least not in the pre-war scene.
 
Last edited:
Top