Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FEATURE] Migrate to pure ECS #647

Open
genaray opened this issue Oct 1, 2021 · 1 comment
Open

[FEATURE] Migrate to pure ECS #647

genaray opened this issue Oct 1, 2021 · 1 comment

Comments

@genaray
Copy link

genaray commented Oct 1, 2021

Artemis should make use of the full ecs approach. This way we could save a lot of memory and increase the performance.
Currently the EntityManager still holds a list of "Entity"'s. So every single created entity allocs a new entity object which is a waste of resources. Especially if the user dont want that.

My two cents, we should replace the Bag<Entity> with a traditional IntBag to store the entities. On top of that we could still construct the Entity class if the user wants to really, really make use of it.

This way we could improve the ram usage and still keep the Entity class for those who want to use it.

@DaanVanYperen
Copy link
Collaborator

For desktop users the impact would probably be minimal, except for extreme use-cases. Can't say if it's worth it to fix for other platforms.

There's a couple of managers that still lean on entities also. #456

We PoC-ed this in 2017 (see PR #499), might contain some salvageable ideas if anyone decides to fork.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants