26-03-2014, 05:05 PM
C'est pour cette raison que charger toute la carte en mémoire me semble être lourd comme méthode:
Pour un 1440x720, on arrive vite à 80M de mémoire en PHP, ce qui me semble excessif
Après, si c'est Python/Java, je ne sais pas ce que cela donnera.
Ne charger que la bouding box (enfin, le rectangle circonscrit puisque c'est 2D) est bien plus léger (d'autant que la matrice de la map doit être chargée, probablement depuis le SQL, ce qui est assez long aussi). Si A* demande une case hors de la bouding box, on élargit cette box d'un cran.
Donc, oui, A* est adapté sur des petits chemins, mais le choix de charger toute la map dans une matrice (mot qui prend un "c" d'ailleur ^^) est bien lourd pour rien.
Citation :en leur passant une matrice de la taille de la map: 0/false: pas d'obstacle, 1/true: obstacle
Pour un 1440x720, on arrive vite à 80M de mémoire en PHP, ce qui me semble excessif
Après, si c'est Python/Java, je ne sais pas ce que cela donnera.
Ne charger que la bouding box (enfin, le rectangle circonscrit puisque c'est 2D) est bien plus léger (d'autant que la matrice de la map doit être chargée, probablement depuis le SQL, ce qui est assez long aussi). Si A* demande une case hors de la bouding box, on élargit cette box d'un cran.
Donc, oui, A* est adapté sur des petits chemins, mais le choix de charger toute la map dans une matrice (mot qui prend un "c" d'ailleur ^^) est bien lourd pour rien.