Bonjour à tous, Comme certain le savent déjà, je travail sur un générateur de terrains à la volé depuis un bon moment mais par manque le temps j'ai mis ce module en standby. En l'état, il peut déjà gérer quelques types de terrains avec remplissage d'une texture, placement d'objets. Mais le meilleur reste a venir car il sera bientot ajouté un sous module de création de la surface du terrain par courbe de bezier (merci à Renaud pour son aide au passage :) ). Une fois que ca sera bien robuste je mettrai ca sur le cvs. Neanmoins il se peut que ca prenne un certain temps car je ne sais pas pour vous mais moralement je me sent pas d'integrer à Wormux une usine a gaz comme ce futur générateur dans l'état dans lequel est le jeu. J'entends par là, l'usage memoire plus que démesuré que prend Wormux dès son démarrage. J'ai donc commencé a régler ce gros probleme (a coup de nettoyage) car pour vous donner un exemple, au lancement de Wormux sur mon pc qui possede 512 Mo de RAM voilà ce que ca donne :
Lance Wormux ...jusqu'au menu principal = 18% d'occupation Demarre un partie = 18% + petit au fil du temps, fuite memoire. Retour au menu principal = 18%++ (encore !!) La constation est donc pour ceux qui ne le savait pas, que Wormux fait l'allocation en memoire de pratiquement tout le necessaire pour jouer dès le depart ;). C'est horrible et j'ai donc pris la régle suivante, a chaque etapes du deroulement du jeu il ne doit y avoir en memoire QUE ce qui est necessaire a cette étape. On arrive pour la premiere fois au menu principal par exemple : pas question d'avoir déja en memoire un PixelBuffer du terrain. De meme qu'au demarrage d'un partie : pas question de garder l'image du menu principal en memoire... J'ai essayé de faire pour le mieux mais la tache reste enorme car il y a beaucoup de defaults de conception qui freine la moindre opération de nettoyage. A terme il faudra revoir l'architecture des liaisons entre les classes pour faire disparaitre les "extern ..." au profit d'une conception plus claire (agrégation, composition, pattern sujet/objservateur pourquoi pas !). Pour le moment voilà ce que j'ai pu faire : Au lancement de Wormux = Passer de 18% à 8.5% d'occupation. Au lancement d'une partie = Passer de 18% à 16.8% d'occupation. Retour au menu = Passer de 16.8% à 12.7% Biensur ca peut encore etre améliorer (ce que je compte bien faire ;p) Il reste par exemple a eviter de charger dès le depart la liste des images preview de terrain, liste entiere des skins... A noter aussi que les valeurs que je donne sont relatives, relatives aux fuites memoire... plus vous utilisez le jeu longtemps et/ou de maniere intensive, plus la fuite va vous innonder ;). Enfin bref voilà, vous voilà au courant : - Bientot un generateur - Bientot un Wormux bien moins morfale en RAM. N'hetiser pas à signaler les bugs dû a ces nettoyages violents, car il est évident que ce genre d'opérations fait les miettes et donc attirent les bugs. -- lami <[EMAIL PROTECTED]>
