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 використовує трирівневий кеш:
За замовчуванням Defold кешує скомпільовані ресурси в папці build/default проєкту Defold. Кеш проєкту прискорює подальші збирання, оскільки повторно компілювати потрібно лише змінені ресурси, а ресурси без змін беруться з кешу проєкту. Цей кеш завжди ввімкнено, і його використовують як редактор, так і засоби командного рядка.
Кеш проєкту можна видалити вручну, видаливши файли з build/default, або виконавши команду clean за допомогою засобу збирання з командного рядка Bob.
Локальний кеш — це необов’язковий другий кеш, у якому скомпільовані ресурси зберігаються поза проєктом на тому самому комп’ютері або на мережевому диску. Завдяки зовнішньому розташуванню його вміст зберігається після очищення кешу проєкту. Його також можуть спільно використовувати кілька розробників, які працюють над одним проєктом. Наразі цей кеш доступний лише під час збирання за допомогою засобів командного рядка. Його вмикають параметром 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 можна переглянути тут.