I am going to list all of the .ini tweaks that I use in my game, with credits and links to the original posts/sites that i found them. Like so many other people, I spend more time modding and fine-tuning my game than actually playing it. What follows is a list of helpful tweaks, sorted by effect.
You can find your Skyrim.ini and SkyrimPrefs.ini in your Documents/My Games/Skyrim Folder. As a rule of thumb, its a great idea to back up these two ini files before editing them, so you can revert back if you cause any errors.
Also, if you change any options through the Skyrim Launcher after manually editing your ini files, your changes may be overwritten.
Performance:
Multi-Core CPUs - These tweaks increase the power of a multi-core rig by multi-threading processes
In Skyrim.ini Add/Edit:
[BackgroundLoad]
bBackgroundLoadLipFiles=1
bLoadBackgroundFaceGen=1
bUseMultiThreadedFaceGen=1
bBackgroundCellLoads=1
bLoadHelmetsInBackground=1
bUseMultiThreadedTrees=1
bUseBackgroundFileLoader=1
[Animation]
bMultiThreadBoneUpdate=1
[HAVOK]
iNumThreads=XX
[General]
bUseThreadedTempEffects=1
bUseThreadedParticleSystem=1
bMultiThreadMovement=1
bUseThreadedMorpher=1
[Decals]
bDecalMultithreaded=1
In SkyrimPrefs.ini Add/Edit:
[Navmesh]
bUseThreadedMeshes=1
[Trees]
bUseMultiThreadedTrees=1
bShadowMaskZPrePass=1
[BackgroundLoad]
bBackgroundLoadLipFiles=1
bLoadBackgroundFaceGen=1
bUseMultiThreadedFaceGen=1
bBackgroundCellLoads=1
bLoadHelmetsInBackground=1
bUseMultiThreadedTrees=1
[General]
bUseThreadedParticleSystem=1
bUseThreadedBlood=1
bUseThreadedMorpher=1
bUseThreadedTempEffects=1
bUseThreadedTextures=1
bUseThreadedMeshes=1
bUseThreadedLOD=1
bUseThreadedAI=1
bUseThreadedMorpher=1
[Decals]
bDecalMultithreaded=1
For "iNumThreads" ( the XX value above) set this to the number of CPU cores your PC has. If you have 4 or more leave this as 5 (maximum).
(source: Skyrim Tweak Guide 2.2)
Decreasing Script Lag - The scripting language used in Skyrim, Papyrus, is not the speediest of languages. Script queues can become lagged, and even halted, in a game using script-heavy mods. Using this tweak in my game even seemed to fix the lip synch problem that reared its ugly head again in the 1.9 update for Skyrim.
In Skyrim.ini add/edit:
[Papyrus]
fUpdateBudgetMS=800
fExtraTaskletBudgetMS=800
fPostLoadUpdateTimeMS=2000
iMinMemoryPageSize=256
iMaxMemoryPageSize=512
iMaxAllocatedMemoryBytes=2457600
(Source: Skyrim Script Lag)
Gameplay:
Better Aiming - These tweaks will help improve aim and range with bows and crossbows.
Add/edit in Skyrim.ini:
[Combat]
fMagnetismStrafeHeadingMult=0.0
fMagnetismLookingMult=0.0
f1PArrowTiltUpAngle=0.7
f3PArrowTiltUpAngle=0.7
f1PBoltTiltUpAngle=0.7
f3PBoltTiltUpAngle=0.7
[Actor]
fVisibleNavmeshMoveDist=12288.0000
(Source: Skyrim Archery Tweak)
Visuals:
Whether you have an Nvidia or ATI/AMD video card, the best resource for tweaking Skyrim's visuals is here. I couldn't improve on the content, or splice together a better guide from different sources. You will probably spend a lot of time fine-tuning these settings to balance performance and quality.
105 comments
strangely enough, after i7/R9 390 upgrade this is running extremely well with all these added multi-thread lines.
i had this in my favourites and just revisited it now
i have a good load order but an awful time loading the saves and getting into the damn game after the latest win10 upgrade, then the win10 1511 mega update (no compatibility modes would fix it)
AND THEN i added all these lines in desperation and weird enough my 1st main save loaded fine straight away..HUH? lol
thanks for posting these references
it was bad saves not the ini's
however my CPU threads (i7 HT off) are firing like never before with these ini add-ins
complete stability, but i recommend to people to add ALL of them - NOT partial as all is the best result.
that does not make sense, 4 of course
EDIT:
[HAVOK]
iNumThreads=XX
should be 4 maximum, i don't agree with 5-8, even with an i7 etc
issues with loading saves.
Stable @ values of 2 or 4. (or delete it to use default)
Overall having 4 threads doesn't necessarily mean that all 4 are utilized 100% all the time. CPU on the other hand at maximum load times could and should be used for all it's worth. Usually adding one extra thread is a good way to streamline the use of resources - e.g. even when 1 thread is idling to wait for other resources (f.ex. disk activity), another can be given for CPU to process.
There's other factors to account for, but in practice the best way is to test how many threads work for you. If you use CPU with hyperthreading on, then I'd start with number of threads equal to 'virtual cores' of the system (often 8). With no hyperthreading, I'd start with cores + 1, then try adding a couple more and see how it changes performance over a few hours of playing.
Anyway if Skyrim's HAVOK supports 5 threads at most, then that should be a good value for most modern rigs. What I wrote above is more generic for any multi-threaded application.
cpu's released after Sandybridge definitively have better features, my aging 2600 just may not be able to do so.
but i'm happy at my current setting, Skyrim is running better than ever.
and while i'm here FO4 is running very smooth with similar tweaks
http://pastebin.com/3eJJWWXc
Also, I suspect "If you have 4 or more leave this as 5 (maximum)." was a typo and should read "If you have 4 or more leave this as 4 (maximum)." as there's little point to having 5 threads on a 4 thread CPU and I've read one claim that 5 still causes instability.
https://www.reddit.com/r/skyrimmods/comments/2gwvwl/guide_papyrus_ini_settings_and_why_you_shouldnt/ckosfmo/
https://www.reddit.com/r/skyrimmods/comments/2gwvwl/guide_papyrus_ini_settings_and_why_you_shouldnt/
The papyrus section is a complete mess. In particular "fUpdateBudgetMS" and "fExtraTaskletBudgetMS" should be left at "1.2" unless you know they need to be raised, and even then they shouldn't go much above "2.2". 800 is an absurd value that could result in random lag spikes or freezes that appear out of nowhere. You're literally allowing a single frame to take 800ms to run scripts, potentially resulting in a frame rate dip below 2 fps in a worst case scenario. The Reddit post above explains how those two settings work a lot better if you want to know the exact details.
Edit:
For "iNumThreads" do NOT go above 4. I set mine to 6 and all sorts of crazy corruption and wonkiness started happening with my game. Everything from disappearing textures to corrupted autosaves. One person also claimed that a value of 5 did the same thing to them. I suspect "If you have 4 or more leave this as 5 (maximum)." was a typo and should read "If you have 4 or more leave this as 4 (maximum)."
Some of the settings appear to be invalid.
BethINI removes the following entries from SkyrimPrefs.ini:
[General]
bUseThreadedAI was removed due to it being an invalid setting (not recognized by the game).
bUseThreadedBlood was removed due to it being an invalid setting (not recognized by the game).
bUseThreadedLOD was removed due to it being an invalid setting (not recognized by the game).
bUseThreadedMeshes was removed due to it being an invalid setting (not recognized by the game).
bUseThreadedTextures was removed due to it being an invalid setting (not recognized by the game).
[Navmesh]
bUseThreadedMeshes was removed due to it being an invalid setting (not recognized by the game).
[Trees]
bShadowMaskZPrePass was removed due to it being an invalid setting (not recognized by the game).
bUseMultiThreadedTrees was removed due to it being an invalid setting (not recognized by the game).
fVisibleNavmeshMoveDist=12288.0000
seems to be a litte low for a capable rig. it means you cannot do do a long distance hunt exceeding this given range.
i'm using 16384. seems to be a good compromise
Modded, cities and other object-heavy locations are the worst for me, always stuck in the 40s fps with items/objects at medium draw range, 50s fps with items/objects at lowest draw range. 10~20 fps loss just out of API limitations...
[Papyrus]
fUpdateBudgetMS=1.25
fExtraTaskletBudgetMS=1.25
fPostLoadUpdateTimeMS=2000.0
iMinMemoryPageSize=128
iMaxMemoryPageSize=512
iMaxAllocatedMemoryBytes=15000000
bEnableLogging=0
bEnableTrace=0
bLoadDebugInformation=0
bEnableProfiling=0
MS = Millaseconds, 1000ms = 1 second.
fUpdateBudgetMS= and fExtraTaskletBudgetMS= For every processess you have trying to happen, Their setting of 800ms per process WILL generate lag and LOW frame rates if your papyrus hangs up. For me, if the process can not be completed in 1.25 milliseconds it gets passed on to keep frame rates at 40+ with a very large papyrus file.
fPostLoadUpdateTimeMS= Is loading screens, where it will take up to 2 seconds (limited by papyrus it's self) to complete any and all tasks it could not complete before, this will also extend loading times as things are cleared up as you transfer cells.
min and max memory page file sizes, are just that, memory cache chunks, too small or too large, depending on your system will cause issues, and should not be modified except in cache size portions, 64, 128, 256, 512, 1024. Also if you are running a 32 bit machine, 64 for the first and 256 for the second are recommended.
iMaxAllocatedMemoryBytes= Is really dependent on how many script heavy mods you are running. (Las count, I have well over 8,000 scripts in my loose script folder, not counting the scripts in my .bsa files.)
The others I list are only set to 1, to try to find errors and generate logs, which the papyrus has to amend to and save for every line, and should remain off unless otherwise specified by a mod author.
edit -- my bad, didn't see that one section was for SkyrimPrefs.ini
Edit: Nevermind, I'm just stupid