fuite mémoire, dofus prend trop de memoire

Répondre
Partager Rechercher
Même pour ça on trouve des kikitoudur...

Nan mais où va-t-on? "Moi j'ai 10 comptes!" "Moi j'en ai 14" le prochain en aura combien 20?

Non mais je vous jure...
2 Comptes, ça m'arrive de temps en temps quand une amie doit déco d'un donjon et qu'on à besoin d'elle pour le finir, et c'est déjà ingérable (pas en mémoire mais en utilisation...)

Pour en revenir au problème de memory leak, c'est pas de venir poster ici que ça va se régler, les développeurs d'Adobe cherchent à corriger leur problème et ceux de Dofus cherchent une solution pour le diminuer en attendant.

Donc faites comme les gens normaux, jouez un seul compte et wait and see!
Citation :
Publié par HarvestR
@Papaddy

Pour utiliser le StandAlone 9.0 pour Windows (utilisateur averti)
Vous verrez que la première fenêtre de Dofus indique Standalone 9.0.45 au lieu de 8.0.22.
Pour Mac : Macintosh Flash Player 9 Projector content debugger

Pas encore testé.
Citation :
Publié par Llewellyn
Et ce truc en stand alone permet d'éviter quoi ?
La fuite mémoire pardi!

Selon certaines sources la fuite ne viendrait pas directement de Dofus mais d'un problème de FLASH.
Bonjour tout le monde. en cherchant sur la toile et notamment sur le site de macromedia je m'aperçois qu'il existe une version 9.x du macromedia flash-player or celle qui est exectuée au lancement de Dofus est la 8.0.22 comme le rappel HarvestR. Cet executable 9.x est-il le meme que tu conseillais HarvestR??

je met le lien du telechargement
http://www.adobe.com/fr/products/flashplayer/
Citation :
Publié par Goufou
Euh... pourquoi faire compliqué?
Ici pour la version 9,0,45,0 de Flash (pour intel et ppc), et utilise idodus pour faire le projecteur.
Pas de réel problème de memory leak pour ma part (macbook cduo2Gz 1go RAM), en tout cas sans commune mesure avec les problèmes de la version 8.5.
Citation :
Publié par ptit tom
Euh... pourquoi faire compliqué?
Ici pour la version 9,0,45,0 de Flash (pour intel et ppc), et utilise idodus pour faire le projecteur.
Pas de réel problème de memory leak pour ma part (macbook cduo2Gz 1go RAM), en tout cas sans commune mesure avec les problèmes de la version 8.5.
Bof, c'est pas très compliqué, et ça permet de tester le "standalone".
Après test, je ne vois pas trop la différence.

Sinon pour ma part j'ai des problèmes de "memory leak", mais je n'ai pas ta configuration, j'ai un PPC 1,3Ghz 1go RAM. J'ai du mal avec 2 comptes (mais ça passe quand même avec un peu de patience). Et je redémarre toutes les 2h environ.
Bon je l'ai installé et ai relancé le jeu, la version exécutée est toujours la 8.0.22 je pense que la version flash est intégrée directement dans le programme Dofus et donc que pour pouvoir exécuter une version plus récente du flash il faut un nouveau client je me trompe?

mais dans ce cas bein c'est aux devs de l'intégrer quoi...
Citation :
Publié par Goufou
Sinon pour ma part j'ai des problèmes de "memory leak", mais je n'ai pas ta configuration, j'ai un PPC 1,3Ghz 1go RAM.
J'avais le même problème avec mon powerbook 1Ghz 1Go RAM. Quand j'ai changé d'ordi en juin dernier c'était pas beaucoup mieux. Le passage à la version 9 et l'utilisation d'un projecteur ont beaucoup réduit ces problèmes.

En revanche, depuis la version 1.18, c'est flash qui semble avoir des soucis: par exemple, j'ai régulièrement le problème suivant: le changement de qualité ne s'opère pas, même après redémarrage d'idofus. Pas vraiment gênant (je joue en qualité sup généralement), mais de temps en temps, on aime bien pouvoir redescendre.
Hum... J'ai essayé la méthode d'Harvest, toujours un problème de fuite mémoire en ce qui me concerne, la dll prend de plus en plus de Ram sans en libérer. Même en jouant un compte ça finit par devenir lourd, avec de nombreux ralentissements... J'attends la solution
Merci
Merci à Harvester et à tout ceux qui ont confirmé le post.

