reckfellENGINE

Как уменьшать размер сборки без потери нужных функций

Измерения, профиль возможностей, модули, рендереры и проверка готовой игры.

На этой странице

Уменьшайте размер экспортного шаблона относительно работающей базовой сборки. Сначала отделите размер исполняемого файла, управляемого runtime, PCK/ассетов и скачиваемого архива: оптимизация одного не означает уменьшение остальных или расхода памяти.

Измеримый цикл

  1. Зафиксируйте одинаковые платформу, архитектуру, проект и release-настройки. Сохраните исходный размер каждого артефакта.
  2. Меняйте один параметр или один профиль. Запишите время сборки и линковки.
  3. Экспортируйте игру с новым шаблоном. Проверьте запуск, все уровни, подгружаемые ресурсы, UI, локализации, сохранения и используемые платформенные функции.
  4. Сравните размеры и поведение. При отказе верните последнюю работающую конфигурацию, а не отключайте следующую случайную подсистему.

Проценты экономии зависят от проекта и toolchain. Значения вроде «минус 15% от отключения 3D» не являются обещанием для вашей сборки.

Оптимизация кода и символы

Параметры optimize=size/size_extra выбирают ориентацию компилятора на размер. Проверьте поддержку и фактический результат для своего компилятора; меньше бинарник не гарантирует выше FPS или быстрее запуск.

LTO может изменить размер и время линковки, но lto=auto выбирается платформой. production=yes не означает, что LTO обязательно включено. Отладочные символы можно хранить отдельно, если toolchain это поддерживает: они нужны для диагностики сбоев. Уменьшение поставляемого файла не оправдывает потерю возможности разобрать crash своей версии.

Профиль возможностей

build_profile задаёт JSON-профиль сборки. disabled_classes перечисляет отключаемые классы, disabled_build_options — изменения параметров сборки. Это отличается от Python-файла profile=... с обычными опциями.

Автоматическое обнаружение используемых классов помогает начать профиль, но не доказывает полноту. Проверьте динамическую загрузку, имена классов в строках, плагины, внешние пакеты и контент, который отсутствовал при анализе. Отключение класса может убрать нужные производные возможности; профиль проверяют на целой экспортированной игре.

Что отключать с учётом проекта

ГруппаЧто проверить до отключения
3DУровни и ресурсы 3D, физику, навигацию и XR. disable_3d также включает соответствующие отключения
2DEntity2D, физику и навигацию 2D; это не равнозначно удалению любого интерфейса
Advanced GUIРеально используемые сложные Control, диалоги, меню, форматированный текст и редакторские инструменты
Физика/навигацияНужные серверы и используемый backend; наличие визуального 3D не означает использование всех физических backend
Форматы и модулиИмпорт, runtime-декодирование, сеть, архивы, аудио, видео, расширения и их зависимости
РендерерыМетод рендеринга проекта, fallback и возможности целевых устройств
TextServerШрифты, формирование текста, переносы, направление и все языки интерфейса

disable_2d, disable_3d, disable_advanced_gui и перечисленные отдельные отключения физики/навигации предназначены для шаблонов: текущий SConstruct отклоняет их для target=editor. Не используйте урезанный игровой шаблон как замену редактору.

Отключение text_server_adv не делает text_server_fb автоматически включённым: fallback-модуль выключен по умолчанию. Сохраните подходящий TextServer и проверьте нужные языки; fallback не следует считать полной заменой возможностей advanced.

Для проекта C# сохраняйте согласованные модуль mono, управляемый SDK и runtime. Измеряйте их вклад отдельно от native EXE. Массовое modules_enabled_by_default=no может удалить нужный формат или интеграцию даже при успешной компиляции.

Распространение

Сжатие архива или HTTP-ответа уменьшает передачу данных, но не обязательно установленный размер, память или время декодирования. Для Web важна корректная конфигурация сервера и MIME/Content-Encoding; один переименованный сжатый файл не заменяет проверку браузера.

Эта статья сверена по параметрам и зависимостям текущего Source. Урезанный движок и игра здесь не собирались; измеренной экономии размера и проверки всех проектов нет. Практические критерии выше нужны до принятия своей конфигурации.

Далее: SCons и профили, экспорт.

Документация Reckfell EngineНаверх ↑
БЫСТРЫЙ ПЕРЕХОДНачало работыEntity и иерархияC# & .NET 10Сцены и префабы
Руководства и полный API Reckfell K
reckfellENGINE
RECKFELL ACCOUNT

Вход в аккаунт

Войдите в аккаунт Reckfell.

Один аккаунт для всей платформы Reckfell.