命令行选项(Command line Option)

 吉里吉里的命令行选项,除了通过本体自带的命令行系统(这里的命令行系统大概就是指吉里吉里的debug控制台)来指定以外,还可以通过Releaser ( krkrrel.exe ) 或是 吉里吉里的设定工具 ( krkrconf.exe 或 エンジン設定.exe ) 来将设定文件进行保存。


吉里吉里对命令行选项进行读取的顺序如下:
  1. 原本嵌入在吉里吉里本体内部的选项(吉里吉里内核编译前就已经写好的部分,这部分在实际的游戏开发过程中是碰不到的)
  2. 用「吉里吉里设定工具」(即krkrconf.exe)导出的、与吉里吉里内核存放在同一目录下的 .cf 文件(文件名与吉里吉里内核的名称一致)
  3. 用「エンジン設定」(エンジン設定.exe)导出的、存放在游戏存档文件目录下的 .cfu 文件(文件名与吉里吉里内核的名称一致)
  4. 在命令行窗体中指定的选项
关于 .cf 文件和 .cfu 文件,如果不存在的话也没关系,KR娘会自动跳过对它们的读取。读取顺序上,越优先被指定的选项,在被读取的时候就会排得越靠后。由于现阶段还没有可以将命令行选项从外部直接嵌入到吉里吉里本体里的工具,所以选项内容从吉里吉里本体内被读取的情况并不存在。(但在已经嵌入吉里吉里本体内的命令行选项里存在一些特殊的命令行选项,这部分选项是无法从命令行窗体进行指定的)。

 命令行选项的基本格式是:由 '-' (半角连字符) 开头,后面跟命令选项的名称。如果在名称的后面加上 '=' ,就可以设定选项的值了。
 例如,要将选项名为 -cdvol 的命令行选项的值设定为 direct 的话,就可以像:-cdvol=direct 这样来写。
(U子注:在上面的例子中:-cdvol 就是我们所讲的命令行选项,direct 则是选项的值、也就是一般所说的命令行参数啦w 大家不要把命令行选项跟命令行参数搞混了喔(*≧▽≦))

 在诸多的命令选项中,除去「启动option」、「debug相关的option」、「系统兼容性相关的option」这三类以外,其他几乎都是为了解决用户的操作系统环境的兼容性问题、进行细微调整所用的选项。
 关于系统环境的兼容性问题的解决方法,请参考关于系统环境的兼容性问题页面。


Note
虽然可以利用 Releaser 或 krkrconf.exe ( エンジン設定.exe ) 对吉里吉里的可执行文件或者外部的设定文件进行改写、改变原有的命令行选项,但通常保持默认状态就可以了,不需要刻意地进行改动。一般也不推荐大家在作品开发的过程中,为了适应作品的开发环境而将这些选项的值改为默认值以外的值。这样做也许可以解决开发过程中所存在的一些问题,但如果就这样把这些修改过的可执行文件/设定文件当做正常情况下未做过修改的文件那样来发布的话,程序与终端用户的操作系统环境出现不兼容问题的可能性就会大大增加。所以如果没有特殊情况,最好不要对默认的值进行改动。(当然,也存在像 -datapath 这样的、发布时的设置是对应着终端用户在实际使用时的需要来进行调整的选项,这种选项就可以根据需要来进行调整啦)


下面的list里标注了「可动态变更」的选项,可以用System.setArgument 方法对选项值动态地进行更改。除此之外的其他命令行选项就不可以在tjs文件或者ks文件中随时进行变动了。

U子注
考虑到关于命令行选项的这些内容在新手们看来可能会感觉比较迷,所以U子会在翻译的同时尽可能详细地把每一条都解释清楚。
就结果来说,这个页面可能会变得比较冗长,很多人也许会觉得很罗嗦吧。
但是,在考虑到国内目前一直缺乏一些与吉里吉里本体相关的、比较详细的说明文档的这个现状后……

最终还是决定:这些注解果然还是要写的!并且一定要尽可能地把它写详细!

也许这里面大部分的选项,在开发过程中也好、玩家实际游戏过程中也好,都很少能真正使用到,甚至根本不会接触到。
但即使这样,U子仍然认为:作为一名吉里吉里的研究者/爱好者、或者一名合格的krkr程序员来说,都应该更全面、更透彻地了解这款引擎本身。
身为这部手册的翻译者,U子也会本着自己的原则:“翻译并解读”来进行翻译工作。

其实U子在开始翻译前就明白,写这些注解一定会是件十分费力、而且不讨人喜的工作。(毕竟这是手册,不是教程,而且现在的人经常会“太长不看”)
所以也不奢求每一位读者都能理解这份辛苦,觉得啰嗦的同学,可以直接跳过这个页面不看。

抛开别的不提,说实话,吉里吉里中绝大部分的命令行选项也许真的没什么太大的实用价值,在做普通开发时真的很少很少能用得到。
所以你们是可以放心地跳过的,不必担心会落下什么特别重要的内容。
假设在其他页面中真的涉及到了必须了解某个命令行选项才能理解的部分,U子也会以超链接的方式引渡到这个页面的具体位置上。

嗯,就说这些。
综上所述,如果还有意愿要继续了解命令行选项的同学,就跟U子一起愉快地继续阅读下去吧w

程序启动相关的选项(option)

 以下列出的选项,用于呼叫吉里吉里的特定功能。
-userconf(启动面向终端用户的设定工具)
 启动内置于内核本体内的面向终端用户(enduser,可以理解为程序的最终使用者、一般也就是指游戏的玩家)的设定工具。
 名为 エンジン設定.exe 的程序,是一种会检索与 エンジン設定.exe 存放于相同目录下的吉里吉里可执行文件,并自动附上 -userconf 选项将其启动的程序。

