[RESOLU]Conso mémoire vive

Yop !!

Je remets sur la table cette histoire de fuites mémoires avec les Intel HD. Pas sûr que ce soit corrigeable au niveau de GD, mais j’aimerais quand même avoir des avis.

Voilà ce que j’ai lorsque je lance mon jeu (un point’n click en image fixe, 80 en jpg 800x600 et une centaine en png de taille variable).

Ca me semble quand même un peu beaucoup : les jpg font 120 Mo en décompressé, les png pas beaucoup plus, musiques et divers tapent dans les 50 Mo, soit un total de 500 Mo tout mouillé en mémoire vive. Surtout que GD comme le jeu finissent par planter lorsqu’ils arrivent à 1.3 Go.
Dans le cas de GD, on relance et c’est bon.
Mais dans le cas du jeu, ça fait tâche (même s’il a un système de sauvegarde automatique pour reprendre là où il avait planté).

J’ai suivi les conseils précédents, en rassemblant un maximum de scènes en une seule.
Le poids du jeu est passé de 200 Mo à 100 Mo, ce qui est bien (80 Mo en web).
Mais maintenant, 90% des images sont chargées à chaque scène (puisque la même scène gère majorité des scènes du jeu). Ce qui fait une explosion mémoire dès le début du jeu. Et bien sûr, à chaque changement d’écran, j’ai environ 20 Mo qui s’ajoute, alors que la conso mémoire devrait rester stable (puisque les mêmes objets sont utilisés).

J’ai tenté de mettre les images en “garder en mémoire”. On gagne en réactivité, mais la fuite est toujours là. Elle semble néanmoins se réduire pour les images qui ne sont pas lissées. Pour les images qui gardent leur échelle, ça va. Mais pour les images redimensionnées, l’effet est dégueux, et ne peut donc pas être désactivé pour toutes les ressources visuelles.

Je pense avoir exploré toutes les pistes de mon coté, et je ne vois pas comment résoudre/atténuer ce problème.
Quelqu’un a une idée ?

EDIT 1 :

Je teste le jeu avec une nvidia d’entrée de gamme.
La fuite mémoire n’est plus. C’est cool, on reste en dessous des 300 Mo. Mais j’ai quand même un plantage !

Aucun explosion mémoire ou saturation quelconque. Le jeu fonctionne, je change de scène, et paf, ça coince.
Ca le fait systématiquement au delà du 10ème changement de scène (entre 11 et 13 pour l’instant). Et ce, quelque soit la scène concernée (celle qui gère toutes les autres ou les scènes dédiées).
Etonnant, non ?

Je pourrai avoir l’executable du jeu qui déclenche la “Fatal error” ? :slight_smile:

Ici : http://dix.thefrogstudio.net/Jeu/DIX-Install-FR.exe

Je vais voir si en diminuant le nombre d’images du sprite Decor (qui stocke toutes mes images de décor), cela limite la fuite mémoire.

J’ai vu aussi sur les forum sfml qu’il y avait pas mal de problèmes de ce genre avec Intel HD, mais qu’ils devraient être résolu avec une mise à jour de la bibliothèque datant de fin 2013.

Après avoir fait 50/60 changements de scènes dans tous les sens pas de plantage et la conso mémoire s’est stabilisé à plus ou moins 245 Mo, pas de fuite apparamment.
Donc ouais, je pense que mettre à jour SFML semble être une bonne option, en espérant que ça corrige plus d’un soucis !

C’est résolu dans la version 3.6.76.
La conso mémoire reste stable à 520 Mo lors des changements de scènes, quelque soit la carte graphique concernée.

J’ai même l’impression que je peux à nouveau jouer le jeu sur de vieilles cartes graphiques, sans que Firefox me bloque WebGL (et donc le jeu) pour x raisons.