En travaillant sur mon jeu, je suis au point où j'ai besoin de suivre toutes les unités dans le monde afin de pouvoir effectuer des vérifications de combat auprès du plus proche voisin. Il s'agit d'un jeu de type RTS, avec potentiellement des milliers de petites unités automatisées se déplaçant.
J'ai étudié les KD-Trees et les Quadtrees (en particulier les Point Quadtrees). J'essaie toujours d'apprendre les détails de leur fonctionnement, mais jusqu'à présent, Point Quadtrees a le plus de sens pour moi. Cependant, j'ai l'impression que les arbres KD sont plus rapides à rechercher, ce qui est important avec le nombre de points que j'aurai dans l'arbre.
D'un autre côté, dans mon cas, je vais suivre un grand nombre d'unités qui sont toujours en mouvement. D'image en image, leurs positions seront toujours différentes. Les Quadtrees sont apparemment plus rapides à rééquilibrer que les KD-Trees, mais je ne sais pas si cela s'applique lorsque vous rééquilibrez chaque point de l'arborescence.
Je me demande s'il serait préférable dans ce cas de simplement supprimer l'arbre de chaque image et de le reconstruire à partir de zéro, plutôt que d'essayer de rééquilibrer chaque point de l'arbre? Si un Quadtree est plus rapide à rééquilibrer, cela signifie-t-il également qu'il est plus rapide à construire à partir de zéro? Si c'est le cas, cela pourrait être plus important pour les performances que la vitesse de recherche de KD-Tree, selon le poids de la création de l'arbre, mais je ne sais pas ...