U子注
这里也尽可能地遵照了原文来进行翻译,看起来可能比较迷于是稍作解释。

嗯…大体就是说: 我们经常能在日版游戏的目录中看到的那个名为“エンジン設定.exe”的程序,他会自动地检索自身所在目录下的kr可执行文件,并附加上-userconf这个命令行选项再启动它,而实际效果就是启动了内核参数设定的界面(类似krkrconf.exe工具的界面,不过由于是面向游戏玩家的,所以没有发布选项跟修改图标这些功能了)

至于“エンジン設定.exe”,目前日版的游戏中使用kr开发的游戏的目录下大多数都有这个东西,不过国产的作品里似乎很少有带它的。
不知道是因为制作组偷懒忘了放、或者有些开发者可能会觉得这些设定普通玩家根本用不到,所以也懒得放进去……
不过出于考虑到有些新人同学可能真的不知道它是个啥、到底在哪生成的,于是这里还是再唠叨一下。其实也没什么深奥的东西……

就像前面说的,它跟krkrconf.exe是不一样的,所以他们并不是同一个程序。(介不废话嘛…… =﹏=b)
那它到底是什么程序呢?是怎么生成出来的呢?打包发布工具里也没有相关的选项可以生成它呀?
嗯是的,因为它压根就不是被别的工具生成出来的…… 它是一个单独的工具,性质跟打包工具和krkrconf一样,是被单独编写出来的。

如果手头上有KCDDP之前发布的KAGeXpress3集成包的话,可以在enduser-tools子目录下找到它,那个子目录下初始就只有它一个文件,名称是userconf.exe。
其实你仔细看一下会发现,这个userconf.exe的大小跟日版游戏目录下的エンジン設定.exe的大小其实是一样的,都是10.5KB。
虽然没具体检查过源码,不过这两个应该是完全一样的,毕竟这个工具本身也没什么复杂的功能,而且连界面上的字符都是写在内核里的……
其他工具也许还存在新旧版本上的差异,但是对于这个工具来说,它几乎是可以通用于所有版本的内核的。
你甚至可以直接找个日版游戏,复制它目录下的エンジン設定.exe然后改个你喜欢名就可以直接拿来用了(U子抱着尝试的心态测试了一下,结果居然还真的可以……)

后期U子在发布汉化版2.32内核 + KAGEX2集成包的时候,也会把这个工具的源码重新编译一下,看看有没有需要调整的地方。
到时候也会参考之前KAGeXpress3的目录结构,把这个工具放在相同的子目录下,需要的同学有爱自取w
-about (显示著作权信息对话框弹窗)
 显示「版本信息・版权・环境信息」的对话框。

U子注
这里在效果上等同于热键功能的 Ctrl + F12 。
不过不同之处在于后者是在内核启动以后执行的,而这里则只能打开这个弹窗,连热键功能本身也无法启动。
-nosel (测试模式)
 不再显示「选择 文件/文件包」对话框,同时也不对 data.xp3 之类文件内的数据进行自动读取,而是直接启动吉里吉里主控制台(吉里吉里Control)。用于对程序进行debug处理,或进行其他脚本测试的情况。
-sel (显示「选择 文件/文件包」对话框)
 显示「选择 文件/文件包」对话框。不会对 data.xp3 之类文件内的数据进行自动检索。
 如果将(名称的一个字符不为“-”的)文件夹(folder)作为命令行参数来指定,就可以将那个文件夹作为当「选择 文件/文件包」对话框打开时默认初始展示的目录。

U子注
关于改变这个选项的值,在实际写的时候需要注意几个问题。

在启动方法页面中的、关于“在命令行中指定的项目目录”的注解里,U子也提到了关于命令行选项在使用时的操作方法,是通过win+R开启系统的“运行”功能。
在这里再向大家介绍一种更简便的方法:通过创建kr可执行文件的快捷方式,在快捷方式中直接追加需要操作的命令行选项。
这个快捷方式可以是封包发布后的,也可以是正常情况下的裸内核的。
具体操作是这样:首先,为需要操作的exe创建一个快捷方式,然后右键选择属性,再选中左数第二个选项卡“快捷方式”在下面找到“目标”这个条目,然后把光标定位到文本输入框的最后面,输入一个半角空格跟前面的内容隔开,就可以开始书写需要操作的命令行选项了。
写完之后点击确定或者应用,再运行这个快捷方式,设定的命令行选项就会生效。这种方法实现的效果与在win+R中书写的效果完全等同。

以这刚刚讲的种方法为基础。根据上文中提到的:可以通过给 -sel 追加命令行参数的方式,指定「选择 文件/文件包」界面右侧默认展示的目录。
例如,在存放内核的目录下有诸如 data、data2、data3、plugin 等等文件夹,把其中某个文件夹的名称作为命令行参数追加上,就能让「选择 文件/文件包」界面右侧的目录内容展示列表上初始显示你所指定的这个文件夹里的内容。不过,在上文中也提到了,如果有名称是类似 -data、-ABC 这种文件夹的话,由于语法上跟命令行选项有重叠,所以它们是不能被作为命令行参数来指定的,这一点要注意一下。

