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로 만든 게임은 보통 몇 초 안에 빌드되지만, 프로젝트가 커질수록 에셋의 양도 늘어납니다. 큰 프로젝트에서는 폰트를 컴파일하고 텍스쳐를 압축하는 데 상당한 시간이 걸릴 수 있습니다. 에셋 캐쉬는 변경된 에셋만 다시 빌드하고, 변경되지 않은 에셋은 캐쉬에 이미 컴파일된 에셋을 사용해서 빌드 속도를 높이기 위해 존재합니다.

Defold는 3단계 캐쉬를 사용합니다:

  1. 프로젝트 캐쉬
  2. 로컬 캐쉬
  3. 원격 캐쉬

프로젝트 캐쉬

Defold는 기본적으로 Defold 프로젝트의 build/default 폴더에 컴파일된 에셋을 캐쉬합니다. 프로젝트 캐쉬는 변경된 에셋만 다시 컴파일하고, 변경되지 않은 에셋은 프로젝트 캐쉬에서 사용하므로 이후 빌드 속도를 높입니다. 이 캐쉬는 항상 활성화되어 있으며 에디터와 커맨드 라인 도구 모두에서 사용됩니다.

프로젝트 캐쉬는 build/default의 파일을 삭제하거나 커맨드 라인 빌드 도구 Bob에서 clean 명령을 실행하여 수동으로 삭제할 수 있습니다.

로컬 캐쉬

로컬 캐쉬는 컴파일된 에셋이 같은 컴퓨터의 외부 파일 위치나 네트워크 드라이브에 저장되는 선택적 두 번째 캐쉬입니다. 외부 위치를 사용하기 때문에 프로젝트 캐쉬를 정리해도 캐쉬의 컨텐츠가 유지됩니다. 같은 프로젝트에서 작업하는 여러 개발자가 공유할 수도 있습니다. 이 캐쉬는 현재 커맨드 라인 도구로 빌드할 때만 사용할 수 있습니다. resource-cache-local 옵션을 통해 활성화합니다:

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

컴파일된 에셋은 계산된 체크섬을 기준으로 로컬 캐쉬에서 액세스됩니다. 이 체크섬은 Defold 엔진 버전, 소스 에셋의 이름과 컨텐츠, 프로젝트 빌드 옵션을 고려합니다. 이를 통해 캐쉬된 에셋이 유니크하고, Defold의 여러 버전 사이에서 캐쉬를 공유할 수 있음이 보장됩니다.

로컬 캐쉬에 저장된 파일은 무기한 저장됩니다. 오래되었거나 사용하지 않는 파일은 개발자가 직접 제거해야 합니다.

원격 캐쉬

원격 캐쉬는 컴파일된 에셋이 서버에 저장되고 HTTP 요청을 통해 액세스되는 선택적 세 번째 캐쉬입니다. 이 캐쉬는 현재 커맨드 라인 도구로 빌드할 때만 사용할 수 있습니다. resource-cache-remote 옵션을 통해 활성화합니다:

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

로컬 캐쉬와 마찬가지로 모든 에셋은 계산된 체크섬을 기준으로 원격 캐쉬에서 액세스됩니다. 캐쉬된 에셋은 HTTP 요청 메서드 GET, PUT, HEAD를 통해 액세스됩니다. Defold는 원격 캐쉬 서버를 제공하지 않습니다. 각 개발자가 직접 설정해야 합니다. 기본 Python 서버 예제는 여기에서 볼 수 있습니다.