テクニック集/MMF2がTEMPフォルダに書き出すファイル

Last-modified: 2012-08-13 (月) 15:54:33

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フォルダ内

名前種類用途
オリジナルのままファイルアプリに含められた外部ファイル
 

include_external_files01.png
データエレメンツ外部ファイルにファイルが追加されている状態で外部ファイルを含めるをオンにしてビルド。

 

include_external_files02.png
↑ビルドしたアプリ起動後Tempフォルダへアクセスすると外部ファイルが書き出されている。

 

「外部ファイルを含める」オプションによりアプリケーションに含められたファイルは起動時に全てTEMPフォルダへ書き出され、オブジェクトはそのファイルを参照するようになります。大量のファイルを含めているとアプリケーションの起動に時間が掛かります。また外部ファイルは暗号化されないので、見ようと思えば見れてしまうので、含める必要性がないのなら、普通に外部ファイルとしてアプリケーションと一緒に配布してしまってよいと思います。
「外部ファイルを含める」オプションはサブアプリケーションや動画再生オブジェクトが参照したファイルも含めることができてしまうので思わぬことでTEMPフォルダの容量オーバーにも繋がってしまうので注意してください。

 

include_external_files03.png
ピクチャ、アクティブピクチャなどは標準でバイナリファイルに対応しており、バイナリデータとして登録しておけば、イベントで抽出しなくとも自動でアプリケーションに含められたファイルを表示することができます。TEMPフォルダにファイルも露出しないので、外部画像を含めるならバイナリデータにすることをお勧めします。

ファイルの削除

mfaファイルを閉じると書き出されていた一時ファイルはフォルダごと削除。
MMF2起動時に作成されたBCG○○○○.tmpファイルと空のmft○○○○.tmpフォルダはMMF2を終了すると削除。
クラッシュなどにより正常に終了しなかった場合、一時ファイルが削除されない可能性があるので、それらを残したままにしておくとTEMPフォルダの容量を圧迫する恐れがあります。

コメント