另外,除了要注意文件夹名称的问题,还要注意在实际书写命令行语句时的书写方式问题。
如果直接写成 -sel=data 这样也是不行的,会忽视掉你指定的文件夹。需要在 -sel 跟 data 间加个空格,也就是像 -sel data 这样写,被指定目录的内容才可以显示出来。
至于那个“=”,在这里是完全没意义的,可以直接删掉。或者你也可以写成 -sel= data,总之只要保证 -sel 跟后面的文件夹名之间有个半角空格就可以,反正等号不会起什么作用就是……
具体原因不明,似乎只有 -sel 这个选项在指定参数的时候要这样去写,而别的都是正常的 -选项名=值 这样写就可以……

这里再提另外一点:用上面讲的这种方法,是可以一次操作多条命令行选项的,选项间需要用半角空格进行分隔。
但在有些情况下,内核可能只会执行其中某一条选项。其实这也不难理解,因为会受到命令行选项本身的限制。
比如,如果同时写了 -about 和 -userconf 两个选项,则只会执行 -userconf,不管你把 -about 写在前面还是后面。把 -about 换成 -sel 也是一样。
这可能是因为 -userconf 选项的优先级比另两种都高的缘故吧,总之内核就是这么设定的。
-printdatapath (输出数据文件保存路径)
 内核将数据文件的存储位置(-datapath选项设定的内容)以标准输出的方式、另起一行作输出,完毕后随即停止运行。这个选项是为了:“将与吉里吉里本体相联系的存档数据的管理权,提供给外部应用程序、方便其利用这些数据”而存在的。
 关于数据文件存储位置的选项值的设定,类似 $(exepath) 等有特殊含义的字符串,在输出的时候会被替换成其最终处理完毕后得到的文件路径。
 由于吉里吉里本体是 GUI 应用程序(有用户图形界面的应用程序),所以单纯在命令提示符中给吉里吉里的可执行文件指定 -printdatapath 选项并启动是什么也不会显示的。要获取输出的内容,需要以“管道”或者“重定向”的方式来进行操作。

U子注
对于这个选项,肯定有不少新手朋友感到很迷很迷…… 其实U子在查清楚之前也完全搞不懂这到底是什么。
不过,这个选项可以说是整个页面中第一个、大概也是唯一一个涉及到了命令行系统本身的一些概念的选项了。
对于理解“命令行”这种操作方式来讲,这是个非常好的说明对象。
U子会在这里把之前查到的所有与命令行系统相关的知识都写出来,但是由于篇幅有限,不可能讲太细,所以想深入了解的同学就自己再去查一下吧。

首先,我们重新梳理一下关于吉里吉里的命令行系统的操作方式。
之前提到了两种,分别是:
  1.通过win+R打开Windows系统的“运行”功能,在里面输入kr可执行文件的路径然后键入需要操作的命令行,然后运行;
  2.通过创建kr可执行文件的快捷方式,并在其属性信息中键入需要操作的命令行,然后运行快捷方式。
但是这两种其实都不是最正规的“命令行”的操作模式,因为它们都不是在“命令行操作界面”也就是平常我们讲的“命令提示符(command prompt)”中来书写标准的命令行语句的操作方式。

嗯,是的,说到这个“命令提示符”,很多同学大概马上就明白了,其实就是Windows系统的cmd.exe,它是一种模仿命令行系统的工具。
这个东西也是年代久远,早在win95的时代它就已经存在了,它是dos系统向有图形化操作界面的系统过度的一个中间产物。
讲得极端一点,我们甚至可以把它理解为是“系统中的系统”,它本身就是一个小型的dos系统。

而我们这里要讲的第三种操作吉里吉里命令行系统的方法,就是通过Windows系统的cmd.exe。

上文也说了,由于吉里吉里是有GUI的应用程序,它本身木有命令行界面(那个console、也就是debug控制台,是冒牌的,只是做个样子而已……)
不过截至目前,kr都主要是面向Windows系统被设计的,所以能用cmd来操作kr的命令行也不是什么难理解的事。
很多同学有可能在之前没怎么接触过cmd这个东西,只是概念上知道它似乎有很多命令、而且都得手打,有图形界面谁还用它呀……
嗯…… 毕竟时代在发展嘛,不过cmd也是很强的,用它可以很随意地操作Windows系统。

这次就不讲太多与cmd的命令相关的内容了,在操作kr的命令行时,我们只需要记住一条“cd”命令就可以了。
cd 是用来切换目录的指令,我们之所以需要它是因为我们需要把当前目录定位到需要操作的kr可执行文件存放的目录里,然后直接输入kr的可执行文件名再空格敲选项就可以回车执行了。
假设需要操作的kr.exe是放在d盘的alpha文件夹下的beta文件夹里的话,拿上一条选项 -sel 来举例,在cmd中就可以这样来写:
  d: → 回车执行 → cd alpha\beta → 回车执行 → kr.exe -sel data → 回车执行
这样就可以启动kr.exe这个内核的那啥界面了。哦对了,如果这个kr.exe是打包后的exe的话,也是可以打开那个界面的,这一点之前忘了提。
不过如果用一个打包成exe的程序去运行另一个工程的话,会占用更多的内存。这大概算个bug了,不过一般也没人闲得去这么弄……

接下来讲讲所谓的“重定向”(redirect)和“管道”(pipe)。这两种都是命令行系统中的概念,在功能上也存在一些相似之处。
我们先来看重定向。

想必很多同学都知道,在DOS的那个时代,操作系统是没有图形化的操作界面的,当时的计算机,就是以“输入命令”的方式来完成各种操作的。
而“重定向”也是自MSDOS起就被支持的命令行特性,它负责将制定的命令或语句所产生的输入输出请求由缺省的“控制台”转交给其它的“设备”来完成。
它的启动标志是在句中出现了“重定向符号”(包括“> , >> , <”三个)。

