LeoECS - спустя 5 лет

5 лет. Никогда не думал, что LeoECS просуществует такой срок, станет популярным и останется востребованным до сих пор. Но не бывает ничего вечного.

За эти 5 лет фреймворк постоянно развивался и менялся с учетом отзывов пользователей. Через 3 года наступил момент, когда накопился определенный объем нерешаемых проблем, включая проблемы с поддержкой и дальнейшим развитием, так появилась новая итерация ECS-фреймворка - LeoECS Lite. В чем отличия между лайтом и старой версией (классикой)? Приведу выдержку из README:

  • Кодовая база фреймворка уменьшилась в 2 раза, ее стало проще поддерживать и расширять.
  • Лайт не является порезанной версией классики, весь функционал сохранен в виде ядра и внешних модулей.
  • Отсутствие каких-либо статичных данных в ядре.
  • Отсутствие кешей компонентов в фильтрах, это уменьшает потребление памяти и увеличивает скорость перекладывания сущностей по фильтрам.
  • Быстрый доступ к любому компоненту на любой сущности (а не только отфильтрованной и через кеш фильтра).
  • Нет ограничений на количество требований/ограничений к компонентам для фильтров.
  • Общая линейная производительность близка к классике, но доступ к компонентам, перекладывание сущностей по фильтрам стал несоизмеримо быстрее.
  • Прицел на использование мультимиров - нескольких экземпляров миров одновременно с разделением по ним данных для оптимизации потребления памяти.
  • Отсутствие рефлексии в ядре, возможно использование агрессивного вырезания неиспользуемого кода компилятором (code stripping, dead code elimination).
  • Совместное использование общих данных между системами происходит без рефлексии (если она допускается, то рекомендуется использовать расширение ecslite-di из списка расширений).
  • Реализация сущностей вернулась к обычныму типу int, это сократило потребление памяти. Если сущности нужно сохранять где-то - их по-прежнему нужно упаковывать в специальную структуру.
  • Маленькое ядро, весь дополнительный функционал реализуется через подключение опциональных расширений.
  • Весь новый функционал будет выходить только к лайт-версии, классика переведена в режим поддержки на исправление ошибок.
LeoECS Lite получился более легковесным, модульным и гораздо быстрее старой версии в определенных случаях. `Классика` просуществует до июня 2023 года и будет убрана в архив без дальнейшей поддержки и исправления возможных ошибок.
Оформить подписку можно здесь: