Difference between revisions of "Category:Fallout4.ini"

From the Fallout4 CreationKit Wiki
Jump to navigation Jump to search
imported>Qazaaq
imported>Qazaaq
Line 1: Line 1:
The following [[Initialization File]] settings are for the game only.
The following [[Initialization File]] settings are for the game only.


= [General] =
= [Papyrus] =
The <Code>[General]</Code> section settings.
The <Code>[Papyrus]</Code> section settings.
<BR>
<BR>
{{Game:INI:Papyrus:bEnableLogging}}<BR>
{{Game:INI:Papyrus:bEnableLogging}}<BR>

Revision as of 07:53, 28 August 2019

The following Initialization File settings are for the game only.

[Papyrus]

The [Papyrus] section settings.

bEnableLogging

  • Default: 0

This setting turns logging on and off. If off, no logging will occur, even traces, and so it will override the bEnableTrace value. The in-game log display will still work, but nothing will be written to disk. Turning this off may improve performance due to less disk activity.

bEnableProfiling

  • Default: 0

This setting enables or disables the Papyrus Profile Analyzer. If off, none of the script profiling commands will be available. Turn this setting on to allow profiling information to be collected and logged. If on, script performance will degrade slightly.

bEnableTrace

  • Default: 0

This setting turns on and off the script trace commands. System error and warning messages will still be logged to disk. If bEnableLogging is false, this setting is ignored as nothing will be written to disk anyway. Trace commands will NOT be visible in the in-game log display if this setting is off. Turning this off may improve performance due to less disk activity.

bLoadDebugInformation

  • Default: 0

This setting enables or disables the loading of additional debug information which is essentially line number information. If this setting is off, error messages cannot generate line number data. Turning this on will allow line numbers to be available in error traces at the cost of increased memory usage.

This is used by the game to report Papyrus Runtime Errors via Stack Traces.

fExtraTaskletBudgetMD

  • Default: 1.2

This setting controls how much time taken out of another game thread is taken up by running script tasklets. This is 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.

fPostLoadUpdateTimeMS

  • Default: 500.0

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.

fUpdateBudgetMS

  • Default: 1.2

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.

iMaxAllocatedMemoryBytes

  • Default: 153600 (150kb)

This is the maximum amount of memory the VM will allocate in total for stack frames. If an allocation would push memory usage over this limit, the VM will instead wait for more memory to be freed. Increasing this value may improve performance in high-stress situations with lots of scripts running, but will use more memory. Note that it is possible to exceed this value temporarily while loading a save game due to slightly different allocation ordering.

iMaxMemoryPageSize

  • Default: 512

This is the largest amount of memory the VM will allocate for a single stack page, in bytes. Smaller values may force the VM to allocate more pages for large stack frames. Larger values may cause the memory allocator to allocate differently, decreasing performance for large stack frames.

iMaxStackDepth

  • Default: 100

This is the maximum stack depth the VM will allow before forcibly killing function calls on that stack. This mainly helps with killing any potential infinite recursion. If you find yourself hitting this, consider using loops over recursion. Increasing this value may increase stack memory pressure, while decreasing this may forcibly kill valid scripts.

iMinMemoryPageSize

  • Default: 128

This is the smallest amount of memory the VM will allocate for a single stack page, in bytes. Smaller values will waste less memory on small stacks, but larger values will reduce the number of allocations for stacks with many small frames, which improves performance.

sDefaultLogOverlay

  • Default: Papyrus

This setting tells the game which log to show by default in the Papyrus log overlays. By default this is the global "Papyrus" log, but the name of any user log will also work.

Examples

; Tells the game to default to the workshop user log.
sDefaultLogOverlay=Workshop


sTraceStatusOfQuest

  • Default: Empty

This setting sets a Quest to track for script changes by form ID. The quest that this setting specifies will spit out a Papyrus stack trace to the log every time a Papyrus script tries to change something with it. For example, starting, stopping, setting a stage, or showing an objective.

This setting accepts a form ID (as visible in the editor, optionally prefixed with a 0x), an editor ID, or a plugin (with extension) followed by a comma and a form ID. Because of the way string ini settings work, do not have any comments on the same line as they will be treated as part of the value.

Examples

; Tracks the quest with a form ID of 000105FA
sTraceStatusOfQuest = 000105FA

; Tracks the quest with an editor ID of MQ101
sTraceStatusOfQuest = MQ101

; Tracks the quest with a form ID of 0100FB14 (ignoring the load index of 01) in the "CoolDLC" plugin.
sTraceStatusOfQuest = CoolDLC.esm, 0100FB14