IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

Augmentation processus anormale [Débutant]


Sujet :

Windows Forms

  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2012
    Messages : 14
    Points : 11
    Points
    11
    Par défaut Augmentation processus anormale
    Bonjour,

    Voila je viens de remarquer avec ma nouvelle application un truc bizarre et très chiant, je l'avais déjà remarqué à l'époque mais la j'ai décortiqué et ça devient carrément bizarre :/
    Juste le fait de passer la souris sur un bouton ou même les contrôle de base de la fenêtre (réduire, crois rouge, agrandir etc ...)
    J'ai remarqué également que ça ne le fait pas en console mais uniquement en Windows Form (j'ai créer un projet juste une form et générer direct, j'ai rien changer et ça fait pareil :/).

    Le GC n'a pas l'air de faire très bien son travail :/

    Le truc c'est que donc la dès qu'on fait quelque chose ba ça rajoute de la RAM au processus et c'est embêtant :/

    Si quelqu'un à une idée comment palier à ce problème

    Cordialement
    Foudogue

    PS : Je travail sous Visual Studio 2012 Ultimate

  2. #2
    Expert confirmé Avatar de DonQuiche
    Inscrit en
    Septembre 2010
    Messages
    2 741
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 2 741
    Points : 5 485
    Points
    5 485
    Par défaut
    Bonjour.

    Cette mémoire finit-elle par être libérée ? Si oui, pas de souci, laisse les choses comme elles sont.

    Sinon tu as créé une fuite mémoire et c'est presque toujours à cause d'un événement liant un objet permanent à un objet qui n'est plus utilisé (souvent une fenêtre ou un contrôle UI). En effet ce dernier reste dans la liste des abonnés à l'événement et continue de recevoir des événements et ne peut pas être nettoyé.

  3. #3
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2012
    Messages : 14
    Points : 11
    Points
    11
    Par défaut
    Comment je fait pour savoir si elle se libère ? (J'avais remarqué ce phénomène via le gestionnaire des tâches, je sais que dans le debugger on peut le faire mais je sais pas comment :/ )

    Et j'ai bien préciser que j'ai tester avec un nouveau projet, cela ne vient absolument pas de moi. J'ai genre allumer Visual Studio, j'ai fait nouveau projet en Windows Form et la il génère automatiquement une Form simple, j'ai rien touché, j'ai cliquer sur Générer pour lancer l'application (donc y'a rien juste marquer Form1 en titre et une vielle fenêtre grise), je précise bien que je n'ai absolument rien changer au projet de base et en passant avec la souris sur la crois, ou réduire ou agrandir et bien ça augmente la RAM.

    Je parlais de mon application au début car c'est à ce moment précis que j'ai remarqué ça.

  4. #4
    Expert confirmé Avatar de DonQuiche
    Inscrit en
    Septembre 2010
    Messages
    2 741
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 2 741
    Points : 5 485
    Points
    5 485
    Par défaut
    Ok, donc tu vois simplement la mémoire monter, monter, monter, puis redescendre.

    Le ramasse-miettes n'a aucun raison de tourner en permanence pour récupérer le moindre kilooctet, ce serait même contre-productif (le principe des générations et du compactage de la mémoire fonctionne d'autant mieux que le ramasse-miettes fait peu de passages, pour bien distinguer les objets éphémères des objets permanents).

    Il ne se met en route qu'au-delà d'une certaine limite (mieux vaut un passage rapide de temps à autre qu'une longue pause visible par l'utilisateur plus tard) ou si le système a besoin de mémoire tout de suite.

    Quant au fait qu'un simple survol de la souris augmente la mémoire, c'est normal puisque du code dotnet est exécuté, qui va itérer des collections (donc allocation d'énumérateurs), créer des arguments d'événements, etc.

  5. #5
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2012
    Messages : 14
    Points : 11
    Points
    11
    Par défaut
    Et bien merci, donc si je comprends bien c'est normal et à partir d'un certain moment, ci l'application demande trop le ramasse-miettes viendra faire son boulot.
    Il faut juste pas que j'oublie de Dispose si besoin certain de mes objets si j'utilise plus

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [IIS 7] IIS 7 - augmenter le nombre de processus
    Par Nanais19 dans le forum IIS
    Réponses: 2
    Dernier message: 06/02/2013, 17h30
  2. [AC-2010] Augmentation taille fichier mdb anormale !
    Par Invité dans le forum Modélisation
    Réponses: 3
    Dernier message: 14/12/2012, 11h07
  3. Réponses: 4
    Dernier message: 09/02/2008, 11h18
  4. [VB6] [Système] Tuer un processus courant
    Par mdoyer dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 22/10/2002, 14h47
  5. Réponses: 2
    Dernier message: 04/10/2002, 09h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo