Bonjour !
J'ai réalisé une recherche de chemin convenable en A* qui permet de prendre en compte des obstacles dynamiques pendant le déplacement. Je cherche à améliorer cette gestion des obstacles dynamiques en réduisant la fréquence de détection (actuellement réalisée à chaque frame).
Je me demande donc s'il serait intéressant d'utiliser un timer afin de limiter la detection des obstacles dynamiques à 2 ou 3 fois par secondes. Je ne me rend pas compte de ce que représente un timer en terme de calcul et si cette modification serait intéressante à réaliser ou non.
Ma boucle de détection en pseudo code :
pour chaque entité dans le jeu
si cette entité est du type "creep"
calculer la norme du vecteur distance (hero, entité)
si norme < rayon de détection
lancer une nouvelle recherche de chemin en prenant en compte l'obstacle
fin si
fin si
fin pour
On peut estimer à plusieurs dizaines le nombre d'entités en jeu, 80 à 90% étant du type "creep".
Serait-il intéressant d'utiliser un objet de type sf::Clock afin de limiter l'utilisation de cette boucle à deux ou trois fois par seconde ?