MMF2は、実行中に多数の一時ファイルをTEMPフォルダに書き出します。
TEMPフォルダをRAMディスクなどの高速なドライブに指定していると、MMF2本体の動作効率がかなり向上します。
以下にMMF2がTEMPフォルダに書き出すファイルとその用途についてまとめましたので参考にしてください。
内容はあくまで筆者の環境でのものです。公式に確認した情報ではありません。
TEMPフォルダが何であるかについては以下のリンクを参照してください。
RAMディスクの作り方については検索すればいくらでも出てくるのでここでは割愛させて頂きます。
ファイルは全てTMP(ユーザー)フォルダに書き出されます。
ファイル名の○○○○は作成される度に変化します。
MMF2起動時
作成場所:TMPフォルダのルート
名前 | 種類 | 用途 |
---|---|---|
BCG○○○○.tmp | ファイル | 不明(5個作成) |
mft○○○○.tmp | フォルダ | 不明(中身は空) |
新規作成・mfaロード時
作成場所:TMPフォルダのルート
名前 | 種類 | 用途 |
---|---|---|
mft○○○○.tmp | フォルダ | 下記ファイルを格納 |
MMF2起動時に作成されるフォルダとは別。
作成場所:上記mft○○○○.tmpフォルダ内
名前 | 種類 | 用途 |
---|---|---|
app0.ccn | ファイル | アプリケーションを実行すると作成 |
bnk0.tmp | ファイル | アクティブなど画像を持つオブジェクトを追加すると作成 |
bnk1.tmp | ファイル | 文字列オブジェクトを追加すると作成 |
bnk2.tmp | ファイル | サウンドを追加すると作成 |
bnk3.tmp | ファイル | MIDIを追加すると作成 |
icons.tmp | ファイル | アイコン(アプリケーションとオブジェクト) |
エディタから編集中のファイルへ画像、文字列、サウンド、MIDIを追加すると、上記各ファイルに追加されていきます。
TEMPフォルダがHDD上に指定されていると、巨大な画像やサウンドデータを追加すると、この一時ファイルへコピーするまでに時間を要するので落ちやすくなるのではないかと思われます。
RAMディスクのような高速なドライブにTEMPフォルダが指定されているとコピーに掛かる時間が短縮されます。
ただしRAMディスクのような限られた容量のドライブの場合、容量が足りずにデータが追加できずエラーとなる場合もあるので注意。
アプリケーションに内蔵せず、外部ファイルを参照する形にすれば上記ファイルへのデータの追加はありません。
イベントはサイズが小さいから一時ファイルに書き出さずに全てメモリ内で管理していると想像。
保存を実行すると上記ファイルからmfaに書き出されると想像。
アンドゥ時のデータ復元も上記ファイルのデータから戻していると思われます(データを削除してもサイズが減らなかったため)。
先のデータ追加の時と同様、HDDではなくRAMディスクのような高速なドライブにTEMPフォルダが指定されていると保存速度の向上が期待できます。
オブジェクトやデータを追加していなくても、mfaをロードすると一旦全てのファイルが作成されます(サイズは最小限)。
データが含まれているmfaをロードした場合は当然相応のサイズのファイルが書き出されます。
容量不足でファイルが書き出せないとエラーになってロードできません。
その他
作成場所:TMPフォルダのルート
名前 | 種類 | 用途 |
---|---|---|
Zip○○○○.tmp | ファイル | SWFビルド時に一瞬だけ作成 |
Out○○○○.tmp | ファイル | SWFビルド時に作成。完了後削除 |
その他のエクスポーター等でもビルド時に特定の一時ファイルを作成する可能性あり。
ビルドしたアプリケーション実行時に書き出されるファイル
Windows用スタンドアローンアプリケーション(EXE)にビルドしたファイルを実行する場合も、一時ファイルをTEMPフォルダに書き出す仕様になっています。書き出すファイルを少なくする事により、アプリケーションの起動速度を多少速めることも可能です。
作成場所:TMPフォルダのルート
名前 | 種類 | 用途 |
---|---|---|
mrt○○○○.tmp | フォルダ | 下記ファイルを格納 |
必ず作成されるファイル
作成場所:上記mrt○○○○.tmpフォルダ内
名前 | 種類 | 用途 |
---|---|---|
mmfs2.dll | ファイル | MMF2ランタイムファイル |
mmfs2.dllのプロパティを見ると、そのアプリが作成されたMMF2のバージョンを知ることができます。
場合により作成されるファイル
作成場所:上記mrt○○○○.tmpフォルダ内
名前 | 種類 | 用途 |
---|---|---|
mmf2d3d8.dll | ファイル | MMF2ランタイムファイルHWA(Direct3D)モード用 |
mmf2d3d9.dll | ファイル | MMF2ランタイムファイルHWA(Direct3D)モード用 |
○○○.mfx | ファイル | 使用しているエクステンション |
stdrt.exe | ファイル | 「ランタイムを圧縮」をオンにしてビルドした場合 |
「ランタイムを圧縮」を外すとstdrt.exeは作成されません。配布するEXEのサイズは数百KBほど増加しますが、これをオンにすることによる問題も指摘されているので(ネットワーク関係の動作を組んだ時やウィルスソフトの誤検出など)外しておいてもよいでしょう。
場合により作成されるファイル
作成場所:上記mrt○○○○.tmpフォルダ内
名前 | 種類 | 用途 |
---|---|---|
aviflt.ift | ファイル | イメージフィルタ(AVI) |
bmpFlt.ift | ファイル | イメージフィルタ(BMP) |
fliFlt.ift | ファイル | イメージフィルタ(FLI) |
gifFlt.ift | ファイル | イメージフィルタ(GIF) |
jpgFlt.ift | ファイル | イメージフィルタ(JPG) |
pcxFlt.ift | ファイル | イメージフィルタ(PCX) |
pngFlt.ift | ファイル | イメージフィルタ(PNG) |
tgaflt.ift | ファイル | イメージフィルタ(TGA) |
aiffflt.sft | ファイル | サウンドフィルタ(AIFF) |
modflt.sft | ファイル | サウンドフィルタ(MOD) |
oggflt.sft | ファイル | サウンドフィルタ(OGG) |
waveflt.sft | ファイル | サウンドフィルタ(WAV) |
mp3flt.sft | ファイル | サウンドフィルタ(MP3) |
clickteam-circular.mvx | ファイル | 円動作を使用すると作成 |
clickteam-dragdrop.mvx | ファイル | ドラッグド&ロップ動作を使用すると作成 |
clickteam-invaders.mvx | ファイル | インベーダー動作を使用すると作成 |
clickteam-presentation.mvx | ファイル | プレゼンテーション動作を使用すると作成 |
clickteam-regpolygon.mvx | ファイル | 標準多角形動作を使用すると作成 |
clickteam-simple_ellipse.mvx | ファイル | シンプル楕円動作を使用すると作成 |
clickteam-sinewave.mvx | ファイル | 正弦波動作を使用すると作成 |
clickteam-vector.mvx | ファイル | ベクター動作を使用すると作成 |
InAndOut.mvx | ファイル | イン&アウト動作を使用すると作成 |
pinball.mvx | ファイル | ピンボール動作を使用すると作成 |
SpaceShip.mvx | ファイル | スペースシップ動作を使用すると作成 |
イメージフィルタは、ピクチャやアクティブピクチャなどの外部画像を表示するオブジェクトを使用すると含められます。
フィルタはアプリケーションプロパティからどのフイルタを使用するか選択することができます。チェックを外すとそのフィルタはアプリケーションには含められないのでピクチャやアクティブピクチャなどはその種類の画像は表示することができません。標準では「自動」にチェックがされていますが、このままだと基本的に全てのフィルタが含められてしまうので、もし作成するアプリケーションが特定の種類の画像しか表示しないのであれば、不必要なフィルタを外すことでTEMPフォルダに書き出されるファイルの数を減らすことができます。
サウンドフィルタも同様に、サウンド関係のオブジェクトや標準機能の「サウンドファイルを再生」アクションで音を鳴らすときに必要になりますが、不必要なフィルタは省くことができます。
※稀に「自動」のままではフィルタが含められずに鳴らない場合がありますが、その場合もマニュアルで指定してください(音再生アクションが数式でファイルを指定するアクションだけしか組まれていない場合など)。
場合により作成されるファイル
作成場所:TMPフォルダのルート
名前 | 種類 | 用途 |
---|---|---|
tmp○○○○.tmp | ファイル | 抽出したバイナリファイル |
抽出したバイナリファイルは全く暗号化されていません。元の拡張子に戻すと中を見れてしまうので注意してください。
場合により作成されるファイル
作成場所:上記mrt○○○○.tmpフォルダ内
名前 | 種類 | 用途 |
---|---|---|
オリジナルのまま | ファイル | アプリに含められた外部ファイル |
↑データエレメンツの外部ファイルにファイルが追加されている状態で外部ファイルを含めるをオンにしてビルド。
↑ビルドしたアプリ起動後Tempフォルダへアクセスすると外部ファイルが書き出されている。
「外部ファイルを含める」オプションによりアプリケーションに含められたファイルは起動時に全てTEMPフォルダへ書き出され、オブジェクトはそのファイルを参照するようになります。大量のファイルを含めているとアプリケーションの起動に時間が掛かります。また外部ファイルは暗号化されないので、見ようと思えば見れてしまうので、含める必要性がないのなら、普通に外部ファイルとしてアプリケーションと一緒に配布してしまってよいと思います。
「外部ファイルを含める」オプションはサブアプリケーションや動画再生オブジェクトが参照したファイルも含めることができてしまうので思わぬことでTEMPフォルダの容量オーバーにも繋がってしまうので注意してください。
ピクチャ、アクティブピクチャなどは標準でバイナリファイルに対応しており、バイナリデータとして登録しておけば、イベントで抽出しなくとも自動でアプリケーションに含められたファイルを表示することができます。TEMPフォルダにファイルも露出しないので、外部画像を含めるならバイナリデータにすることをお勧めします。
ファイルの削除
mfaファイルを閉じると書き出されていた一時ファイルはフォルダごと削除。
MMF2起動時に作成されたBCG○○○○.tmpファイルと空のmft○○○○.tmpフォルダはMMF2を終了すると削除。
クラッシュなどにより正常に終了しなかった場合、一時ファイルが削除されない可能性があるので、それらを残したままにしておくとTEMPフォルダの容量を圧迫する恐れがあります。