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

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