0XDE57 / SpaceProject

An arcadey physics based top-down 2D, procedurally generated asteroid miner sandbox game using libGDX.
Apache License 2.0
40 stars 10 forks source link

Upgrade ECS? #45

Closed 0XDE57 closed 1 year ago

0XDE57 commented 1 year ago

Ashley is simple and works, but slow at higher entity counts. I'd prefer not to migrate but if we begin to hit performance issues, consider:

https://github.com/junkdog/artemis-odb or perhaps: https://github.com/dominion-dev/dominion-ecs-java

according to these benchmarks; artemis is faster than ashley: https://github.com/junkdog/entity-system-benchmarks#entity-system-benchmarks according to these benchmarks; dominion is faster than artemis: https://github.com/dominion-dev/dominion-ecs-java/blob/main/dominion-ecs-engine-benchmarks/OTHERS.md according to this benchmark, again ashley is slow: https://github.com/tommyettinger/Fleks

also see: https://gameprogrammingpatterns.com/data-locality.html https://t-machine.org/index.php/2014/03/08/data-structures-for-entity-systems-contiguous-memory/

see aslo: https://libgdx.com/wiki/graphics/profiling https://libgdx.com/wiki/articles/memory-management

0XDE57 commented 1 year ago

out of scope