В настоящее время я работаю над разработкой Game-engine на C ++ и так далее. Я разработал свой gameObject следующим образом:
Каждый компонент данных распределяется непрерывно в памяти и помещается в конвейер, которому он принадлежит. Во время выполнения каждый модуль вычисляет список имеющихся у них компонентов данных.
Данные:
Ай Ай Ай
Render Render Render
Физика физика физика
foreach ai in AI
computeAI(ai);
foreach render in Render
computeRender(render);
foreach physics in Physics
computePhysics(physics);
Проблема в том, что, если они являются компонентом данных, который используется несколькими модулями? Положение объекта, например. Является ли смертельным для строки кэша, чтобы загрузить их в каждом модуле?
У вас есть предложение улучшить такой дизайн? Или я должен использовать другой?
Большое спасибо !
Задача ещё не решена.
Других решений пока нет …