Внедрение системы ECS, зачем перебирать зарегистрированные объекты вместо массива непрерывных компонентов - PullRequest
1 голос
/ 05 марта 2020

Многие документы, которые я прочитал о реализации системы ecs, похоже, содержат массив c, который регистрирует сущности, с которыми система хочет взаимодействовать.

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

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

Или, может быть, процессор умен и заметит, что мы делаем, и все равно его оптимизируем?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...