命令行选项
吉里吉里的命令行选项除了从通常的命令行指定之外,还可以通过Releaser ( krkrrel.exe ) 或 吉里吉里设置 ( -userconf ) 保存到设定文件中。
导入选项的顺序是
- 吉里吉里本体中嵌入的选项
- 与吉里吉里内核在同一目录中的.cf文件(文件名与吉里吉里内核相同)
- 「引擎设置」(-userconf)输出的数据保存场所.cfu文件(文件名与吉里吉里核心相同)
- 在命令行窗体中指定的选项
对于cf文件或.cfu文件,如果不存在,则仅忽略该文件。越是后来导入的指定越优先。
命令行选项的基本格式是:由 ‘-‘ (半角连字符) 开头,后面跟命令选项的名称。如果在名称的后面加上 ‘=’ ,就可以设定选项的值了。
例如,要将选项名为 -cdvol 的命令行选项的值设定为 direct 的话,就可以像: -cdvol=direct 这样来写。
在诸多的命令选项中,除去「启动option」、「debug相关的option」、「系统兼容性相关的option」这三类以外,其他几乎都是为了解决用户的操作系统环境的兼容性问题、进行细微调整所用的选项。
关于系统环境的兼容性问题的解决方法,请参考关于系统环境的兼容性问题页面。
Note
虽然可以利用 Releaser 或 krkrconf.exe ( エンジン設定.exe ) 对吉里吉里的可执行文件或者外部的设定文件进行改写、改变原有的命令行选项,但通常保持默认状态就可以了,不需要刻意地进行改动。一般也不推荐在作品开发的过程中,为了适应作品的开发环境而将这些选项的值改为默认值以外的值 (当然,也存在像 -datapath 这样的、发布时的设置是对应着终端用户在实际使用时的需要来进行调整的选项,这种选项就可以根据需要来进行调整)。
下面的列表里标注了「可动态变更」的选项,可以用System.setArgument() 方法对选项值动态地进行更改。除此之外的其他命令行选项就不可以随时进行变动了。
启动选项
以下列出的选项,用于呼叫吉里吉里的特定功能。
- -userconf (启动面向最终用户的设定工具)
启动内置于内核本体内的面向最终用户的设定工具。 - -about (显示著作权信息对话框弹窗)
显示「版本信息・版权・环境信息」的对话框。 - -sel (显示「选择 文件/文件包」对话框)
显示「选择 文件/文件包」对话框。不会对 data.xp3 之类文件内的数据进行自动检索。 如果将(名称的一个字符不为“-”的)文件夹(folder)作为命令行参数来指定,就可以将那个文件夹作为当「选择 文件/文件包」对话框打开时默认初始展示的目录。 - -printdatapath (输出数据文件保存路径)
内核将数据文件的存储位置(-datapath选项设定的内容)以标准输出的方式、另起一行作输出,完毕后随即停止运行。这个选项是为了:“将与吉里吉里本体相联系的存档数据的管理权,提供给外部应用程序、方便其利用这些数据”而存在的。
关于数据文件存储位置的选项值的设定,类似 $(exepath) 等有特殊含义的字符串,在输出的时候会被替换成其最终处理完毕后得到的文件路径。
由于吉里吉里本体是 GUI 应用程序(有用户图形界面的应用程序),所以单纯在命令提示符中给吉里吉里的可执行文件指定 -printdatapath 选项并启动是什么也不会显示的。要获取输出的内容,需要以“管道”或 者“重定向”的方式来进行操作。 - -startup (指定启动脚本)
指定要首先运行的脚本文件名。 如果没有指定,则执行startup.tjs。
系统整体的选项
- -datapath (数据位置)
吉里吉里用来保存各种数据文件的目录。
可以以字符串的形式来指定选项值。
虽然也可以以绝对路径的形式指定选项值,但一般情使用下列有特殊含义的字符串来指定就好。- $(exepath)
替换为 System.exePath(吉里吉里内核所在的目录)。 - $(appdatapath)
替换为 System.appDataPath(用户主目录)。这个目录通常是被系统隐藏的。 - $(personalpath)
替换为 System.personalPath(我的文档)。 - $(vistapath)
操作系统高于Vista时替换为$(appdatapath)、低于Vista时替换为$(exepath)。 - $(savedgamespath)
将替换为System.savedGamesPath(游戏存档文件夹)。(1.1.0或更高版本)
默认是以「$(exepath)\savedata」作为选项值的。以这种方式设定的话,就不需要特别考虑installer(安装程序)的问题了,可以直接将程序打包成压缩文件来发布(比如 zip),用户解压后直接运行游戏程序、就会在游戏程序的目录下自动创建一个目录来存放游戏的存档以及其他数据文件。
但是,使用这种默认的设定时,如果将程序放置在 Program Files 目录下、但玩家的操作系统用户没有 Program Files 目录下的文件写入权限(例如类似 Windows XP 等环境下的「受限用户」)的话,玩家在启动程序时、就有可能因为无法写入数据文件而报错。
以「$(appdatapath)\程序名」或者「$(personalpath)\程序名」这样的方式来指定,虽然可以直接将数据文件保存在用户的操作系统所附属的文件夹内、可以一定程度上避免数据丢失等问题的发生;但同时对一般用户来说,游戏的存档文件的位置也许会变得不那么容易找得到,也许会造成困扰。吉里吉里在启动时,如果用这个选项所指定的数据文件保存目录不存在的话,吉里吉里会尝试新建出一个来;但就算新建失败了的话,程序也不会就此结束、而是会继续进行处理,这就需要确保用户脚本内部存在错误处理用的代码(用于捕捉数据无法保存的异常)。
在使用「エンジン設定」对默认设定进行调整后,伴随着产生的设定文件(.cfu文件)也会生成在用这个选项指定的目录中。此外,各种日志文件默认也是存放于这一目录下的。
- $(exepath)
-
-contfreq (处理权重)
在进行渐变效果的处理时,程序会根据指定的画面刷新频率进行处理。指定处理权重,可以控制是否降低CPU的使用率。
值可以指定为 ‘0’ (不指定处理权重) 或是其他正整数,如果不指定就默认视为 0 。指定为正整数的情况,会以 Hz 为单位、指定渐变时每秒画面刷新的周期次数。
会受这个选项影响的,主要是 trans(层渐变效果)以及用 System.addContinuousHandler 注册的 Continuous 函数。
如果指定为 ‘0’ ,在执行渐变之类的效果时,会全额使用CPU资源来进行处理。 如果指定为数值,就会按指定的数值作为刷新周期进行处理。这种情况下CPU不会满负载运行。这样可以缓解因为受到其他正在运行的程序的影响、或是CPU的温度上升所导致的电脑耗电量增加。指定的数值越低、效果就会越明显。但是,如果指定了很低的数值,有可能会使执行trans之类的效果时、画面变得不流畅。
如果使用waitvsync选项等待垂直同步,则Continuous处理程序将根据垂直同步的时间进行驱动,而contfreq选项的设置将被忽略。
可以动态更改此选项,但更改将在下一个渐变或Continuous处理程序中断时生效。 -
-memusage (内存使用上限)
本选项用来设定内存的使用上限。
可指定的值有 ‘normal’ (普通) 和 ‘low’ (低) 两种,如果不主动指定选项值的话,则默认将 ‘normal’ 视为其指定的值。
将值指定为「低」时,会比指定为「普通」时更节约对内存的使用。但是,将值指定为「低」的话,将会导致类似“吉里吉里内部的各种缓存机制受到制约”、“TJS2 散列表(Hash table,也叫哈希表)的容量受到限制”等等限制情况的发生,内核的性能就会有所降低。以及,将值指定为「低」的话,「图形图像相关的选项-图像缓存限制」的值将强制被设定为「不对图像进行缓存」。 -
-timerprec (定时器精度)
本选项用来设定计时器(Timer)精度的高低。 可指定的值有 ‘normal’ (普通) 、 ‘higher’ (较高) 或 ‘high’ (高) 三种,如果不主动指定选项值的话,则默认将 ‘normal’ 视为其指定的值。
“higher”和“high”总体上提高了计时器(包括大多数与时间和计时相关操作)的准确性,并可能消除KAG中的字符显示迟滞和MIDI播放迟滞,但可能会降低性能。 - -laxtimer (计时器事件容量限制)
限制系统内可储存的定时器事件数 ( 事件允许发生的最大上限 ) ,设定是否回避“由于定时器事件积存过多而可能导致系统无法对其进行处理”的情况。
可指定的值有 ‘no’ (不回避) 和 ‘yes’ (回避) 两种,如果不主动指定选项值的话,则默认将 ‘no’ 视为其指定的值。
在处理速度非常慢的计算机或使用计时器处理负载非常大的任务的情况下,吉里吉里可能无法响应计时器引起的事件,从而导致操作等难以响应。此选项指定“yes”将始终将系统中存储的最大计时器事件发生量固定为1(Timer类的capacity属性为1)。这样可以减少系统无法处理的计时器事件的发生,但通常会丢失计时器的精度和准确性。 - -lowpri (低优先度)
设置在渐变期间之类是否降低优先级。
可设置的值为 ‘no’ (否) 或 ‘yes’ (是) ,如果未指定此选项,则视为指定了“no”。 如果设置为“yes”,则在吉里吉里主线程连续使用CPU的情况下(例如,在执行渐变时),将降低主线程的执行优先级。这可以改善渐变过程中的跳音,以及渐变过程中其他应用程序操作迟缓等症状。 - -exceptionexe (异常时启动编辑器)
指定发生异常时启动的编辑器。 - -exceptionarg (异常时启动编辑器选项)
指定发生异常时启动编辑器时指定的选项。 也可以简单地指定参数,但通常嵌入以下特殊字符串来使用。- %filepath%
将替换为出现异常的脚本的文件路径。 - %line%
将替换为发生异常的行号。
- %filepath%
输入设备相关的选项
- -wheel (鼠标滚轮旋转检测方法)
确定如何检测鼠标滚轮的旋转。
可设置的值为 ‘no’ (否) 或 ‘dinput’ (DierctInput) 或 ‘message’(窗口消息) ,如果未指定此选项,则视为指定了“dinput”。
选择「否」可禁用鼠标滚轮。选择“DirectInput”以使用DirectInput。选择“窗口消息”可在不使用DirectInput的情况下检测鼠标滚轮的旋转。更改设置可能会改善与鼠标滚轮相关的问题。 -
-joypad (是否可用手柄)
设置是否使用手柄(摇杆)。
可设置的值为 ‘no’ (否) 或 ‘dinput’ (是) ,如果未指定此选项,则视为指定了“dinput”。
选择“否”可禁用手柄。如果无法正常检测手柄或无法正常使用手柄,则设置为“否”。 -
-paddelay (手柄键重复延迟)
指定手柄(摇杆)重复按键之前的时间(以毫秒为单位)。
可设置的值为正数或-1,-1表示不重复键。如果未指定此选项,则视为指定500。
您可以动态更改此选项。 -
-padinterval (手柄键重复间隔)
指定手柄(摇杆)上重复按键的时间间隔(以毫秒为单位)。值越小,重复速度越快。
可设置的值为正数,如果未指定此选项,则视为30。
您可以动态更改此选项。 - -controlime (IME状态控制)
设置是否控制IME(转换输入软件,如日语)的状态(如启用或禁用)。
可设置的值为 ‘yes’ (是) 或 ‘no’ (否) ,如果未指定此选项,则视为指定了“yes”。
如果选择「否」,则可能会避免“无法输入通过IME输入的语言,如日语”等问题。
声音相关的选项
-
-wsdecpri (PCM解码线程优先级)
解码PCM的线程的优先级。
可设置的值为 ‘0’ (空闲(最低)), ‘1’ (低), ‘2’ (低于正常), ‘3’ (正常), ‘4’ (高于正常), ‘5’ (高) 。如果未指定此选项,则视为指定了“1”。
较高的优先级可能会减少PCM( 非压缩wave或OggVorbis )播放过程中的跳音,但可能会导致过渡变得不平滑或操作响应变差。
顺便说一下,这里指定的是正常解码优先级,在紧急情况下(当缓冲区中的剩余数据变短时)自动确保所需的优先级。 -
-wssoft (DirectSound 软件混合)
指定DirectSound是否使用软件进行混音。
可设置的值为 ‘yes’ (进行软件混合), ‘no’ (不进行软件混合) ,如果未指定此选项,则视为指定了“yes”。
在标准配置中,软件混音会增加CPU负载,但更有可能避免硬件特定的故障。如果将此选项指定为“no”(即使在硬件中进行混音)也没有问题,则可能会降低CPU负载。
对于USB音频或价格较低的声卡,更改此选项可能不会产生任何影响,因为混音可能始终在CPU中进行。 -
-wsrecreate (DirectSound 次缓冲区重新生成)
DirectSound是否始终重新生成次缓冲区。
可设置的值为 ‘yes’ (始终重新生成), ‘no’ (根据需要重新生成) ,如果未指定此选项,则视为指定了“no”。
吉里吉里一旦创建次缓冲区,如果声道数和采样频率等条件相同,则吉里将重用次缓冲区,但如果指定“是”,则将始终重新生成次缓冲区,而不重用次缓冲区。某些环境可能会改善播放开始时的不稳定情况,如跳音和断音。 -
-wsl1len (DirectSound 次缓冲区长度)
DirectSound 次缓冲区长度设置。
可置值整数,以毫秒为单位。至少需要250毫秒。如果未指定此选项,则视为指定1000。 此处指定的是为DirectSound预留的次缓冲区的实际长度。
通常,较长的缓冲区会使播放更稳定,但会占用内存。 -
-wsl2len (DirectSound 辅助次缓冲区长度)
DirectSound次缓冲区的二级缓冲区长度设置。
可设置的值为整数,以毫秒为单位。至少需要250毫秒。如果未指定此选项,则视为指定1000。
吉里吉里为DirectSound的每个次缓冲区创建一个辅助缓冲区,暂时将解码数据存储在辅助缓冲区中,然后再传输到次缓冲区。此处指定的缓冲区长度是其辅助缓冲区的长度。 通常在低优先级线程中进行解码处理和存储到辅助缓冲区,而从辅助缓冲区到次缓冲区的传输是在高优先级线程中进行的。
通常,较长的长度会使播放更稳定,但会占用内存。此外,如果控制对解码过程进行更改,则在实际发音之前的延迟会延长。 -
-wsmute (DirectSound 禁用)
设置DirectSound在应用程序处于非活动状态或最小化状态时静音(降低音量)。
可设置的值为 ‘never’ (不静音), ‘minimize’ (最小化时), ‘deactive’ (非活动时),如果未指定此选项,则视为指定了“never”。
如果选择’never’ 则不静音。’minimize’ 和 ‘deactive’分别在应用程序最小化和非活动状态时静音。
只有在 WaveSoundBuffer 中播放的内容 ( 在KAG中使用“Wave”的背景音乐和音效 ) 才会静音,MIDI或CDDA播放不会静音。 -
-wsmutevol (DirectSound 静音音量)
使用-wsmute(DirectSound静音)设置静音时的音量。
可设置的值为整数,以%为单位。
「0%」表示完全静音,「50%」表示半音量(约为-6dB)。 -
-wsforcecnv ( DirectSound 强制格式转换)
是否将DirectSound播放的PCM数据强制转换为指定格式的设置。
可设置的值为 ‘none’ (不转换), ‘i16’ (转换为16位整数) , ‘i16m’ (1转换为16位单声道整数) ,如果未指定此选项,则视为指定了“无”。
更改设置可能会改善播放故障。选择“i16m”将忽略-wsexpandquad选项(DirectSound强制4ch播放)中的设置。 -
-wsuse3d ( DirectSound 3D控制)
是否使用DirectSound进行3D控制的设置。
可设置的值为 ‘no’ (否), ‘yes’ (是) ,如果未指定此选项,则视为指定了 ‘no’ 。 选择“yes”可启用声音的3D控制,并启用WaveSoundBuffer.posX、WaveSoundBuffer.posY和WaveSoundBuffer.posZ属性(这些属性在当前版本中已实现,但不受支持)。
此外,在许多环境中,如果选择“yes”,DirectSound3D会将立体声和单声道声音扩展到环绕扬声器(例如,只在前扬声器上播放的声音现在在5.1声道环境中的所有扬声器上播放)。 选择’yes’将忽略-wsexpandquad选项(DirectSound强制4ch播放)中的设置。 -
-wsexpandquad (DirectSound 强制4ch播放)
设置DirectSound是否强制使用包含后置扬声器的4ch播放立体声或单声道声音。
可设置的值为 ‘no’ (否), ‘yes’ (是) ,如果未指定此选项,则视为指定了 ‘no’ 。 如果设置为’yes’,则即使在立体声和单声道声音仅在前扬声器上播放的环境中,也可以同时在前扬声器和后扬声器上播放声音。 -
-wsfreq (DirectSound 主缓冲区频率)
DirectSound主缓冲区的播放频率设置。
可设置的值为正的的自然数,频率以Hz为单位表示。如果不指定此选项,则视为指定了“44100”。 注意在使用WDM声卡驱动程序的环境(如Windows2000,XP或更高版本)中,即使更改设置,播放状态也可能保持不变。 -
-wsbits (DirectSound 主缓冲区位数)
DirectSound主缓冲区的播放位数设置。
可设置的值为 ‘i8’ (8位整数), ‘i16’ (16位整数), ‘i24’ (24位整数), ‘i32’ (32位整数), ‘f32’ (322位浮点数) ,如果未指定此选项,则视为指定了“i16”。
注意在使用WDM声卡驱动程序的环境(如Windows2000,XP或更高版本)中,即使更改设置,播放状态也可能保持不变。 -
-wscontrolpri (DirectSound 主缓冲区播放控制)
是否控制DirectSound主缓冲区的播放/停止。
可设置的值为 ‘yes’ (是), ‘no’ (否) ,如果未指定此选项,则视为指定了“yes”。
在极少的环境下,如果改变设定,就会改善跳音和断音。 -
-wspritry (DirectSound 主缓冲区设置尝试级别)
指定DirectSound主缓冲区格式时要尝试次数的设置。
可设置的值为 ‘0’ ~ ‘2’ (级别0 ~ 级别2), ‘all’ (全部) ),如果未指定此选项,则视为指定了‘all’。
如果指定级别0,则尝试设置立体声16位整数的格式。
如果指定级别1,则在尝试级别0之前,根据系统扬声器设置,尝试将声道数设置为16位整数。
如果指定级别2,则在尝试级别1之前,将尝试使用「DirectSound主缓冲区位数」设置的位数,根据系统扬声器设置的声道数以及WAVEFORMATEX结构设置格式。
如果指定「all」,则在尝试级别2之前,将尝试使用与级别2相同的配置以WAVEFORMATEXTENSIBLE结构指定格式。
图形图像相关的选项
-
-gclim (图像缓存限制)
设定分配给图像缓存使用的内存的最大值。
可将其值指定为 ‘auto’ (自动) 或任意的整形数字。将值指定为整形数字时,被指定的整数相当于以 MB 为单位计算的、分配给图像缓存使用的内存大小。如果不主动指定选项值的话,则视为指定了 ‘auto’。
吉里吉里拥有的图像缓存机制可以快速检索之前读取过的图像,并迅速地将它们显示出来。这一选项就是为设置可供这一机制使用的内存的限度值而设计的。
将值指定为 ‘auto’ 的话,内核将根据计算机内实际装配的物理内存大小,自动制定图像缓存量的值。
将值指定为 ‘0’ 则不对图像进行缓存。
如果在吉里吉里运行期间交换频繁发生,则此值较小或指定‘0’可能会有所改善。 -
-fsbpp (全屏颜色模式)
设置全屏颜色模式。 可设置的值为 ‘nochange’ (不变), ‘16’ (16位颜色), ‘24’ (24位颜色), ‘32’ (32位颜色) ,如果未指定此选项,则视为指定了 ‘nochange’ 。
如果指定’nochange’,则颜色模式与非全屏颜色模式相同。
可以动态更改此选项,但该值将在下次尝试全屏时生效。 -
-fsres (全屏时的屏幕分辨率)
设置全屏时的屏幕分辨率。 可设置的值为 ‘auto’ (自动), ‘proportional’ (纵横比相同的分辨率) , ‘nearest’ (最接近的分辨率) , ‘nochange’ (分辨率不变) ,如果未指定此选项,则视为指定了 ‘auto’ 。
如果选择’auto’将自动选择和使用最合适的屏幕分辨率。在这种情况下,在纵横比相同的分辨率中,如果有适合程序中指定的分辨率的分辨率,则选择该分辨率,但如果没有这样的分辨率,则在不改变分辨率的情况下在引擎上放大显示。在此情况下,即使将-fszoom(全屏时引擎放大)选项指定为“no”(无),也始终被认为是“outer”(在显示器内适配)。 如果选择’proportional’则屏幕的长宽比将与非全屏相同,但与程序中指定的分辨率相同或更大,并且最接近。
如果选择’nearest’,则将选择与程序中指定的分辨率相同或更大且最接近的分辨率,但不能保证选择与非全屏分辨率相同的长宽比分辨率。此设置可能适用于阴极射线管显示器或支持在屏幕宽高比保持不变的情况下进行放大的液晶显示器。
如果选择’nochange’ 以保持非全屏分辨率不变。
可以动态更改此选项,但该值将在下次尝试全屏时生效。 -
-fszoom (全屏引擎放大)
指定引擎在全屏期间如何放大屏幕。
可设置的值为 ‘inner’ (在显示器中适配), ‘outer’ (放大到填充显示器), ‘no’ (不放大),如果未指定此选项,则视为指定了 ‘inner’ 。
如果选择’inner’,引擎将根据需要进行放大。如果屏幕分辨率与程序中指定的分辨率不同(如果屏幕分辨率低于程序中指定的分辨率,则执行缩小操作)。在放大时,将保持程序中指定的分辨率的长宽比,但如果显示器的长宽比与此长宽比不同,则可能会出现上下或左右间隙。此间隙始终显示为黑色。
如果选择’outer’ ,引擎将根据需要进行放大,就像指定“inner”一样。但是,与“inner”不同的是,如果显示器的长宽比与程序中指定的长宽比不同,它将放大到足够大的宽度,以防止出现上下或左右间隙。因此,虽然不会出现间隙,但屏幕可能会超出显示器。例如,在16:10的显示器上显示16:9的内容时,此设置允许您将内容放大而不留空隙。当然,这会产生向左右凸出的区域,因此,如果要制作以这种方式显示的内容,就需要采取措施,例如在凸出的部分不显示重要的UI和文字。
如果选择’no’ ,引擎将不执行任何放大(即使需要)。在这种情况下,即使屏幕分辨率与程序中指定的分辨率不同,引擎也不会放大(这可能会导致屏幕中心的图像变小)。 请注意,如果显示器的原始分辨率与图形卡输出的信号分辨率不同,例如液晶显示器可能会在显示器端进行放大,但如果在显示器端进行放大,然后在引擎端进行放大,则可能会进行双重放大,从而导致图像变模糊(-fsres中的“自动”选项会自动选择防止这种双重放大的组合)。
可以动态更改此选项,但该值将在下次尝试全屏时生效。 -
-gsplit (分割图像操作)
设置图像操作是否被细分。
可设置的值为 ‘yes’ (是), ‘int’ (隔行分割), ‘bidi’ (双向分割), ‘no’(不分割) ,如果未指定此选项,则视为指定了 ‘yes’ 。
吉里吉里为了有效地使用CPU的内存缓存,在绘制图像时一边进行计算,一边将图像分割成细小的区域。根据环境的不同,这可能会导致屏幕闪烁。在这些环境中,指定“no”可能会减少闪烁,但可能会降低绘制性能。如果启用了双缓冲,则建议使用细分设置,因为不细分的意义不大。
指定为时“int”图像运算的单位将间隔处理,但在屏幕刷新时可能会看到条纹。如果选择“bidi”,则图像的运算顺序将重复“上”-“下”-“下”-“上”(如果是“yes”,则总是“上”-“下”)。 -
-smoothzoom (平滑放大)
当在Window.setZoom中放大显示内容或使用-fsres选项放大(缩小)屏幕时,是否平滑(放大时的插值)(与在Layer.affineCopy中的放大和缩小无关)。
可设置的值为 ‘no’ (否), ‘yes’ (是) ,如果未指定此选项,则视为指定了 ‘yes’。 平滑会使图像变得平滑,但会有一些模糊的感觉。如果不进行平滑处理,则图像会变得清晰,但会出现明显的锯齿。
如果dbstyle选项为auto,则此处的指定可能会改变所使用的方法。
在某些环境中,不平滑可能会降低性能。此外,某些环境可能无法平滑。
某些第三方绘图设备(在Window.drawDevice属性中设置的设备)可能不受此选项的影响。
可以动态更改此选项,但不能保证值立即生效。 -
-aamethod (消除锯齿的文字绘制方式)
设置消除锯齿文字绘制方式。
可设置的值为 ‘auto’ (自动), ‘res4’ (重采样4 × 4), ‘res8’ (重采样8 × 8), ‘api’ (Windows API) ,如果未指定此选项,则视为指定了 ‘auto’ 。
如果指定’auto’ ,将自动选择“api”。
‘res4’ 或 ‘res8’ 以几倍大小(4 x 4或8 x 8)绘制文字,然后将其缩小以实现消除锯齿效果。res4比res8更快,但精度更低。
‘api’ 使用GetGlyphOutline API绘制消除锯齿的字符,但它似乎是一个非常不方便的API,在某些环境中可能无法正确绘制。 -
-jpegdec (JPEG图像解码精度)
设置JPEG图像的解码精度。
可设置的值为 ‘high’ (高), ‘normal’ (正常), ‘low’ (低) ,如果未指定此选项,则视为指定了 ‘normal’。
如果指定为’high’ 则解码速度较慢,但品质较高。如果指定为“low”则解码速度较快,但品质较低。但在外观上几乎没有区别。 -
-drawthread (绘制线程数)
设置绘制过程中使用的线程数。 可设置的值为任意的数值或是’auto’ (自动),如果未指定此选项,则视为指定了 ‘1’。
如果指定为’auto’,系统将自动分配与操作系统识别的处理器数量相同的线程。
设置多个绘制线程可以提高多核环境中的绘制性能,但有时反而会降低性能。
将其应用于具有较大绘图面积的处理、Affine类的高负载处理、计算复杂的层合成处理等,可能会产生较好的结果。
如果设置为使用多线程,但系统认为绘图工作负载较轻,无法提供多线程效果,则可能不会在多线程中运行。 -
-bitmapallocator (位图存储器确保方式 Ver1.1以后)
指定如何为位图保留内存。
可设置的值为 ‘globalalloc’(使用GlobalAlloc)、’separateheap’ (使用分割堆)或’malloc’(使用malloc),如果不指定该选项,则将被视为指定了 ‘globalalloc’。 使用separateheap可以减少内存碎片,避免内存不足错误的问题。 -
-bitmapheapsize (初始分割堆大小 Ver1.1以后)
指定在位图内存确保方式中选择使用分割堆时的初始大小。
可设置的值为’auto’(推荐)、 ‘0(自动放大)’、’64’ (64MB)、’128’ (128MB)、’256’ (256MB)、 ‘512’ (512MB)、 ‘1024’ (1024MB)、 ‘2048’ (2048MB),如果不指定该选项,则将被视为指定了’auto’。
通常auto没有问题,但是调整初始值可以减少内存的碎裂,避免内存不足错误的问题。
CPU 功能相关的选项
以下所有选项可设置的值均为 ‘yes’ (如果可用,则使用), ‘no’ (即使可用也不使用), ‘force’ (强制使用) ,如果未指定此选项,则视为指定了 ‘yes’ 。
当CPU出现识别故障时,如果设置为“no”,则不使用该功能。
‘force’ 将强制使用,即使未检测到它的CPU功能,但如果CPU没有该功能,它将无法正常工作。
只有 -cpummx -cpucmov -cpusse -cpuemmx 选项会影响吉里本体。 -cpusse 、 -cpummx 和 -cpu3dn 选项会影响OggVorbis解码器(wuvorbis.dll)。 其他(第三方)插件也可能受CPU功能设置的影响。
- -cpummx (MMX)
- -cpu3dn (3DNow!)
- -cpusse (SSE)
- -cpucmov (CMOVcc)
- -cpue3dn (Enhanced 3DNow!)
- -cpuemmx (EMMX (MMX2))
- -cpusse2 (SSE2)
- -cpusse3 (SSE3)
- -cpussse3 (SSSE3)
- -cpusse41 (SSE4.1)
- -cpusse42 (SSE4.2)
- -cpusse4a (SSE4a)
- -cpuavx (AVX)
- -cpuavx2 (AVX2)
- -cpufma3 (FMA3)
- -cpuaes (AES)
debug相关的选项
-
-debug (debug模式)
控制吉里吉里是否在调试模式 ( → debug ) 下运行的设置。
可以设定的值有 ‘no’ (否), ‘yes’ (是)中的一个、如果未指定此选项,则视为指定了“no”。
启用后,吉里吉里将在调试模式下运行,并启用一些调试辅助功能,但运行速度会比正常模式低。 -
-forcelog (文件日志)
是否将控制台日志输出到文件的设置。
可以设定的值有 ‘no’ (不输出), ‘yes’ (追加到现有文件并输出), ‘clear’ (清空现有文件后输出) 中的一个、如果未指定此选项,则将视为指定了“no”。 -
-logerror (发生错误时输出到文件)
错误时是否将控制台日志输出到文件的设置。
可以设定的值有 ‘no’ (不输出), ‘yes’ (追加到现有文件并输出), ‘clear’ (清空现有文件后输出) 中的一个、如果不指定此选项,则将视为指定了“yes”。
系统兼容性相关的选项
-
-arcdelim (存档分隔符)
指定存档分隔符(用于分隔存档存储名称和存档存储名称之间的字符)。
可设置的值为 ‘>’ (使用’>’), ‘#’ (使用’#’) ,如果未指定此选项,则视为指定了 ‘>’。 存档分隔符在吉里吉里2 2.19 beta 14中由以前的’#’ 更改为 ‘>’ 。
以前运行低于2.19 beta 14的应用程序可能会因此更改而无法正常工作,但此选项允许您将分隔符更改为 ‘#’。 -
-evalcontext (后置’!’运算符行为)
TJS2后置’!’运算符的行为。
可设置的值为 ‘this’ (在this上计算表达式), ‘global’ (在global上计算表达式) ,如果未指定此选项,则视为指定了 ‘this’。
TJS2后置’!’运算符在global上下文中执行表达式,而从2.21 beta 9开始,现在在this上下文中执行表达式。
如果应用程序预期小于2.21 beta 9,则必须将此设置设置为“在global上计算表达式”才能正常运行。 -
-holdalpha (Layer.holdAlpha属性的默认值)
指定Layer.holdAlpha属性的默认值。
可设置的值为 ‘false’ (假值), ‘true’ (真值) ,如果未指定此选项,则视为指定了 ‘false’。
在吉里吉里2 2.23 beta 4中,为各种计算函数指定的hda(保护Alpha通道)选项废弃,而创建了Layer.holdAlpha属性。此时,Layer.holdAlpha的缺省值为true。如果Layer.holdAlpha为真,则不会影响过去的应用程序行为。
对于吉里吉里2 2.23 beta 5,此默认值为假值。吉里吉里2如果要运行预期小于2.23 beta 5的应用程序,则必须将此选项指定为“真值”,否则可能无法正常运行。 -
-unaryaster (前置’*‘运算符的行为)
指定TJS2前置’*‘运算符的行为。
可设置的值为 ‘default’ (2.25以后的行为), ‘compat’ (2.25以前的行为) ,如果未指定此选项,则视为指定了 ‘default’。
TJS2中的前置’*‘运算符不通过属性处理程序来检索属性对象本身,但从2.25 beta 1开始,具有此功能的运算符变为前置的’&’,而“*”前置运算符则变为属性对象的属性处理程序操作的运算符。如果应用程序预期小于2.25 beta 1,则必须将此设置设置为“与小于2.25兼容”,才能正常工作。 -
-wsvolfactor (DirectSound音量曲线)
可设置的值为 ‘3322’ (2.31 2011/6/14以后的行为), ‘5000’ (2.31 2011/6/14以前的行为) ,如果未指定此选项,则视为指定了 ‘3322’ 。
DirectSound的音量曲线自2.31 2011/6/14 之后曲线更直观。 -
-readencoding (脚本读取字符编码)
可设置的值为’Shift_JIS’(与吉里吉里2兼容的行为)、’UTF-8’(吉里吉里Z的行为)中,如果不指定该选项,则视为指定了’UTF-8’。
用于导入脚本的字符编码。 -
-ignoretouch (禁用触摸事件 1.3.0或更高版本)
可设置的值为’false’(假)或’true’(真),如果不指定该选项,则视为指定了’false’。
如果指定’true’,则禁用触摸事件,而作为鼠标点击事件发生。