Jump to content

CTD and [Papyrus] tweaks


Lumaan

Recommended Posts

Convenient Horses has a script latency meter that might help you with testing if you're interested. But I have to agree with some others here. I've tried a lot of different papyrus settings and I've never seen any noticeable impact one way or another.

Not to mention crashing SkyUI in certain instances thus causing the game to crash.  When it comes to ini tweaks less is more.  That also applies to scripts, especially those of the cloaking or constant variety IMHO.  No amount of tweaking will allow you to run more scripts than you can run, either remove some strain from the system in general or remove some scripted mods (And start a new save of course) It will save you hours of frustration.

 

Another reason for skepticism, at least for me is the forum post where the tweaks are derived from is secondhand information which to poster hand altered by quote "doubling all the values". Not to mention the age and mixed reviews on the forum itself.

Link to comment
Share on other sites

  • 1 month later...

Maybe we shuld ask someone like behippo, ShadeMe or Jrush for a benchmark script. Something that stress tests various functions while doublechecking for integrity and script latency.

 

Somehwat related are suggestions to enable multi threading posted here:

https://itcprosolutions.com/skyrimguides/tweak_guide.htm

Those could be tested as well. Most items should be spawnable with a benchmark script (so you can directly test stability and performance gain) and we could see if there's a difference in benchmarking with many cell transitions while papyrus is under heavy load.

Link to comment
Share on other sites

  • 4 months later...

Papyrus tweaks have always interested me but have left me largely dissatisfied. I ran across a STEP Wiki entry suggesting Lumaan's Papyrus Tweak:

QuoteQuoteQuoteQuoteQuote

Papyrus]

fUpdateBudgetMS=1.6

fExtraTaskletBudgetMS=1.6

fPostLoadUpdateTimeMS=1000.0

bEnableLogging=0

bEnableTrace=0

bLoadDebugInformation=0

iMaxMemoryPageSize=8192

iMinMemoryPageSize=256

iMaxAllocatedMemoryBytes=8388608

 

The only settings that seem worthwhile to adjust, in a heavily modded Skyrim are these:

 

fPostLoadUpdateTimeMS

fUpdateBudgetMS

fExtraTaskletBudgetMS

 

QuoteQuoteQuoteQuoteQuote

 

fUpdateBudgetMS

This setting controls how much time the main Papyrus update loop gets. This loop mainly controls function dispatch. If a lot of function calls are being made and a lot of scripts are running, increasing this value may improve script performance at the cost of reduced game framerate. However most of the time the VM won't take this entire time slice and increasing the value will have no effect.

Default: 1.2

 

fExtraTaskletBudgetMS

This setting controls how much time taken out of another game thread is taken up by running script tasklets (the code that runs the raw script byte code). This time is on top of the time that the tasklets normally get in their own thread, but because that thread is shared they may end up being starved if other systems are highly stressed. If the game is not stressed, this time will not be used. Increasing this value may improve script performance in high-stress situations at the expense of framerate.

Default: 1.2

 

fPostLoadUpdateTimeMS

This setting controls how much time is added onto the load screen to do additional script processing in case the cell being loaded into needs to set itself up. Adjusting the time will adjust your visible load screen time. Adjust this setting if a cell with very complicated scripting is not getting quite set up in time by the time the player loads. This also may depend on the story manager since quests may not start until the load screen finishes if they are started up right before the player hits a load door. If the quest initial stage has a lot of scripting then it may need the extra time to run before the load screen is pulled down.

Default: 500.0 (on PC)

 

-Creation Kit

 

I think these three entries help alleviate issues of loading into/or transitioning into cells that have a lot of scripts firing off which can quickly swamp the default parameters set for Papyrus.

 

The other settings for Papyrus seem to be rather too obscure to edit in any informed manner...other than just experimenting. Also, the other entries are far less universally applicable to individual installations.

 

It is really hard to nail anything down regarding Papyrus Tweaks. I do support a "less is more" approach, but a heavily modified Skyrim could not have been part of the expected load for the default settings at least when it comes to additional scripted event handling.

 

UPDATE:

 

On further consideration and play time...I think messing with budgets is counter to good performance.

 

It's better to just up the load update parameter so scripted settings can be properly prepared. (How often have you loaded into a cell to have an NPC having a conversation with another NPC who isn't present on the scene?) This indicates that essentially the cell loaded before the actors were set inp lace by the Papyrus handling.

 

 

