Defold. Размер билда.

logo-text-below@2x
Продолжаю замерять размеры билдов на различных технологиях.  Посмотрим на движок от King — Defold.

Не претендую на истину в последней инстанции, просто привожу цифры и делаю выводы для себя. 

Как всегда, билд собирается из пустого проекта с опции «в релиз». В данном случае, я просто взял стандартный пустой проект, где просто выводится иконка на экран (размерами иконки по сравнению с размером билда можно пренебречь).

  • ios — размер ipa 2.6 Мб, но так как мы знаем, что размер в аппстор не то же самое, что сжатый ipa, то интереснее будет цифра в 5.3 Мб — это бинарь в распакованной ipa (armv7 arm64);
  • android 2.7 Мб (только armv7)
  • HTML5 — 4.9 Мб.

Есть еще билды под windows, osx, linux — но я не думаю, что размер билда на этих платформах кому-то интересен.

Выводы.

На ios Defold собирает самый маленький билд. По крайней мере из всего кросплатформенного, что я пробовал.

Для Android билд тоже очень и очень мелкий, что очень радует.

HTML5 в прошлых тестах я не замерял т.к. не все технологии в предыдущем списке это умеют. Но в defold проверил и немного опечалился. 5 Мб для движка (эти 4.9 Мб это именно dmengine_release.js) это достаточно много для html5 игры. Для большой игры на facebook, это нормально. И даже значительно меньше, чем у основных конкурентов (Unity, к примеру). Но для небольших html5 мобильных игр это много. Там зачастую 5-7 Мб — это уже размер всей игры с ресурсами и звуками.

Ну, в общем, это и понятно. King создает достаточно большие социальные игры, цель которых работать в фэйсбук. Мелкие HTML5 игры — отдельный маленький рынок, не интересный такому гиганту.

Надеюсь, в будущем появится возможность отключения неиспользуемых модулей (ручная, как в cocos2djs, или автоматическая), а пока для разработчиков небольших HTML5 игр Defold не очень подходит.

А вот с версиями под ios/android все замечательно! Билды собираются ну очень быстро (я могу ошибаться, но как я понял, рантаймы и виртуальные машины под все платформы уже собраны, а к ним добавляются только ресурсы и это все упаковывается), а так же есть просто обалденная фича хотрелоада прямо на мобильном телефоне, которая работает просто прекрасно. Если кому-то интересно, пишите в комментариях расскажу или сниму видео с подробностями.

Спасибо.

  • NSBob

    >> «размер ipa 2.6 Мб, но так как мы знаем, что размер в аппстор не то же самое, что сжатый ipa, то интереснее будет цифра в 5.3 Мб»

    Возможно тут закралась ошибка и имелся ввиду размер установленного приложения на устройстве? Размер в AppStore — как раз и есть размер сжатого ipa. В таком виде оно скачивается на устройство, где после распаковывается. Более того, реальный размер скачиваемого архива, может быть меньше, чем размер собранного ipa, если Defold как-то умеет работать с эпловскими технологиями уменьшения билда (App Thinning).

    • > Возможно тут закралась ошибка

      После загрузки ipa в AppStore — бинарник приложения шифруется, что делает его практически не сжимаемым, соответственно и размер скачиваемого ipa будет больше.

      Это известная проблема. Делают приложение которое, вроде бы, укладывается в лимиты на загрузку по Cellular, а после сабмита в AppStore размер оказывается больше чем был на компьютере разработчика.

    • Andrey Panchenko, ответил на Ваш вопрос. Добавить тут нечего. Чуть подробнее есть в коментариях и в конце вот этой статьи:
      http://agulev.com/kogda-razmer-ipa-i-apk-imeet-znachenie/

  • Завел тему на форуме defold. https://forum.defold.com/t/build-size-auto-stripping-or-manual-configuration/1819/2
    Пройдите и поставьте лайк, а если напишите, что для вас это тоже важная фича, то будет вообще прекрасно.

  • Pingback: Defold. Впечатления и часто задаваемые вопросы. — Alexey Gulev()