一般的命令行程序输入输出请求都通过内部定义三个“端口”(在NT下称为“句柄”,在DOS下未定义)来完成。
分别为标准输入stdin、标准输出stdout、标准错误stderr。
它们通常指向的设备为控制台(console,代码为CON),其中stdin指向控制台的键盘,stdout/stderr指向控制台的监视器。
因此,控制台通常即指键盘与监视器的联合体,这是在早期大型机的终端机上所体现出来的概念。
其中的stdin可被<重定向,stdout可被>、>>重定向,而stderr在DOS下不可直接重定向,只有通过ctty或其它命令将系统控制权转交给其它设备的方式,来间接完成。

……

解释起来还有很长的内容可以讲,上面这一小段是U子找到的资料里讲的,U子觉得那篇资料里讲得很专业而且也很透彻,有兴趣阅读完整版的同学可以来找U子要这篇文。
我们换一种通俗点的解释:重定向,就是把原本应该输入(或输出)到某个地方的数据,输入(或输出)到另一个地方去。因为文件流的方向变了,所以叫“重定向”。
其实重定向这个概念在很多地方都通用,包括Unix系统、C语言、PHP中等等,意义也都差不多。
用重定向的方式输出 -printdatapath 选项的值,在cmd中可以像下面这样写。
首先还是把目录定位到kr可执行文件的目录下,然后:
  kr.exe -printdatapath > 1.txt
回车运行后,就可以发现kr.exe所在的目录下多了一个1.txt,这里面就记录着当前的数据文件保存路径。
同样你也可以用这种方式把这串数据传给别的程序,虽然U子没去尝试过……

然后我们讲讲管道。
这次直接用比较通俗的解释:管道,就是把前面一个命令的结果、当作下一个命令的条件或者说参数来执行。
具体在写的时候是用“|”这个字符来标志的,就是把“或”删掉一根,对应键盘上的 shift + 反斜杠(\)。
管道这个概念也通用于许多地方,比如Unix系统、Linux系统、C语言以及blabla…… 其意义也都是差不多的。
不过,管道有点像是重定向的升级版,它可以一次设定多个步骤的操作,并且可以跟重定向相结合使用。
比如,我们可以像这样写:kr.exe -printdatapath > 2.txt | type 2.txt
同样默认是当前目录就是kr.exe所在的目录,并且之前不存在名为2.txt的文件,type是将文本文件的内容输出到cmd面板上,执行后,cmd的面板上就会显示出当前的数据文件保存路径了,同样2.txt里面也会保存着相同的字符串。

这次就先讲到这里吧…… 应该已经把命令行系统相关的要点都讲清楚了,至少在kr的应用上应该是足够了,至于kr怎么跟别的程序联系起来、能跟什么程序实现交互操作等等,有兴趣的同学自己研究一下吧……
不过这一大段读完之后不难发现,kr在设计的时候就引用了各种各样计算机方面的概念,就像tjs这种脚本语言也集合了很多其他语言的特点一样,嗯,总之向作者大大(们)致个敬w

系统整体的选项

-datapath(数据文件的保存路径)
 KR娘用来保存各种数据文件的目录。(U子注:所谓的数据文件,最常见的一种就是游戏的存档文件,其他也包括KR的运行日志、用户自定义的设置文件等等。)
 可以以字符串的形式来指定选项值。
 虽然也可以以绝对路径的形式指定选项值,但一般情使用下列有特殊含义的字符串来指定就好。

$(exepath)
替换为 System.exePath(吉里吉里内核所在的目录)。
$(appdatapath)
替换为 System.appDataPath(用户主目录)。这个目录通常是被系统隐藏的。
$(personalpath)
替换为 System.personalPath(我的文档)。
$(vistapath)
操作系统高于Vista时替换为$(appdatapath)、低于Vista时替换为$(exepath)。

默认是以「$(exepath)\savedata」作为选项值的。以这种方式设定的话,就不需要特别考虑installer(安装程序)的问题了,可以直接将程序打包成压缩文件来发布(比如 zip),用户解压后直接运行游戏程序、就会在游戏程序的目录下自动创建一个目录来存放游戏的存档以及其他数据文件。
但是,使用这种默认的设定时,如果将程序放置在 Program Files 目录下、但玩家的操作系统用户木有 Program Files 目录下的文件写入权限(例如类似 Windows XP 等环境下的「受限用户」)的话,玩家在启动程序时、就有可能因为无法写入数据文件而报错。
以「$(appdatapath)\程序名」或者「$(personalpath)\程序名」这样的方式来指定,虽然可以直接将数据文件保存在用户的操作系统所附属的文件夹内、可以一定程度上避免数据丢失等问题的发生;但同时对一般用户来说,游戏的存档文件的位置也许会变得不那么容易找得到,也许会造成困扰。

吉里吉里在启动时,如果用这个选项所指定的数据文件保存目录不存在的话,吉里吉里会尝试新建出一个来;但就算新建失败了的话,程序也不会就此结束、而是会继续进行处理,这就需要确保用户脚本内部存在错误处理用的代码(用于捕捉数据无法保存的异常)。

在使用「エンジン設定」对默认设定进行调整后,伴随着产生的设定文件(.cfu文件)也会生成在用这个选项指定的目录中。此外,各种日志文件默认也是存放于这一目录下的。
-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' 视为其指定的值。
 このオプションは NT 系 OS ( NT/2000/XP/Vista/7 ) でのみ意味を持ちます。Win9x 系の OS ( 95/98/98SE/ME ) ではこのオプションは無視されます。
 'higher' や 'high' を指定すると全体的にタイマ ( 時間やタイミングに関する物のほとんども含む ) の精度が高くなり、KAG での文字表示のもたつき感や MIDI 再生のもたつき感が解消される可能性がありますが、パフォーマンスが低下する可能性もあります。
