Многие документы, которые я прочитал о реализации системы ecs, похоже, содержат массив c, который регистрирует сущности, с которыми система хочет взаимодействовать.
Это правда, что это позволяет вам иметь объекты с легкостью ширину нескольких компонентов, но разве это не бросает вызов всей цели иметь менеджера компонентов, удерживающего ваш компонент в непрерывном массиве, чтобы избежать необходимости в процессоре go в другой зоне памяти на каждой итерации?
Поскольку теперь, если мы выполняем итерации для каждого объекта массива динамического c, даже если система ищет объекты шириной только в один компонент, процессору все равно необходимо выполнять перемотку между каждым объектом, его компонентом и следующей итерацией. , Не говоря уже о системе, которая обращает внимание на несколько компонентов
Или, может быть, процессор умен и заметит, что мы делаем, и все равно его оптимизируем?