3DMGAME 3DM首页 新闻中心 前瞻 | 评测 游戏库 热门 | 最新 攻略中心 攻略 | 秘籍 下载中心 游戏 | 汉化 购买正版 论坛

注册 登录

QQ登录

只需一步,快速开始

查看: 187019|回复: 190
打印 上一主题 下一主题

[分享] Papyrus的INI设置介绍——调整这些数值可能对游戏有帮助

  [复制链接]

173

主题

3993

帖子

7062

积分

游戏精英

Rank: 8Rank: 8

贡献度
923
金元
33598
积分
7062
精华
1
注册时间
2009-6-1
跳转到指定楼层
主题
发表于 2013-5-4 21:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 ldfxf 于 2013-5-5 03:27 编辑

INI 设置 (Papyrus)

什么是Papyrus?Papyrus 是天际游戏制作时使用的脚本语言。它可以接收游戏内的事件,并能发送控制信息到游戏。它把任务整理到一起,然后根据玩家的行为变化引起了游戏内特定事件的发生,作出不同类型的反馈。它同时也能控制大量的玩家,NPC和物品的动画效果,以及制造多数复杂的诸如魔法引发的效果。有经验的使用者可以利用它制作对应的脚本从而完成优秀的MOD。

Papyrus 有许多可以控制的元素。这些设置都在Skyrim.ini文件的[Papyrus]区域,通过对这些设置的微调或许能帮助你提升游戏运行表现。

来自CreationKit的维基页面 http://www.creationkit.com
如果你使用SKSE,那么以下内容涉及到的设置请打开你的Skyrim.ini,在[Papyrus]区域可以找到。

目录 [hide]

默认
以下是默认设置。如果你把设置弄乱了你随时可以将以下内容复制回去来恢复默认设置(或者彻底删除以下字段):
[Papyrus]
fUpdateBudgetMS=1.2
fExtraTaskletBudgetMS=1.2
fPostLoadUpdateTimeMS=500.0 ;XBOX和PS3的是 2000.0
iMinMemoryPageSize=128
iMaxMemoryPageSize=512
iMaxAllocatedMemoryBytes=76800
bEnableLogging=0
bEnableTrace=0
bLoadDebugInformation=0
bEnableProfiling=0

单项设置
大部分设置都不需要改动。唯一可能需要设置的是bEnableLogging, bEnableTrace, bLoadDebugInformation, bEnableProfiling. 但所有内容都完整列在下面以备查阅。

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.
意思是Papyrus多久更新一次循环。如果你要调用很多函数或脚本的话,调高该数值可能有助于提升帧数表现。
默认: 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.
是指一个线程多久会重新为运行中的脚本做一次定位。注意这个设置,因为如果你让一个线程抢劫另一个线程的话也可能遇到问题。
默认: 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.
是指你希望对额外的预脚本处理分配多少附加的载入画面时间。就是说如果你有很多需要运行的脚本会增加加载时间,但在载入前会有更多的脚本可以被处理好。
默认值: 500.0 (PC), 2000.0 (XBOX和PS3)

iMinMemoryPageSize
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能为内存堆栈调用的最小的字节数。 数值越小的分配浪费的内存越少。 数值越大会减少调用的数量,但会分配成很多个小的帧(能提升运行效果)。
最大值: 2147483647
默认值: 128

iMaxMemoryPageSize
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为大的帧数调动更多的页面,越大的数值可能会改变内存调用器的调用,(由于页面大小增加,可分配的单位变少了而)降低大场面时的运行表现。
最大值: 2147483647
默认值: 512

iMaxAllocatedMemoryBytes
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可以调用的内存上限是多少,如果内存存储达到了最大值,那么游戏会等待内存被释放掉。如果你有很多很多的脚本,提升这个数值会对你有帮助但会使用更多的内存。
Max: 2147483647 (2GB)
默认值: 76800 (75kB)
WARNING: increasing iMaxAllocatedMemoryBytes to values much larger than default can cause stack thrashing (stack buffer overflows), intermittent game stuttering, erratic game behavior and CTDs. Stack thrashing will produce stack dumps in the Papyrus log, similar to the example below. The dumps can be very large if many scripts are running, producing a very large log file.
警告:任何将此数值调得过大于默认数值都会可能引起缓冲区溢出,间歇性游戏卡顿或CTD。同时会把大量的堆栈产生的信息记录到Papyrus的日志内,会导致日志的内容非常大。(以下是警告信息示例,VM被冻结住)
[03/30/2013 - 12:21:08PM] Suspended stack count is over our warning threshold, dumping stacks:[03/30/2013 - 12:21:08PM] VM is freezing...
[03/30/2013 - 12:21:08PM] VM is frozen
[03/30/2013 - 12:21:08PM] Dumping stack 137790:
[03/30/2013 - 12:21:08PM]         Frame count: 0 (Page count: 0)
[03/30/2013 - 12:21:08PM]         State: Running (Freeze state: Freezing)
[03/30/2013 - 12:21:08PM]         Type: Normal
[03/30/2013 - 12:21:08PM]         Return register: None
[03/30/2013 - 12:21:08PM]         Has stack callback: No
[03/30/2013 - 12:21:08PM]         Stack trace:
[03/30/2013 - 12:21:08PM]                 [ (0010DCE8)].mineorefurniturescript.OnLoad() - (requested call)

bEnableLogging
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.
此设置是下面所有设置的总开关,此设置可以打开和关闭日志记录。如果关闭就完全没有日志记录,包括脚本追踪痕迹,所以,它将覆盖bEnableTrace的值。游戏内置的日志显示仍然可以工作,但什么都不会写人磁盘。关闭这个选项会提高性能,因为磁盘活动更少。
默认值: 0

bEnableTrace
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关闭那么这个设置就将被忽略,因为上面的总开关禁止写入日志。如果这个设置是关闭的,跟踪命令不会在游戏日志显示。关闭这个选项会提高性能,因为磁盘活动更少。
默认值: 0

bLoadDebugInformation
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.
此设置启用或禁用加载额外的调试信息 - 基本上是行号信息。如果这个设置是关闭的,错误消息无法生成行号数据。启用此选项将允许行号提供错误的痕迹,但代价是增加内存使用。
默认值: 0

bEnableProfiling
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.
此设置启用或禁用脚本分析器。如果关闭则无法使用脚本分析命令。开启此设置可以允许分析信息便于收集和记录。如果打开会略微降低脚本的运行效率。
默认值: 0

uTraceStatusOfQuest
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脚本的任务试图改变一些游戏内的东西,比如开始,结束,设置一个场景,或者是显示一个物品时,这个设置都会在日志上记录一条Papyrus跟踪记录
默认值: 0



任何的设置工具都是一把双刃剑。在对你有所帮助的同时,它们都将增加硬盘运算量,而加载的那些调试信息(比如日志)也会增加运行时的内存使用量。这些内容都是从CK的维基页面摘录的。我希望更多的人读一读,因为这些“微调”会对游戏有一定的帮助。如果不理解以上内容就乱改的话后果自负



以下是我在使用的设置,你可以试试(如果因此出现卡顿会异常CTD请直接删除):

[Papyrus]
fUpdateBudgetMS=1.6
fExtraTaskletBudgetMS=1.6
fPostLoadUpdateTimeMS=1000.0
iMaxMemoryPageSize=8192
iMinMemoryPageSize=256
iMaxAllocatedMemoryBytes=8388608
bEnableLogging=0
bEnableTrace=0
bLoadDebugInformation=0

评分

11

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|3DMGAME ( 京ICP备14006952号-1  沪公网安备 31011202006753号

GMT+8, 2026-4-2 05:08 , Processed in 0.027993 second(s), 17 queries , Memcached On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表