参数名称 | 默认值 | CK官网说明 | 译文 | 补充说明 |
fUpdateBudgetMS | 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. | 此设置控制主要PAPYRUS更新循环时间。这个循环主要控制功能的调度。如果有很多的函数调用和脚本运行,增加这个值可能会提高脚本性能,代价是游戏帧率降低。然而,大多数的时间VM将不会调用整个时间段,增加这个值,将不会有任何影响。 | Debug循环时间,只对存在于整个循环的部分代码段生效!建议增大。 |
fExtraTaskletBudgetMD | 1.2 | 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. | 此设置"脚本控制子任务"(这里指脚本源码的编译运行进程)调取另一个游戏线程所花费的时间。此时间优先于所有脚本获得线程的时间。但由于所用线程被共享,所以当其他部分系统资源吃紧时,这些脚本可能会被终止。如果游戏不吃资源,这段时间则不会被调用。增加此数值可以提高系统在资源极度吃紧情况下脚本运行的表现,但代价是游戏帧率会降低。 | 指上图中的最终编译线程调用游戏其它线程。建议增大提高脚本的编译容错率。以少量帧数来换取游戏稳定是值得的! |
fPostLoadUpdateTimeMS | 500.0 (on PC), 2000.0 (on Xenon and PS3) | 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), 2000.0 (on Xenon and PS3) | 这项设置控制在进入载入画面时所要额外增加的时间,用以帮助处理额外的脚本,尤其是正在加载的单元需要独立建立此脚本的时候。这项时间的调整将会影响可视载入画面的总时间。如果一个单元内的脚本过于复杂,以致当玩家载入时不能及时建立,那么这项设置最好进行调整。这项内容的变化还同时取决于游戏事件控制器,因为如果玩家在刚好开启一道载入门时开启任务,那么该任务在载入画面结束之后才可能开始,而且在载入画面完全结束前,这些任务不会在后台展开。所以如果该任务的初始阶段有大量脚本要运行,那么载入画面在结束前会需要一些更多的时间来做处理。
默认值:500.0(电脑),2000.0(XBOX和PS3) | 建议增大,这样在游戏中进入一个含有大量的脚本代码的房间和地牢时,能足够的时间进行编译!减少因为编译未完成就进行游戏而导致的跳出! |
iMinMemoryPageSize | 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). | 这是VM分配到单一分页文件的最小内存量,单位是bytes.这是设置最小内存量。在小型栈区的时候,"较小的值会浪费更少的内存,但较大的值将减少拥有许多小页面的栈区的分配数量(从而提高性能)。 | 单一栈区的最小内存用量,这里默认是128b,建议适当增大。以适合进行大量计算的脚本代码的变量存储! |
iMaxMemoryPageSize | 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. | 这是VM分配到单一分页文件的最大内存量,单位是字节。较小的值,可能会迫使VM分配更多的页面给大的分页文件,较大的值可能会导致内存分配器分配不同的,低效的页面给较大的分页文件。 | 这个值进行合适的设置,并不是越高越好,过大的值会起到反效果!原因在官方说明中已经进行解释。单一栈区的最大内存用量。 |
iMaxAllocatedMemoryBytes | 76800(76kb) | 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. | 这是VM分配的总的分页文件的最大的内存量。如果一个已分配的页面将促使内存使用量超过此限制,VM将等待更多的内存被释放。增加该值可以提高运行很多脚本的高压力的情况下的性能,但是会使用更多的内存。值得注意的是,由于加载游戏存档时的分配顺序略有不同,可能会暂时替代这个值。 | 所有脚本编译时栈区的最大内存用量总和!建议增大,以减少在高压力下,因为等待内存释放而需要的时间! |
bEnableLogging | 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.
Default: 0
| 此设置打开或者关闭游戏日志。如果关闭,将不会有日志记录,而且它的值将影响到bEnableTrace的设置。但是游戏中的日记记录功能还是会继续运行,只是不会记录到硬盘。关闭这个功能将提高游戏性能,由于磁盘活动减少。
默认值:0 | 游戏日志文件LOG的开关。 |
bEnableTrace | 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. | 此设置打开和关闭脚本跟踪命令。系统错误和警告消息仍然会被记录到磁盘上。如果bEnableLogging是关闭的,这个设置将被忽略,因为反正什么都不会被写入到磁盘。在游戏运行中,如果这个设置是关闭的,跟踪记录在游戏日志中是无法显示。关闭这个选项可能会提高性能,因为磁盘活动减少。 | 日志文件中是否使用脚本在编译和运行的实时跟踪。Trace是程序员常用的调试手段。使用此命令的前提是bEnableLogging必须为1。 |
bLoadDebugInformation | 0 | This setting enables or disables the loading of additional debug information - 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. | 此设置启用或禁用加载额外的调试信息 - 基本上是行号信息。如果此设置为关闭,错误消息无法产生行号数据。开启这一功能将允许在错误信息中使用行号信息,代价是增加内存用量。 | 是否在日志的错误信息中记录出错的脚本代码的行号。使用此设置会加大内存负担,但是便于在日志文件中找到出错的脚本代码! |
bEnableProfiling | 0 | This setting enables or disables the script profiler. 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. | 此设置为启用或禁用脚本分析器。如果关闭,脚本分析命令将不可用。启用此设置将允许分析信息的被收集和记录。如果启用此设置,脚本的性能会略有降低。 | 启用脚本分析 |
uTraceStatusOfQuest | 0 | This setting sets a quest to track for script changes by form ID (converted to decimal). 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 like starting, stopping, setting a stage, or showing an objective. | 设置一个任务来跟踪哪个FORMID(转换为十进制)产生脚本变化。这设置中指出的任务会分出一个Papyrus stack去记录下每次Pupyrus脚本试图改变的某些东西时的变化,如启动,停止,设置一个场景,或显示一个目标。 开发人员使用较多。 | 一般人基本不会使用到这个,这里不详述。 |