Manuals
Manuals




This translation is community contributed and may not be up to date. We only maintain the English version of the documentation. Read this manual in English

アセットのキャッシュ

Defold で作成したゲームは通常、数秒でビルドできますが、プロジェクトの規模が大きくなるとアセット(asset)の量も増えます。大規模なプロジェクトでは、フォントのコンパイルとテクスチャの圧縮にかなりの時間がかかる場合があります。アセットキャッシュ(asset cache)は、変更されたアセットだけを再ビルドし、変更されていないアセットにはキャッシュ内のコンパイル済みアセットを使うことで、ビルドを高速化します。

Defold は3層のキャッシュを使用します。

  1. プロジェクトキャッシュ(project cache)
  2. ローカルキャッシュ(local cache)
  3. リモートキャッシュ(remote cache)

プロジェクトキャッシュ

Defold はデフォルトで、コンパイル済みのアセットを Defold プロジェクトの build/default フォルダーにキャッシュします。変更されたアセットだけを再コンパイルし、変更のないアセットはプロジェクトキャッシュから使用するため、プロジェクトキャッシュは2回目以降のビルドを高速化します。このキャッシュは常に有効で、エディターとコマンドラインツールの両方で使用されます。

プロジェクトキャッシュは、build/default 内のファイルを手動で削除するか、コマンドラインビルドツール Bobclean コマンドを実行することで削除できます。

ローカルキャッシュ

ローカルキャッシュは任意で使用できる第2のキャッシュで、コンパイル済みのアセットを、同じマシン上またはネットワークドライブ上のプロジェクト外部の保存先に格納します。外部の場所に保存されるため、プロジェクトキャッシュをクリーンアップしても、このキャッシュの内容は残ります。同じプロジェクトに取り組む複数の開発者で共有することもできます。現在、このキャッシュはコマンドラインツールを使ってビルドする場合にのみ使用できます。resource-cache-local オプションで有効にします。

java -jar bob.jar --resource-cache-local /Users/john.doe/defold_local_cache

ローカルキャッシュ内のコンパイル済みアセットには、Defold エンジンのバージョン、元のアセットの名前と内容、およびプロジェクトのビルドオプションを考慮して計算されたチェックサムに基づいてアクセスします。これにより、キャッシュされたアセットの一意性が保証され、複数のバージョンの Defold 間でキャッシュを共有できます。

ローカルキャッシュ内のファイルは無期限に保存されます。古いファイルや使用しないファイルは、開発者が手動で削除する必要があります。

リモートキャッシュ

リモートキャッシュは任意で使用できる第3のキャッシュで、コンパイル済みのアセットをサーバーに保存し、HTTP リクエストを通じてアクセスします。現在、このキャッシュはコマンドラインツールを使ってビルドする場合にのみ使用できます。resource-cache-remote オプションで有効にします。

java -jar bob.jar --resource-cache-remote http://192.168.0.100/

ローカルキャッシュと同様に、リモートキャッシュ内のすべてのアセットには、計算されたチェックサムに基づいてアクセスします。キャッシュされたアセットには、HTTP リクエストメソッドの GET、PUT、HEAD を通じてアクセスします。Defold はリモートキャッシュサーバーを提供していません。各開発者が設定する必要があります。基本的な Python サーバーの例はこちらで確認できます