EnTT
Więcej informacji
- Twórca
- Michele Caini (skypjack)
- Rok
- 2017
- Typ
- Biblioteka C++
- Licencja
- MIT
- Kod źródłowy
- github.com/skypjack/entt
Nowoczesna biblioteka C++ złożona z samych nagłówków, implementująca system encja–komponent na zbiorach rzadkich zamiast archetypów.
Michele Caini opublikował EnTT w 2017 roku. Każdy typ komponentu dostaje własny zbiór rzadki: gęstą tablicę komponentów i rzadki indeks kluczowany identyfikatorem encji. Dodanie lub usunięcie komponentu jest więc niemal darmowe, w przeciwieństwie do rozwiązań opartych na archetypach, które przenoszą całą encję między tabelami. Rachunek przychodzi przy iterowaniu po kilku komponentach naraz — EnTT łagodzi go „grupami”, które utrzymują zbiory posortowane w tej samej kolejności.
To element budulcowy, nie silnik, najbardziej znany jako rdzeń ECS w Minecraft Bedrock Edition. Stał się też punktem odniesienia w nawracającym sporze o to, który model przechowywania jest naprawdę szybszy — odpowiedź brzmi, jak zwykle, „to zależy”.