-laxtimer (タイマイベント許容量制限)
 限制系统内可储存的定时器事件数 ( 事件允许发生的最大上限 ) ,设定是否回避“由于定时器事件积存过多而可能导致系统无法对其进行处理”的情况。
 可指定的值有 'no' (不回避)'yes' (回避) 两种,如果不主动指定选项值的话,则默认将 'no' 视为其指定的值。
 処理の非常に遅いコンピュータや、非常に重たい処理をタイマで駆動するような場面などでは、タイマによって発生したイベントに対応しきれず、操作などに吉里吉里が応答しづらくなる場合があります。このオプションで 'yes' を指定すると、システムに蓄えられるタイマイベントの最大発生許容量を常に 1 ( Timer クラスの capacity プロパティが 1 の状態 ) に固定します。これによりシステムが処理しきれないようなタイマイベントの発生を抑えることができますが、通常、タイマの精度や正確性は失われます。
-lowpri (低優先度)
 優先度を、トランジション時などに低くするかどうかの設定です。
 設定可能な値は 'no' (しない) あるいは 'yes' (する) で、このオプションを指定しないと 'no' が指定されたものと見なされます。
 'yes' にすると、トランジションを実行中など、吉里吉里のメインスレッドが連続して CPU を使用する場面になると、メインスレッドの実行優先度を下げるようになります。これにより、トランジション中の音飛びや、トランジション中に他のアプリケーションが操作しづらくなるなどの症状が改善される場合があります。

输入设备相关的选项

-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を通じて入力を行う日本語などの言語の入力ができない」といった不具合を回避できる可能性があります。

声音相关的选项

-cdvol (CD-DA 音量制御方法)
 CD-DA 音量制御方式の設定です。
 設定可能な値は 'mixer' (サウンドカードミキサ) あるいは 'direct' (CD-ROMドライブ直接制御) で、このオプションを指定しないと 'mixer' が指定されたものと見なされます。
 'mixer' を指定するとサウンドカードのミキサを操作して CD-DA の音量を変化させます。CD-ROM ドライブから人間の耳に達するまでの経路にサウンドカードが適切に挟まっている必要があります。
 'direct' を指定すると CD-ROM ドライブそれ自身が持っている音量制御の機能を使って音量を変化させます。CD-ROM ドライブのヘッドホン端子から直接ヘッドホンなどを接続している場合などでも音量の制御ができますが、CD-ROM ドライブによっては対応していないものもあります。
-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' が指定されたものと見なされます。
 吉里吉里ではいったん作成したセカンダリバッファは、チャネル数やサンプリング周波数などの条件が同一であれば再利用しますが、'yes' を指定すると再利用をせずに常に再生成するようになります。環境によっては再生開始時の音飛びや音切れなどの不安定性が改善される可能性があります。
-wsl1len (DirectSound セカンダリバッファ長さ)
 DirectSound セカンダリバッファの長さの設定です。
 設定可能な値は 整数で、ミリ秒単位で指定します。最低 250ms 必要です。このオプションを指定しないと 1000 が指定されたものと見なされます。
 ここで指定するのは実際に DirectSound のセカンダリバッファとして確保されるバッファの長さです。
 一般に、長くとると再生は安定しますが、メモリを消費します。
-wsl2len (DirectSound セカンダリ補助バッファ長さ)
 DirectSound セカンダリバッファ用の2次バッファの長さの設定です。
 設定可能な値は 整数で、ミリ秒単位で指定します。最低 250ms 必要です。このオプションを指定しないと 1000 が指定されたものと見なされます。
 吉里吉里は、DirectSound のセカンダリバッファごとに補助バッファを作成し、いったんデコードしたデータをこの補助バッファに蓄積してからセカンダリバッファに転送します。ここで指定するバッファの長さはその補助バッファの長さです。
 通常、デコード処理と補助バッファへの蓄積は優先度の低いスレッドで行われますが、補助バッファからセカンダリバッファへの転送は高い優先度を持ったスレッドで行われます。
 一般に、長くとると再生は安定しますが、メモリを消費します。また、デコード処理に変化を加えるような制御をした場合、それが実際に発音されるまでのディレイが長くなります。
-wsmute (DirectSound ミュート)
 DirectSoundでアプリケーションが非アクティブあるいは最小化した際にミュートするか(音量を下げるか)の設定です。
 設定可能な値は 'never' (ミュートしない), 'minimize' (最小化時), 'deactive' (非アクティブ時) のいずれかで、このオプションを指定しないと 'never' が指定されたものと見なされます。
 'never' を選択するとミュートは行われません。'minimize' や 'deactive' では、それぞれアプリケーションが最小化したとき、非アクティブになったときにミュートされます。
 ミュートされるのは WaveSoundBuffer で再生される物 ( KAGの場合は BGM に 'Wave' を使っている場合と、効果音 ) だけで、MIDI や CDDA 再生はミュートされません。
-wsmutevol (DirectSound ミュート音量)
 -wsmute (DirectSound ミュート) でのミュート時の音量の設定です。
 設定可能な値は 整数で、% 単位で指定します。
 「0%」を指定すると完全に無音となり、「50%」を指定すると半分の音量(約-6dB)となります。
