EnTT
Mer info
- Skapad av
- Michele Caini (skypjack)
- År
- 2017
- Typ
- C++-bibliotek
- Licens
- MIT
- Källkod
- github.com/skypjack/entt
Ett header-only-bibliotek i modern C++ som implementerar entity component system med glesa mängder i stället för arketyper.
Michele Caini släppte EnTT 2017. Varje komponenttyp får sin egen glesa mängd: ett tätt fält med komponenterna och ett glest index från entitets-id. Att lägga till eller ta bort en komponent kostar därför nästan inget, till skillnad från arketypbaserade system som flyttar hela entiteten mellan tabeller. Priset tas ut vid iteration över flera komponenter, vilket EnTT mildrar med så kallade grupper som håller mängderna sorterade i samma ordning.
Biblioteket är ingen motor utan en byggsten, och mest känt som ECS-kärnan i Minecraft Bedrock Edition. Det har också blivit en referens i diskussionen om vilken lagringsmodell som egentligen är snabbast — svaret är som vanligt "det beror på".