Nintendo MessageStudio ヘルプ

ネイティブイメージジェネレータを用いた起動最適化

JITコンパイラについて

Message Studioは、Microsoft .NET Frameworkにて作成されています。 そのため、実行ファイルはMSIL (Microsoft Intermediate Language)形式にて配布されています。 この形式のファイルは、実行時に自動的にJIT(Just-In-Time)コンパイラを利用することで実行環境のネイティブ形式に変換された上で、実行されます。

JITコンパイラによって変換された内容は、一定期間キャッシュが有効になるため、 一度変換処理が行われると、しばらくはJITコンパイラを動作させることなく起動しなおすことが可能です。 そのため、Message Studioの二回目以降の起動は高速に動作することがあります。 このキャッシュはコンピューターが再起動されたり、一定時間経過すると自動的に削除されます。

JITコンパイラの動作をスキップする

Message Studioを頻繁に利用する場合、コンピューターが起動した直後のJITコンパイラ動作が煩わしく感じられるかもしれません。 その場合、ネイティブイメージジェネレータ(Ngen)というソフトを利用することで、常にコンピューター上にキャッシュが残るようになり、 Message Studioが高速に起動することを可能にします。 ネイティブイメージジェネレータはMicrosoft .NET Frameworkに標準添付される付属ソフトになっているため、 Message Studioが動作する環境であればすでにコンピューター内にインストールされています。

ネイティブイメージジェネレータについて、詳細は以下のウェブサイトを参考にしてください。

ttp://msdn.microsoft.com/ja-jp/library/6t9t5wcf(VS.80).aspx

Ngenによるキャッシュ作成例

以下の内容をバッチファイルなどに記述して、実行してください。 (コード中のMessageStudio.exeの箇所には、カレントディレクトリからMessageStudio.exeへの相対パスを記述するか、絶対パスを記述します)。 このコマンドの実行にはある程度時間がかかります(マシン性能と環境にも依存しますが、だいたい1分程度)。

また、コマンド実行時に「Failed to load dependency xxxxx of assembly xxxxxxx, Version=x.x.x.x, Culture=neutral, PublicKeyToken=xxxxxxxxx because of the following error : 指定されたファイルが見つかりません。 (HRESULT からの例外: 0x80070002)」と 表示される場合がありますが、特に問題はありません。 コンピューターにインストールされている他のソフトウエアの影響によってこのエラーが発生することがありますが、 無視することが出来ます。

キャッシュを登録するとき

SET NGEN="%windir%\Microsoft.NET\Framework\v2.0.50727\ngen.exe"

%NGEN% install MessageStudio.exe
%NGEN% update

PAUSE

キャッシュの登録を解除するとき

SET NGEN="%windir%\Microsoft.NET\Framework\v2.0.50727\ngen.exe"

%NGEN% update
%NGEN% uninstall MessageStudio.exe
%NGEN% update

PAUSE

注意点

Message Studioをバージョンアップする場合、過去に作成されたキャッシュは無効になります。 一度キャッシュを削除した上で再度作成しなおしてください。

バッチファイルを用いない登録

バッチファイルを用いることなく、Ngenを起動するフロントエンドツールがフリーソフトウエアとして各種インターネット上で公開されています。 これらのソフトウエアを利用すると、GUIにて設定作業を完了できるので、手軽に効果を試すことが出来ます。 ただし、これらのツールを利用しての高速化作業はサポート対象外です。