Edited by Kuldebar
Link to comment
Share on other sites

The Skyrim Stability Guide on Nexus has some insight on Papyrus settings with links to dev posts. It might be interesting for you.

 

https://www.nexusmods.com/skyrim/mods/50244/?

I literally just read that information an hour ago, based on that and the dev post linked from there, I tweaked my settings:

 

[Papyrus]

fUpdateBudgetMS=1.4 <---slight increase, hedging my bets to make allowance for NPC additions/SPERG/iNeeds/Real Clouds, etc

fExtraTaskletBudgetMS=1.4 <---slight increase, same as above

fPostLoadUpdateTimeMS=1000.0 <--- I can afford a slightly longer load screen if it will ensure that the Alik'r actually talks to a Whiterun Guard versus thin air and Fralia Gray-Mane has two Battle-Borns to contend with versus one or none.

Non-vanilla papyrus settings are evil, this is known Khaleesi.

If you don't run a vanilla game, why run a vanilla papyrus? Even the Bethesda Dev gives a nod to measured tweaking:

 

The (fUpdateBudgetMS, fExtraTaskletBudgetMS) default of 1.2 should be fine for most people, even with modded setups.If you do increase it, keep it to small values or don't be surprised if yourgame framerate drops or hitches during periods of high script activity. (And ifit's a combat mod, that would be during combat!)The last CPU-related setting (fPostLoadUpdateTimeMS) will not affect your framerate, but will affect your load times. Unlike the other settings, Papyrus will use the entire time even if it has nothing to do. Increasing this will only help make sure cells and such are set up if there is a load screen. For example, the civil war can stress this because it has to set up a ton of things in the cities for the war when you enter through their load doors.

 

Link to comment
Share on other sites

It is known!

 

but seriously, be careful if you use Epic Gameplay/Civil War Overhaul, from what I gather from Apollodown's posts this can cause issues.

No offense to Apollodown...but I never was enticed to download his stuff...it just seemed too risky...his humorous mod descriptions aside. Having 185 esm/esp's in my Skyrim, I have to be very careful.

Link to comment
Share on other sites

If it weren't for the merge script, I'd have 100 more than you. As for Epic Gameplay Overhaul, the civil war piece seems prone to trouble (which he is working on) but dragons work well for me (as far as I've seen, not having levelled past 30-ish), and the important info overhaul is a visual version of exhaustion's audio queues. I'm not sure about the camera tweaks in CDO. Anyway, I believe you can install the various modules separately if you want to avoid CWO's issues, just read the directions (obviously).

Link to comment
Share on other sites

  • 3 months later...
  • 1 month later...

As far as I can tell, increasing fUpdateBudgetMS and fExtraTaskletBudgetMS may have diminishing gains, but never hurts. 1.6 may be a little better than 1.2, 2.0 is slightly better than 1.6, 200.0 isn't any better or worse than 2.0. I've never seen it reduce framerates, possibly because it has a hardcoded cap too low to make a significant difference.

 

Since I just got Performance Monitor running, I put it to the test. My budgets were at 800 because I set them to test earlier and hadn't noticed they were still there. So just to be absurd I increased them to 8000, launched, verified in the console they were indeed 8000, and played through ~1.3k data samples, and compared to an earlier. I had higher maximum RAM/VRAM usage in this, lower maximum CPU/GPU, but they were close in averages. But I was also doing different things in each test, the first was sneaking and fighting through dwemer/falmer ruins, the second was strolling and chatting through highly populated cities. This didn't get a record of FPS, but subjectively I couldn't say there was a difference.

 

fPostLoadUpdateTimeMS adds seconds to your load times, but would you notice the seconds of difference? If you often enter to script initialization clusterfks, seems like it would be worth a few seconds wait, but I couldn't tell whether it ever prevents ILS.

Link to comment
Share on other sites

  • 7 months later...

iMaxAllocatedMemoryBytes shouldn't be touched, correct? The reason is because I was tempted to follow this guide: https://www.rcrncommunity.com/five-quick-skyrim-tweaks-you-may-not-know

 

Now that I know, I'll just walk away from it ::(:

 

I tried out Kuldebar's tweaks, but no way, I pulled them out. Loading times were faster and I'm not sure if that's a good thing. What bothered me was that the top of my screen was tearing so bad as I moved around and made turns. Back to the drawing board.

Edited by FuzzRocket9
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

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

Important Information

By using this site, you agree to our Guidelines, Privacy Policy, and Terms of Use.