Pracując nad moją grą, jestem w punkcie, w którym muszę śledzić wszystkie jednostki na świecie, aby móc wykonywać kontrole w walce z najbliższymi sąsiadami. Jest to gra podobna do RTS, w której poruszają się potencjalnie tysiące małych automatycznych jednostek.
Patrzyłem na KD-Drzewa i Quadtrees (szczególnie Point Quadtrees). Nadal próbuję poznać szczegóły ich działania, ale jak dotąd Point Quadtrees mają dla mnie jak najbardziej sens. Mam jednak wrażenie, że drzewka KD są szybsze do przeszukiwania, co jest ważne przy liczbie punktów, które będę mieć na drzewie.
Z drugiej strony w moim przypadku zamierzam śledzić ogromną liczbę jednostek, które zawsze się poruszają. Ich poszczególne klatki będą zawsze różne. Czterokąty są najwyraźniej szybsze do zrównoważenia niż KD-Drzewa, ale nie wiem, czy ma to zastosowanie, gdy przywracasz równowagę w każdym punkcie drzewa.
Zastanawiam się, czy byłoby lepiej w tym przypadku po prostu zeskrobać drzewo w każdej ramce i odbudować go od zera, zamiast próbować przywracać równowagę w każdym punkcie drzewa? Jeśli przywrócenie równowagi w Quadtree jest szybsze, czy oznacza to również, że można szybciej budować od zera? Jeśli tak, może to być ważniejsze dla wydajności niż szybkość wyszukiwania KD-Tree, w zależności od tego, jak ciężko jest stworzyć drzewo, ale nie wiem ...