J'ai une petite inquiétude, le fait d'utiliser un standalone en version debug (si j 'ai bien compris de quoi il s'agissait) n'exige t'il pas plus de ressources CPU ?

Fox
bonjour

j'ai peut-être quelques truc pour ostimiser la vitesse de dofus l
-lancez le en 256k
-si vous avez internet sans fil et non internet avec fil dofus va ramer un peu plus
-dernier truc regardez si l'antivirus avast est présent sur votre ordinateur car cellui-ci demande pas mal de ressource je crois...
-si rien de tout ca fonctionne et bien acheter de la ram(mémoir virtuelle) et installez la dans votre pc c'est pas bien difficil a mettre
-si vous êtes toujours désespérer formatez le Disque Dur et réinstaller tout
Citation :
Publié par le-vendeur-salut
j'ai peut-être quelques truc pour ostimiser la vitesse de dofus l
-lancez le en 256k
Pardon ?

Citation :
Publié par le-vendeur-salut
-dernier truc regardez si l'antivirus avast est présent sur votre ordinateur car cellui-ci demande pas mal de ressource je crois...
J'utilise Avast depuis des années, jusqu'alors il ne ralentissait en rien le jeu.

Citation :
Publié par le-vendeur-salut
-si rien de tout ca fonctionne et bien acheter de la ram(mémoir virtuelle) et installez la dans votre pc c'est pas bien difficil a mettre
Aucun rapport entre la RAM et la mémoire virtuelle, ce sont de choses complètement différentes. A part ça j'ai 2 Go de RAM et je lag dans Dofus, il en faut combien encore pour que le jeu soit fluide ? Dofus demanderait plus de RAM pour fonctionner que Vista ou le dernier shoot'em up 3D à la mode ? Et en puissance de calcul brute, il faut que j'envisage l'achat de Blue Gene auprès d'IBM peut-être ?

Citation :
Publié par le-vendeur-salut
-si vous êtes toujours désespérer formatez le Disque Dur et réinstaller tout
N'importe quoi. Et pourquoi pas un formatage bas niveau et un flash du BIOS pendant qu'on y est ?
Vous pouvez résumer aux néophytes?

En gros, c'est un codage du lecteur Flash lui-même qui pose soucis pour une opération en particulier.

Opération que le client dofus effectuait pas (ou moins) avant et effectue depuis le 1.18 ce qui explique que maintenant ça rame alors qu'avant non?
Cherlin
En attendant un poste plus éclairé de Harvester, je t'offre une explication très approximative:

Dofus est codé au dessus d'un langage (Flash).

Dofus crée des "objets" en mémoire au cours du jeu (par exemple ton inventaire, les statistiques de ton perso ou les monstres que tu rencontre sont crées en mémoire) afin de permettre un accès rapide à l'information.

Lorsque le jeu n'a plus besoin de certains objets (par exemple les monstres crée en mémoire il y a deux combats), une partie du programme appelé Garbage Collector les détruits et libère la mémoire pour d'autre futures objets.

Ce qui ce passe avec la nouvelle version de flash est que le Garbage collector ne marche plus bien et ne libère plus certains objets qui restent dans la mémoire alors que l'on a plus besoin d'eux, cela s'appelle une fuite mémoire.

Alors au fur et a mesure du jeu, dofus prend de plus en plus de place et fini par remplir toute la mémoire. ton ordinateur à alors de plus en plus recours a ton disque dur pour stocker la mémoire et le jeu ralenti...

Le problème est donc indépendant de dofus, qui est "bien" programmé pour que les objets soient détruit correctement, mais tant que le Garbage collector n'est pas réparé par flash, il y aura ce problème.

