Использование редактора конфигурации компиляции движка
Godot поставляется с большим набором встроенных функций. Это удобно, но также означает, что размер его двоичного кода больше, чем мог бы быть, особенно для проектов, использующих лишь небольшую часть его функций.
Чтобы уменьшить размер двоичного файла, можно скомпилировать пользовательские шаблоны экспорта с отключенными определёнными функциями. Это подробно описано в документе Оптимизация размера билда. Однако определение того, какие функции необходимо отключить, может быть утомительной задачей. Редактор конфигурации компиляции движка призван решить эту проблему, предоставляя интерфейс для удобного просмотра и управления этими функциями, а также позволяя определять функции, используемые в данный момент в проекте.
Меню позволяет вам создавать и управлять профилями сборки для вашего проекта Godot.
С этого момента у вас есть две возможности:
Просмотрите список и вручную снимите отметки с тех функций, которые вам не нужны.
Используйте кнопку для автоматического определения функций, используемых в проекте, и отключения неиспользуемых. Обратите внимание, что это переопределит существующий список функций, поэтому, если вы вручную сняли отметки с некоторых элементов, их состояние будет сброшено в зависимости от того, используется ли эта функция в проекте.
Открытие редактора конфигурации компиляции движка
После нажатия кнопки будет запущен этап обнаружения проекта. Это может занять от нескольких секунд до нескольких минут в зависимости от размера проекта. После завершения обнаружения вы увидите обновлённый список функций, некоторые из которых будут отключены:
Обновленный список функций после использования обнаружения функций (пример из демо-версии 3D-платформера)
Предупреждение
Снятие отметок с функций в этом диалоговом окне не уменьшит размер двоичного файла непосредственно при экспорте. Поскольку удалить функции из двоичного файла можно только во время компиляции, вам всё равно потребуется скомпилировать пользовательские шаблоны экспорта с указанным профилем сборки, чтобы воспользоваться редактором конфигурации компиляции движка.
Теперь вы можете сохранить профиль сборки, нажав кнопку Save As в верхней части окна. Профиль сборки можно сохранить в любом месте, но рекомендуется сохранить его в папке проекта и добавить в систему контроля версий, чтобы иметь возможность вернуться к нему позже при необходимости. Это также позволяет использовать систему контроля версий для отслеживания изменений в профиле сборки.
Профиль сборки — это JSON-файл (и расширение .gdbuild), который после обнаружения в примере выше выглядит следующим образом:
{
"disabled_build_options": {
"disable_navigation_3d": true,
"disable_xr": true,
"module_godot_physics_3d_enabled": false,
"module_msdfgen_enabled": false,
"module_openxr_enabled": false
},
"disabled_classes": [
"AESContext",
...
"ZIPReader"
],
"type": "build_profile"
}
Этот файл можно передать как параметр SCons при compiling шаблонов экспорта:
scons target=template_release build_profile=/path/to/profile.gdbuild
Система сборки будет использовать это для отключения неиспользуемых классов и, как следствие, уменьшения размера двоичного файла.
Ограничения
Функция основана на чтении сцен и скриптов проекта. Функция не сможет определить используемые функции в следующих случаях:
Функции, используемые в скриптах GDScript, которые создаются процедурно, а затем запускаются во время выполнения.
Функции, которые используются в expressions.
Функции, используемые в GDExtensions, если только языковая привязка не позволяет определять используемые классы, а расширение не использует эту функциональность. Подробности см. в GH-104129.
Функции, которые используются во внешних PCK, загружаемых во время выполнения.
Могут существовать определённые пограничные случаи. Если вы не уверены, пожалуйста, откройте issue на GitHub, приложив минимальный проект для воспроизведения.
См. также
Вы можете добиться дальнейшего уменьшения размера, передавая другие параметры, уменьшающие размер двоичного файла. Подробнее см. Оптимизация размера билда.