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