Компонентный дизайн - PullRequest
0 голосов
/ 22 мая 2011

Допустим, вы создали игровой движок, и у вас есть несколько GameObjects, и у каждого GameObject есть список компонентов, которые вы можете добавлять или удалять.

Допустим, есть MeshComponent, у которого есть вершины, нормали и т. Д. Если несколько GameObjects имеют одинаковые MeshComponent, будет много потерь памяти.Конечно, есть много способов реализовать это, но я хочу получить хороший совет, как это решить?Как компоненты обмениваются данными, которые не будут изменены?

1 Ответ

0 голосов
/ 22 мая 2011

C ++ не имеет статических классов.

Если несколько GameObjects имеют одинаковые MeshComponent, то NO приведет к потере памяти. Потому что, конечно, это то же самое MeshComponent ...

Вы потеряете память, если у вас будет много копий MeshComponent, которые концептуально должны быть идентичны.

Если многие GameObjects должны ссылаться на один и тот же MeshComponent, то каждый из них должен содержать (умный) указатель на один и тот же MeshComponent.

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