Asset File Manager


リソースファイルを管理します。
ダウンロードしたファイルをデバイスにキャッシュしたり、ロードしたファイルをシステムメモリにプールするなどして極力ロード待ちがでないようにしています。

宴のファイル管理のイメージ

宴3以降

名前 内容
File IO Manager ファイルの入出力際の管理オブジェクト。通常は自動で設定される。
Enable Resources Load Async Resourcesからロードするときに非同期ロードをするか
Time Out Download ダウンロード時のタイムアウト時間(秒)
Auto Retry Count On Download ダウンロードエラー時の自動リトライ回数
Load File Max 同時にロードするファイルの最大数
Range Of Files On Memory ファイルマネージャーがメモリ上にロードおよびプールしておくファイルの数。詳細は下記
Unload Type アンロードするときの設定。Resources.unloadunusedassetsをどれくらいの頻度で呼ぶか。
Is Out Put Debug Log ONにすると、デバッグログを出力する
Is Debug Cache File Name ONにすると、キャッシュファイル名をデバッグ出力する
Is Debug Boot Delete Chache Text And Binary ONにすると、起動時にテキストとバイナリファイルを削除する
Is Debug Boot Delete Chache All ONにすると、起動時に全てのキャッシュファイルを削除する
LoadSetting ファイルのタイプごとにどうロードするかを設定します。
宴のファイルはローカルからロードしたり、サーバーからDLしたりと色々なパターンがあるので、その設定をします
基本的にはAdvEngineStarterで自動設定されます。
Dummy Files ロードができなかった場合の、ダミーファイルの設定。
プロジェクト初期でファイルを用意してない場合などに、ロードエラーにならずにテストを続けるためのもの

Range Of Files On Memory

宴ではロードしたファイルは使用しなくなってもすぐにアンロードせずにいったんメモリ上にプールして残しておきます。
ただ、あまりプールしすぎるとメモリが足りなくなってしまうので、
メモリ上のファイル数がRange Of Files On Memoryで設定したMax以上になると、Min以下になるまで未使用のファイルはアンロードされます。
例えば、10~20で設定されている場合は、メモリ上にあるロード済みのファイルが20を超えると、可能な限り10以下になるまでアンロードします。
アンロードされるのは「使用していない」ファイルなので、使用中のファイルがMaxやMin以上ある場合であってもそれらのファイルはアンロードされません。
この数値を調整することで、メモリ負荷を抑えたり、頻繁なロード負荷を抑えたりできます。
数字が大きいほうがたくさんメモリにプールするため、メモリ負荷は上がりますが、ロードを負荷は下がります。
反対に数字が小さいほうが、あまりメモリにプールしないため、メモリ負荷は下がりますが、ロード負荷は上がります。
プロジェクトによって、軽いファイルから重いファイルがあるでしょうし、想定するプラットフォームによって確保できるメモリ数も違うでしょう。
デフォルトの数字は小さめ抑えていますが、プロジェクトの性質によって数字を調整してください。
実際のファイルの使用状況はFile Manager Viewerでも確認できます。

自作のファイルマネージャーと宴のファイルマネージャーを組み合わせる

以下、-工事中-

初期化処理を書く

AdvEngineStarterを参考に自作の初期化処理のプログラムする必要があります。

アセットバンドルの設定

自作のファイル管理システムとつなげる

宴2以前

名前 内容
File IO Manager ファイルの入出力際の管理オブジェクト。通常は自動で設定される。
Time Out Download ダウンロード時のタイムアウト時間(秒)
Auto Retry Count On Download ダウンロードエラー時の自動リトライ回数
Load File Max 同時にロードするファイルの最大数
Max Mem Size MB 管理上の最大メモリ数。このメモリ数を越えると、現在未使用のファイルをアンロードする
Optimized Mem Size MB アンロード時に目標とするメモリ数。可能な限りこのメモリ数までアンロードする
Cache Dictionary Name キャッシュファイルの保存ディレクトリ名
Cache Tbl File Name キャッシュの管理ファイルの名前
Is Out Put Debug Log ONにすると、デバッグログを出力する
Is Debug Cache File Name ONにすると、キャッシュファイル名をデバッグ出力する
Is Debug Boot Delete Chache Text And Binary ONにすると、起動時にテキストとバイナリファイルを削除する
Is Debug Boot Delete Chache All ONにすると、起動時に全てのキャッシュファイルを削除する
LoadSetting ファイルのタイプごとにどうロードするかを設定します。
宴のファイルはローカルからロードしたり、サーバーからDLしたりと色々なパターンがあるので、その設定をします
基本的にはAdvEngineStarterから自動設定されます

メモリ計算

メモリサイズの計測は擬似的なものです。あくまでファイルのアンロードタイミングの目安として使っていてる不正確な値なので注意してください。