Но это все еще не ECS. ECS — система "сущность-компонент" — берет эти концепции и продвигает их дальше. Если в модели "сущность-компонент" функциональность (например, методы и функции) находится внутри самого компонента, то в ECS эта функциональность отделена от данных и состояния, которые она обрабатывает. Вместо того чтобы иметь каждый компонент со своей внутренней логикой обновления, мы имеем системы, которые сопоставляют сущности с определенными наборами компонентов и действуют на их основе. Это означает, что в ECS мы сохраняем возможность компоновать сущности из разных компонентов, но разделение приводит к созданию архитектуры данных и логики, которая значительно более эффективна для аппаратного обеспечения и, следовательно, более производительна. Многие детали того, как ECS достигает этих преимуществ в производительности, являются сугубо техническими, но достаточно сказать, что это включает в себя использование преимуществ архитектуры процессора, структурирование данных плотным образом, чтобы извлечь выгоду из их локальности в шаблонах доступа, и использование этих шаблонов доступа для распараллеливания как можно большего количества логики, насколько это возможно.