コマンドラインオプション
吉里吉里のコマンドラインオプションは通常のコマンドラインから指定するほかに、Releaser ( krkrrel.exe ) または 吉里吉里設定 ( -userconf ) で設定ファイルに保存することができます。
オプションが読み込まれる順序は
- 吉里吉里本体に埋め込まれたオプション
- 吉里吉里コアと同じディレクトリにある .cf ファイル (ファイル名は吉里吉里コアと同じ)
- 「エンジン設定」(-userconf)が出力した、データ保存場所にある .cfu ファイル (ファイル名は吉里吉里コアと同じ)
- コマンドラインに指定されたオプション
となります。.cf ファイルや .cfu ファイルについては、存在しない場合は単に無視されます。後に読み込んだ指定ほど優先されます。
コマンドラインのオプションは基本的に ‘-‘ (ハイフン) に引き続き、オプションの名前が来ます。そのあとそれに引き続き ‘=’ を書き、オプションの値を書きます。
たとえば -cdvol というオプションの値が direct ならば、-cdvol=direct と指定します。
「起動オプション」や「デバッグ関連のオプション」や「システム互換性関連のオプション」を除けば、ほとんどは環境依存の問題を解決するための微調整を行うオプションです。
環境依存の問題の解決については環境依存の不具合についても参照してください。
Note
Releaser や -userconf では、吉里吉里の実行可能ファイルや外部の設定ファイルを書き換えてこれらのオプションを変更できますが、通常はデフォルトのままで問題ありません。作品を制作する側固有の環境で問題があるということで、これらのオプションをデフォルトの物でないものに変えたままの実行可能ファイルや設定ファイルを一般に配布することはおすすめできません (もちろん -datapath のように配布形態や使用形態にしたがって設定すべきオプションもあります)。
下のリストの中で「動的に変更可能」という表記がある物は、System.setArgument メソッドで変更が可能な物です。それ以外のオプションは動的に変更を行うことは出来ません。
起動オプション
吉里吉里の特定の機能のみを呼び出して使うために以下のオプションがあります。
- -userconf (エンドユーザ向け設定ツールの起動)
本体に内蔵されているエンドユーザ向け設定ツールを起動します。 - -about (著作権情報ダイアログボックスの表示)
「バージョン・著作権・環境情報」のダイアログボックスを表示します。 - -sel (「フォルダ/アーカイブの選択」ダイアログボックスの表示)
「フォルダ/アーカイブの選択」ダイアログボックスを表示します。data.xp3 などのデータは自動検出されません。
コマンドラインパラメータとして(先頭にハイフンをつけずに)フォルダを指定すると、そのフォルダが初期状態で選択された状態で「フォルダ/アーカイブの選択」ダイアログボックスを開くことができます。 - -printdatapath (データ保存場所の出力)
データ保存場所 (-datapathオプション) の設定内容と改行を標準出力に出力し、終了します。このオプションは、吉里吉里本体と連携してセーブデータの管理を行う外部アプリケーションなどが利用するためにあります。
データ保存場所のうち、$(exepath) などの特殊な文字列は、置き換えられた後の状態で出力されます。
吉里吉里本体は GUI アプリケーションのため、コマンドプロンプトから単に吉里吉里実行可能ファイルに -printdatapath オプションを指定して起動しても何も表示されません。出力内容を取り込むにはパイプやリダイレクトを用いてください。 - -startup (起動スクリプトの指定)
最初に実行するスクリプトファイル名を指定します。
指定がない場合は、startup.tjs が実行されます。
システム全般のオプション
- -datapath (データ保存場所)
吉里吉里が様々なデータを保存する場所(フォルダ)の設定です。
設定可能な値は文字列で指定します。
単純にフォルダ名をフルパスで指定することもできますが、通常は以下の特殊な文字列を埋め込んで使います。- $(exepath)
System.exePath(吉里吉里コアのあるフォルダ名)に置き換えられます。 - $(appdatapath)
System.appDataPath(ユーザのホームフォルダ)に置き換えられます。このフォルダは通常、隠しフォルダになっています。 - $(personalpath)
System.personalPath(マイドキュメントフォルダ)に置き換えられます。 - $(vistapath)
OSがVista以降の場合に$(appdatapath)に、Vista未満の場合に$(exepath)に置き置き換えられます。 - $(savedgamespath)
System.savedGamesPath(ゲームのセーブデータ用フォルダ)に置き換えられます。(1.1.0以降)
デフォルトでは「$(exepath)\savedata」となっています。この設定は、インストーラなどを特に用いずにプログラムを zip 等で圧縮・アーカイブして配布し、ユーザにそれを展開して頂いてすぐにプログラム実行、という配布形態に適した設定です。
しかし、このデフォルトの設定では、Program Files 以下にプログラムを配置した場合、Program Files 以下に書き込む権限がない、Windows XP 等の「制限ユーザ」等でプログラムを起動した場合に、ファイルを書き込むことができずにエラーになる可能性があります。
「$(appdatapath)\アプリケーション名」や「$(personalpath)\アプリケーション名」のような名称にすれば、ユーザごとのフォルダに書き込まれることになりますのでこういう問題は発生しにくくなりますが、セーブデータ保存場所の見通しが悪くなるのでユーザがとまどうかもしれません。このオプションで指定されたデータ保存場所は、吉里吉里起動時に、もし存在していなければ作成が試みられます。作成が失敗してもそこで終了とはならずに処理が続行しますので、エラー処理はユーザのスクリプト内で(データが保存できないなどの例外を捕捉することにより)行ってください。
「エンジン設定」で行った設定は、このデータ保存場所で指定したフォルダの中に作成されます。そのほか、各種ログも、標準ではこのフォルダの中に作成されます。
- $(exepath)
- -contfreq (処理ウェイト)
トランジション時などの処理をウェイトをかけながら指定の周期で呼び出すことにより、CPU使用率を低減させるかどうかの設定です。
設定可能な値は ‘0’ (ウェイトをかけない) あるいは正の整数で、このオプションを指定しないと ‘0’ が指定されたものと見なされます。正の整数を指定した場合は Hz 単位の周期を指定することができます。
このオプションの影響を受けるのはトランジションや System.addContinuousHandler で登録した Continuous ハンドラです。
‘0’ にすると、トランジションを実行中などにCPUを使い切って処理を行います。
数値を指定すると、その周期で処理を行うようになり、余った時間はCPUを休ませることになります。これにより、他のアプリケーションへの影響や、CPU温度の上昇、コンピュータの消費電力を抑えることができます。低い数値を指定すればするほどこの効果は高まります。ただし、低い数値を指定するとトランジションなどがなめらかでなくなる可能性があります。
waitvsync オプションで垂直同期待ちを行うと、Continuous ハンドラが垂直同期のタイミングに合わせて駆動されるようになり、contfreq オプションの設定内容は無視されます。
このオプションは動的に変更することが可能ですが、変更が反映されるのは次にトランジションや Continuous ハンドラの動作がとぎれた時です。 - -memusage (メモリ使用量)
メモリ使用量の設定です。
設定可能な値は ‘normal’ (通常) あるいは ‘low’ (低い) で、このオプションを指定しないと ‘normal’ が指定されたものと見なされます。
「低い」を選択すると「通常」を選択したときよりもメモリを節約して使用するようになります。しかし「低い」を選択すると、吉里吉里内部の様々なキャッシュ機構が制限されたり、 TJS2 のハッシュ表のサイズが制限されるため、パフォーマンスは低下します。また、「低い」を選択すると、「グラフィック-画像キャッシュ制限」は強制的に「キャッシュを行わない」の設定であると見なされます。 - -timerprec (タイマの精度)
タイマの精度の高さの設定です。
設定可能な値は ‘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’ が指定されたものと見なされます。
吉里吉里ではいったん作成したセカンダリバッファは、チャネル数やサンプリング周波数などの条件が同一であれば再利用しますが、’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’ を指定すると改善される可能性があります。 - -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 の「自動」オプションは、このような二重の拡大表示を防ぐ組み合わせを自動的に選択します)。
このオプションは動的に変更することが可能ですが、値が反映されるのは次回フルスクリーンにしようとしたときです。 - -gsplit (画像演算の分割処理)
画像演算を細かく分割して行うかどうかの設定です。
設定可能な値は ‘yes’ (行う), ‘int’ (インターレース分割), ‘bidi’ (双方向分割), ‘no’ (行わない) のいずれかで、このオプションを指定しないと ‘yes’ が指定されたものと見なされます。
吉里吉里は CPU のメモリキャッシュを有効的に使用するために、画像を描画するときに細かい領域に分割しながら演算を行います。環境によってはこれが画面のちらつきにつながるようです。そのような環境では ‘no’ を指定することによりちらつきを抑えることができる可能性がありますが、描画のパフォーマンスが低下する可能性もあります。ダブルバッファリングを有効にした場合は、分割処理を行わないことの意味が薄いため、分割処理を行う設定にすることをお勧めします。
’int’ を指定すると画像の演算の単位を一つおきに処理しますが、画面更新時に縞模様が見える事があります。’bidi’ を選択すると画像の演算の順番において、上→下、下→上 を繰り返すようになります ( ‘yes’ の場合はつねに上→下 )。 - -smoothzoom (拡大表示時のスムージング)
Window.setZoom などで表示内容の拡大表示を行う場合や、-fsres オプションで吉里吉里が画面の拡大(縮小)表示を行う場合に、スムージング(拡大時の補間)を行うかどうかの設定です (Layer.affineCopy 等での拡大縮小とは関係ありません )。
設定可能な値は ‘no’ (行わない), ‘yes’ (行う) のいずれかで、このオプションを指定しないと ‘yes’ が指定されたものと見なされます。
スムージングを行うと、画像がなめらかになりますが、若干ぼけた感じになります。スムージングを行わないと、画像はシャープになりますが、ギザギザが目立つようになります。
環境によっては、スムージングを行わない方がパフォーマンスが低下する可能性があります。また、スムージングが効かない環境がある可能性があります。
サードパーティー製の描画デバイス ( Window.drawDevice プロパティで設定するデバイス ) によってはこのオプションの影響を受けない物もあるかもしれません。
このオプションは動的に変更することが可能ですが、すぐに値が反映される保証はありません。 - -aamethod (アンチエイリアス文字描画方式)
アンチエイリアス文字描画方法の設定です。
設定可能な値は ‘auto’ (自動), ‘res4’ (リサンプリング4×4), ‘res8’ (リサンプリング8×8), ‘api’ (Windows API) のいずれかで、このオプションを指定しないと ‘auto’ が指定されたものと見なされます。 ’auto’ の場合は現バージョンでは ‘api’ を自動的に選択します。
’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系の高負荷な処理、演算の重いレイヤ合成処理などに適用することで、良好な結果を得られる可能性があります。
マルチスレッドを使用するように設定しても、描画処理の負荷が軽くマルチスレッド化の効果が得られないとシステムが判断した場合は、マルチスレッドで実行されない場合があります。 - -bitmapallocator (ビットマップメモリ確保方式 Ver 1.1 以降)
ビットマップ用のメモリをどのようにして確保するかを指定します。
設定可能な値は ‘globalalloc’ (GlobalAllocで確保), ‘separateheap’ (分割ヒープを使用), ‘malloc’ (mallocを使用)のいずれかで、このオプションを指定しないと ‘globalalloc’ が指定されたものと見なされます。
separateheap を使用することでメモリのフラグメンテーションを軽減し、メモリ不足エラーの問題を回避できる可能性があります。 - -bitmapheapsize (初期分割ヒープサイズ Ver 1.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 のオプションのみが影響を与えます。OggVorbis デコーダ (wuvorbis.dll) には -cpusse と -cpummx と -cpu3dn のオプションが影響を与えます。そのほかの(サードパーティーの)プラグインの中にも 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 (デバッグモード)
吉里吉里をデバッグモード ( → デバッグ ) で動作させるかどうかの設定です。
設定可能な値は ‘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 (アルファチャンネルを保護するか) オプションがなくなり、代わりに 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未満と互換」にしないと正常に動作しない可能性があります。 - -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’を指定するとタッチイベントを無効化して、代わりにマウスイベントを発生させます。