En faite, il y a d'après ce que dit Harvester des contournements (si les devs dofus réécrivaient dofus pour créer les objets d'une autre manière, le garbage fonctionnerai correctement), mais une telle optique impliquerai des efforts énormes sur dofus pour "réparer" une erreur qui n'est pas du fait des devs dofus. Il faut donc attendre la réparation de flash. Si tu es pressé, Harvester indique une version de flash déjà réparée, mais qui n'est pas encore parfaitement intégrée a dofus.

Voila j'espère avoir expliqué correctement, désolé pour la verbose.

Fox
MDR Cara!

Bon sinon, j'ai testé la version 9.045 debug blabla, bah ca débug rien du tout .

Merci d'avoir essayer, d'après ce que j'ai compris, le memory leak serait du à un problème affectant le "garbage collector" sorte de poubelle pour flash qui permet de décharger la mémoire vive de la machine. Donc, si le fonctionnement du GC est défaillant, bah flash stock à fond, du coup, Windows aime pas ça et va finir par paginer sur le disque dur (bcp plus lent que la ram) et voilà le laaaaaaag est né.

La question est:

Est-ce une défaillance de programmation de dofus ou serait-ce flash qui a une faiblesse?

Considérant que les pbs de memory leak sont apparrus avec la version 1.18.x de dofus, on peut considérer que le soucis vient de dofus (aucun pb avant cette version avec le mm SAflashplayer), SAUF SI, la 1.18.x instaurait une nouvelle fonctionnalité qui revelerait un soucis inérant à flash lui-même.

Mystère, mystère , et en attendant, ben j'ai de moins en moins envie de donner mon argent à ankama studio...

SIR

EDIT: merde me suis fait pougner par fox
EDIT2: fox, me semble pas avoir fait de MAJ de mon flash au meme moment que dofus est passé en 1.18.x, comment le GC peut etre affecté sans MAJ? ^^ (ou alors mon firewall est vraiment tounaze). Suis pas du tout un pro je cherche juste a comprendre, cordialement
Pourquoi ca fuit depuis la maj 1.18?
Avant, la majorité des graphismes étaient vectoriels (le client ne conservait que les contours des objets, leurs coordonnées, et remplissait de couleur). Maintenant on est passe en bitmap (si vous voulez des images completes, pixel par pixel, des objets).

Selon certaines personnes, c'est cette modif qui devait améliorer les temps de calcul (moins d'utilisation du CPU car moins de travail pour charger un bmp) mais qui a détérioré l'empreinte memoire de dofus (les bmp prennent plus de place que les images vectorielles).

Mais flash gere moins bien ces gros fichiers, du moins leur espace memoire. (c.f. garbage collector plus haut)

En bref (attention avis personnel): a la dernière maj, les devs ont voulu compenser la grande utilisation du processeur par une plus grande utilisation de la memoire :

Avant la maj : objets vectoriels : + CPU / -memoire
Apres la maj : objets Bitmap : -CPU / +memoire

En theorie ca marche, mais flash entraine des soucis...a priori...

Solution : attendre un update de flash ou repasser en vectoriel?
Citation :
Publié par CharlyFox
....
Merci pour la vulgarisation, je suis sûre de pas être la seule à apprécier.

Ca ne répond toutefois pas totalement à la question "Pourquoi seulement depuis la 1.18?"

C'est la programmation de Dofus qui use Flash d'une manière différente sur cette version et met en exergue ce problème qui jusque là ne nous affectait pas?
C'est le client qui utilise une nouvelle version Flash plus bugguée (quoique bon flash étant installé à part de Dofus, je vois mal comment il se serait upload tout seul mais néophytons jusqu'au bout)?

@Ergo: il me semblait pourtant avoir aussi remarqué que mon CPU était beaucoup plus sollicité par dofus qu'avant.
Morizio
Morizio,