-wsforcecnv (DirectSound 強制フォーマット変換)
 DirectSoundに再生させるPCMデータを、指定の形式に強制的に変換するかどうかの設定です。
 設定可能な値は 'none' (変換しない), 'i16' (16bit整数に変換) , 'i16m' (16bit整数モノラルに変換) のいずれかで、このオプションを指定しないと 'none' が指定されたものと見なされます。
 設定を変更すると再生時の障害が改善する場合があります。'i16m' を選択すると -wsexpandquad オプション ( DirectSound 強制4ch再生 ) の設定は無視されます。
-wsuse3d (DirectSound 3D制御)
 DirectSoundで3D制御を行うかどうかの設定です。
 設定可能な値は 'no' (しない), 'yes' (する) のいずれかで、このオプションを指定しないと 'no' が指定されたものと見なされます。
 'yes' を選択すると、サウンドの 3D制御が有効になり、WaveSoundBuffer.posX, WaveSoundBuffer.posY, WaveSoundBuffer.posZ プロパティが有効になります (これらのプロパティは現バージョンでは既に実装されていますが、サポート外です)。
 また、多くの環境では、'yes' を選択すると、DirectSound3D により、ステレオやモノラルのサウンドが、サラウンドスピーカーに拡張されて再生されるようになります (たとえば、フロントのスピーカーでしか再生されなかったサウンドが、5.1ch環境の全てのスピーカーで再生されるようになります)。
 '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' (8bit整数), 'i16' (16bit整数), 'i24' (24bit整数), 'i32' (32bit整数), 'f32' (32bit浮動小数点数) で、このオプションを指定しないと 'i16' が指定されたものと見なされます。
 とくに WDM 系サウンドドライバを用いる環境 (Windows2000, XP以降 など) では、設定を変更しても再生状態に変化がない場合もあります。
-wscontrolpri (DirectSound プライマリバッファ再生制御)
 DirectSoundのプライマリバッファに対して再生/停止の制御を行うかどうかの設定です。
 設定可能な値は 'yes' (行う), 'no' (行わない) のいずれかで、このオプションを指定しないと 'yes' が指定されたものと見なされます。
 まれに設定を変えると音飛びや音切れが改善される環境があるようです。
-wspritry (DirectSound プライマリバッファ設定試行レベル)
 DirectSoundプライマリバッファのフォーマットを指定する際にどれほど多くの設定を試すかの設定です。
 設定可能な値は '0' ~ '2' (レベル0 ~ レベル2), 'all' (すべて) のいずれかで、このオプションを指定しないと 'all' が指定されたものと見なされます。
 レベル 0 を指定すると、ステレオ 16bit整数のフォーマットの設定を試行します。
 レベル 1 を指定すると レベル 0 を試行する前に、システムのスピーカー設定に従ったチャンネル数、16bit整数でのフォーマットの設定を試行します。
 レベル 2 を指定すると レベル 1 を試行する前に、「DirectSound プライマリバッファビット数」で指定されたビット数、システムのスピーカー設定に従ったチャンネル数、WAVEFORMATEX 構造体によるフォーマットの設定を試行します。
 「すべて」を指定すると レベル 2 を試行する前に、レベル 2 と同様の設定で WAVEFORMATEXTENSIBLE 構造体によるフォーマットの指定を試行します。

图形图像相关的选项

-gclim (图像缓存限制)
 设定分配给图像缓存使用的内存的最大值。
 可将其值指定为 'auto' (自动) 或任意的整形数字。将值指定为整形数字时,被指定的整数相当于以 MB 为单位计算的、分配给图像缓存使用的内存大小。如果不主动指定选项值的话,则默认将 'auto' 视为其指定的值。
 吉里吉里拥有的图像缓存机制可以快速检索之前读取过的图像,并迅速地将它们显示出来。这一选项就是为设置可供这一机制使用的内存的限度值而设计的。
 将值指定为 'auto' 的话,内核将根据计算机内实际装配的物理内存大小,自动制定图像缓存量的值。
 将值指定为 '0' 则不对图像进行缓存。
 吉里吉里実行中にスワップが頻繁に発生するようであれば、この値を小さく指定するか、'0' を指定すると改善される可能性があります。
-fsmethod (フルスクリーン切り替え方法)
 フルスクリーン切り替えに用いる方法の設定です。
 設定可能な値は 'ddraw' (DirectDraw), 'cds' (ChangeDisplaySettings API) のいずれかで、このオプションを指定しないと 'ddraw' が指定されたものと見なされます。
 設定を変えるとフルスクリーン切り替えに関する問題が改善される場合があります。'ddraw' を指定した場合でも、DirectDraw が何らかの原因で使用できなかった場合は、自動的に ChangeDisplaySettings API を使用するようになります。
 このオプションは動的に変更することが可能ですが、値が反映されるのは次回フルスクリーンにしようとしたときです。
-fsbpp (フルスクリーン時のカラーモード)
 フルスクリーン時のカラーモードの設定です。
 設定可能な値は 'nochange' (変えない), '16' (16bitカラー), '24' (24bitカラー), '32' (32bitカラー) のいずれかで、このオプションを指定しないと '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 の「自動」オプションは、このような二重の拡大表示を防ぐ組み合わせを自動的に選択します)。
 拡大表示処理は -dbstyle (ダブルバッファリング) オプションの影響を受けます。速度が異常に遅いなどの場合は、-dbstyle オプションの設定も変えてみてください。
 このオプションは動的に変更することが可能ですが、値が反映されるのは次回フルスクリーンにしようとしたときです。
-gsplit (画像演算の分割処理)
 画像演算を細かく分割して行うかどうかの設定です。
 設定可能な値は 'yes' (行う), 'int' (インターレース分割), 'bidi' (双方向分割), 'no' (行わない) のいずれかで、このオプションを指定しないと 'yes' が指定されたものと見なされます。
 吉里吉里は CPU のメモリキャッシュを有効的に使用するために、画像を描画するときに細かい領域に分割しながら演算を行います。環境によってはこれが画面のちらつきにつながるようです。そのような環境では 'no' を指定することによりちらつきを抑えることができる可能性がありますが、描画のパフォーマンスが低下する可能性もあります。ダブルバッファリングを有効にした場合は、分割処理を行わないことの意味が薄いため、分割処理を行う設定にすることをお勧めします。
 'int' を指定すると画像の演算の単位を一つおきに処理しますが、画面更新時に縞模様が見える事があります。'bidi' を選択すると画像の演算の順番において、上→下、下→上 を繰り返すようになります ( 'yes' の場合はつねに上→下 )。
-usedb (ダブルバッファリングを用いるかどうか)
 画像を表示するときにダブルバッファリングを用いるかどうかの設定です。
 設定可能な値は 'yes' (用いる), 'no' (必要な時以外用いない) のいずれかで、このオプションを指定しないと 'no' が指定されたものと見なされます。
 ダブルバッファリングを行う設定にすると、画像をいったん別の場所 (オフスクリーンビットマップ) に描画し、一画面の更新分すべてを描画し終わった後、一気に表示領域に転送するようになります。これにより、画面のちらつきを抑えられる可能性がありますが、描画のパフォーマンスは低下します。
 ダブルバッファリングを行わない場合は、各 分割領域の画像演算が終了した時点で、順次 表示領域に転送します。
 また、ダブルバッファリングは、Window.setZoom などで表示内容の拡大表示を行う場合や、-fsres オプションで吉里吉里が拡大縮小処理を行う場合にも行われます。
 ダブルバッファリングを行う場合は、 waitvsync オプションも 'yes' (行う) に設定することにより、ちらつきの抑制をさらに期待できます。
 このオプションは動的に変更することが可能ですが、すぐに値が反映される保証はありません。
-dbstyle (ダブルバッファリング方式)
 画像を表示するときにダブルバッファリングを行う際、どの方式を用いるかの設定です。
 設定可能な値は 'auto' (自動), 'gdi' (GDIを用いる), 'ddraw' (DirectDrawを用いる), 'd3d' (Direct3Dを用いる) のいずれかで、このオプションを指定しないと 'auto' が指定されたものと見なされます。
 ダブルバッファリングは、オフスクリーンビットマップの確保場所によって3つの方式があり、GDI を用いる方法と DirectDraw を用いる方法と Direct3D を用いる方法があります。
 'auto' が選択された場合、DirectDraw と Direct3D のどちらかを使うかを決めるために、0.6秒ほどの時間をつかってベンチマークを行い、高速な方を選択します。グラフィックカードの機能によっては、DirectDraw あるいは Direct3D では smoothzoom オプションで指定した方式でスムージングできない場合がありますが、その場合はそれぞれ候補から外されます。GDI によるダブルバッファリングは、DirectDraw や Direct3D よりも性能が大幅に低いことが多く、自動的には選択されませんが、DirectDraw と Direct3D のどちらも使用不可能な場合は自動的に GDI が用いられます。
 このベンチマークは、ウィンドウが表示された直後や、フルスクリーンに切り替わった後、フルスクリーンから復帰した後に自動的に行われます。
 環境によっては、自動的に選択された方法によっては画面が正しく表示されない可能性があります。その場合は、明示的にこのオプションを使って方式を選択する必要があります。
 このオプションは動的に変更することが可能ですが、すぐに値が反映される保証はありません。
-smoothzoom (拡大表示時のスムージング)
 Window.setZoom などで表示内容の拡大表示を行う場合や、-fsres オプションで吉里吉里が画面の拡大(縮小)表示を行う場合に、スムージング(拡大時の補間)を行うかどうかの設定です (Layer.affineCopy 等での拡大縮小とは関係ありません )。
 設定可能な値は 'no' (行わない), 'yes' (行う) のいずれかで、このオプションを指定しないと 'yes' が指定されたものと見なされます。
 スムージングを行うと、画像がなめらかになりますが、若干ぼけた感じになります。スムージングを行わないと、画像はシャープになりますが、ギザギザが目立つようになります。
 dbstyle オプションが auto の場合、ここの指定によって使用される方式が変わる場合があります。
 環境によっては、スムージングを行わない方がパフォーマンスが低下する可能性があります。また、スムージングが効かない環境がある可能性があります。
 サードパーティー製の描画デバイス ( Window.drawDevice プロパティで設定するデバイス ) によってはこのオプションの影響を受けない物もあるかもしれません。
 このオプションは動的に変更することが可能ですが、すぐに値が反映される保証はありません。
-waitvsync (垂直同期待ち)
 トランジション(画面切り替え)などでディスプレイの垂直同期を待ってから描画するかどうかの設定です。
 設定可能な値は 'yes' (行う), 'no' (行わない) のいずれかで、このオプションを指定しないと 'no' が指定されたものと見なされます。
 'yes' を指定すると画面のちらつきを抑えられる可能性がありますが、描画のパフォーマンスが低下する可能性もあります。
 このオプションで垂直同期待ちを行うと、Continuous ハンドラが垂直同期のタイミングに合わせて駆動されるようになり、contfreq オプションの設定内容は無視されます。
 このオプションは動的に変更することが可能です。
-aamethod (アンチエイリアス文字描画方式)
 アンチエイリアス文字描画方法の設定です。
 設定可能な値は 'auto' (自動), 'res4' (リサンプリング4×4), 'res8' (リサンプリング8×8), 'api' (Windows API) のいずれかで、このオプションを指定しないと 'auto' が指定されたものと見なされます。
 'auto' の場合は現バージョンでは WindowsNT 系の OS では 'api'、Win9x 系の OS では 'res8' を自動的に選択します。
 'res4' または 'res8' では、数倍の大きさ (4×4 または 8×8) で文字を描画し、それを縮小することでアンチエイリアスを実現します。res4 の方が res8 よりも高速ですが、精度は低くなります。
 'api' では GetGlyphOutline API を用いてアンチエイリアス文字を描画しますが、いろいろと不都合の多い API のようで環境によっては正常に描画できない可能性があります。
-jpegdec (JPEG画像デコード精度)
 JPEG画像のデコード(展開)の精度の設定です。
 設定可能な値は 'high' (高い), 'normal' (標準), 'low' (低い) のいずれかで、このオプションを指定しないと 'normal' が指定されたものと見なされます。
 'high' を指定するとデコードは低速になりますが、画質は高くなります。'low' を指定するとデコードは高速になりますが画質は低くなります。しかし、見た目ではほとんど違いはありません。
-drawthread (描画スレッド数)
 描画処理時に、使用するスレッドの数の設定です。
 設定可能な値は任意の数値もしくは'auto' (自動)のいずれかで、このオプションを指定しないと '1'が指定されたものと見なされます。
 'auto'を指定すると、OSの認識するプロセッサ数と同数のスレッドが自動的に割り当てられます。
 描画スレッドを複数設定することで、マルチコア環境での描画パフォーマンスを向上させられる可能性がありますが、逆にパフォーマンスが低下する場合もあります。
 描画面積が大きい処理、Affine系の高負荷な処理、演算の重いレイヤ合成処理などに適用することで、良好な結果を得られる可能性があります。
 マルチスレッドを使用するように設定しても、描画処理の負荷が軽くマルチスレッド化の効果が得られないとシステムが判断した場合は、マルチスレッドで実行されない場合があります。

CPU 功能相关的选项

 以下のオプションはすべて設定可能な値は 'yes' (使用可能であれば使用する), 'no' (使用可能であっても使用しない), 'force' (強制的に使用する) のいずれかで、オプションを指定しないと 'yes' が指定されたものと見なされます。
 CPU の認識トラブルが起こった場合に 'no' に設定するとその機能を用いません。
 'force' は、その CPU 機能を検出しなくても強制的に使用するようになりますが、CPU にその機能がついていない場合はもちろん正常に動作しません。
 吉里吉里本体には -cpummx -cpucmov -cpusse -cpuemmx のオプションのみが影響を与えます。OggVorbis デコーダ (wuvorbis.dll) には -cpusse と -cpummx と -cpu3dn のオプションが影響を与えます。そのほかの(サードパーティーの)プラグインの中にも CPU 機能の設定の影響を受けるものがあるかも知れません。

debug相关的选项

-debug (デバッグモード)
 吉里吉里をデバッグモード ( → デバッグ ) で動作させるかどうかの設定です。
 設定可能な値は 'no' (無効), 'yes' (有効)のいずれかで、このオプションを指定しないと 'no' が指定されたものと見なされます。
 有効にすると、吉里吉里はデバッグモードで動作し、いくつかのデバッグ支援機能が有効になりますが、通常のモードよりも実行速度は低下します。
-forcelog (ファイルへのログ)
 コンソールのログをファイルに出力するかどうかの設定です。
 設定可能な値は 'no' (出力しない), 'yes' (既存のファイルに追加して出力する), 'clear' (既存のファイルをクリアしてから出力する) のいずれかで、このオプションを指定しないと 'no' が指定されたものと見なされます。
-logerror (エラー時のファイルへのログ)
 エラー時にコンソールのログをファイルに出力するかどうかの設定です。
 設定可能な値は 'no' (出力しない), 'yes' (既存のファイルに追加して出力する), 'clear' (既存のファイルをクリアしてから出力する) のいずれかで、このオプションを指定しないと 'yes' が指定されたものと見なされます。
-debugwin (デバッグ支援ウィンドウ)
 デバッグ支援ウィンドウ(コンソール、監視式など)を有効にするかどうかの設定です。
 設定可能な値は 'yes' (有効), 'no' (無効) のいずれかで、このオプションを指定しないと 'yes' が指定されたものと見なされます。
 ユーザにデバッグ支援ウィンドウを使用させたくないときに 'no' を指定します。

热键(hotkey)相关的选项

 以下のオプションは、吉里吉里のホットキー関連のオプションです。
 設定できる値はMenuItem.shortcut プロパティで指定できる文字列と同様です。
 空文字列を指定すると(入力欄を空にしておくと)、その機能に対するホットキーは無効になります。
 他のホットキーと重複したキーを指定しないでください。

系统兼容性相关的选项

-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 (アルファチャンネルを保護するか) オプションがなくなり、代わりに Layer.holdAlpha プロパティが作られました。この時点では Layer.holdAlpha のデフォルト値は真でした。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未満と互換」にしないと正常に動作しない可能性があります。
-dsvolfactor (DirectSoundのボリュームカーブ)
 設定可能な値は '3322' (2.31 2011/6/14以降の動作), '5000' (2.31 2011/6/14未満の動作) のいずれかで、このオプションを指定しないと '3322' が指定されたものと見なされます。
 DirectSoundのボリュームカーブは、2.31 2011/6/14 より、より直感的なカーブになりました。