pour avoir pratiqué la programmation objets (bien qu'en C++ et pas en flash) les indications de harvester indiquent que le problème viens du middleware et pas de sa programmation.

Pour avoir pratiqué la chose, il est extrêmement courrant qu'une nouvelle version de middleware donne des problèmes sur le GC, très souvent sur les handleurs/pointeurs ou équivalents. Les tests du middleware ne montrent rien car souvent les applications de test unitaires ont des portées de vie des handleurs très simples, et il faut une grosse application, utilisant des milliers/centaines de milliers de handleurs sur des longues durées pour voir la fuite mémoire.

Comme bien souvent le problème ne porte que sur une classe / template spécifique, le middleware ou langage de programmation est responsable.

Autre cas, les règles de portés sont souvent compliqués et insuffisamment explicite, et changent d'une version à l'autre.

Il est donc tout à fait possible que les devs dofus ne soient pas dutout en cause. J'ai eu le cas sur un développement sur base de donnée OO, un produit qui était en service depuis des années mais ou notre utilisation intensive lors d'un projet à permis de trouver des fuites.

@ Cherlin, selon le poste d'ergodyne ci dessus, la manière de coder les graphismes a changée entre la version 1.18 et les précédentes pour utiliser des possibilités graphique différentes (ton image de perso est plus jolie par exemple). Les choses sont donc un peu moins tranché que ce qu'elle pourrait laisser apparaître... Les dev ont tiré parti d'une "nouvelle" manière de faire les choses, à priori meilleure, mais flash bug ... La décision n'est donc pas évidente, garder les améliorations et faire réparer les choses par flash (c'est la vue à moyen terme) ou revenir en arrière et perdre les avantages de la nouvelle version (très court terme, car les efforts pour revenir en arrière sont a moyen terme des efforts en vains)... Je pense que Ankama à raison dans son approche, si tant est que les corrections flash ne durent pas des années (ce qui historiquement n'est pas le cas, flash sort des nouvelles versions très régulièrement).

Fox
Citation :
Publié par Ergodyne
Avant, la majorité des graphismes étaient vectoriels...
Ce qui fait que tu fais remonter les problèmes à la 1.17?
Je cite le carnet de bord:
" Les cartes de la zone d'Amakna ont été revues, l'aspect visuel des bâtiments et de la végétation a été amélioré."

"le client DOFUS utilise désormais la version 8 du player Flash, ce qui devrait améliorer les performances globales du client."

ici

Or, j'avais l'impression que les gens se plaignaient depuis la 1.18, plutôt?
En fait c'est surtout les modifications des maisons qui me font dire ca : certaines modifications n'ont pas été annoncées et on été faites plus tard je crois...*cherche dans le fatras de son bureau.

En 1.17 il y a eu modif des cartes et de la vegetation, mais de nombreux autres objets ont été "bitmapise" lors des changement de version suivants: mobilier de maison, registre des artisans par exemple, pour les exemples les plus visibles.
OK Fox, j'ai pas tout compris, mais le message est qd meme passé, donc c'est pas une défaillance de programmation dofus, ca serait l'utilisation d'un nouvel élément (cf ergo) qui met en valeur les faiblesses du GC.

Si j'ai bien tout lu Freud, on attend que Macromedia publie correctif ou que le team ankama trouve un pirouette pour esquiver.

Je me coucherai moins con ce soir .

SIR
Hello

Une p'tite question : est-ce que ces problèmes de fuite mémoire n'ont pas du tout été vus et reportés lors du beta-test ? Normalement, une beta-test, ça sert à détecter ce genre de problème, non ?
@Ortigal

En fait, le problème n'est visible qu'après un certain temps de jeu. Il est possible que les béta-testeurs n'aient fait que de courtes sessions (c'est mon cas) et pas un test de 3 heures d'affilé par exemple, ou que leur configuration matérielle soit telle que le problème est passé inaperçu.

@Tous

Il faut savoir qu'au niveau des bugs, les Memory Leak sont parmi les plus difficiles à détecter et à régler, surtout en l'absence d'informations de la part des concepteurs du langage. Par exemple, en C le développeur peut lui-même gérer la mémoire, alors que ce n'est pas le cas en Action Script (le langage de Flash).

Pour les personnes ayant de solides connaissances en développement (et en anglais) voici un Blog qui traite du sujet, avec l'intervention d'un développeur de Adobe (Tom Reilly).

L'explication de CharlyFox me semble très claire, il a bien décrit le problème, je ne vois rien à ajouter
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés