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

C# Discussion :

Mini application C# WPF comment limiter l'usage de la ram


Sujet :

C#

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Novembre 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Technicien Help Desk
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2015
    Messages : 8
    Points : 6
    Points
    6
    Par défaut Mini application C# WPF comment limiter l'usage de la ram
    Bonjour,

    Je cherche a limité l'usage de la mémoire ram utilisé quand on créer un projet C#, par défaut il utilise au tour de 16-18MO qui est énorme pour le petit bout de programme que j'ai créé.

    Le programme affiche une fenêtre sans bordure Windows avec un fond blanc transparent qui affiche une adresse IPV4, l'utilisateur connecter et le nom d'host de la machine, j'ai trouver un petit bout de code sur un autre forum :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    private static void minimizeMemory()
            {
                GC.Collect(GC.MaxGeneration);
                GC.WaitForPendingFinalizers();
                SetProcessWorkingSetSize(Process.GetCurrentProcess().Handle, 
                    (UIntPtr)0xFFFFFFFF, (UIntPtr)0xFFFFFFFF);
            }
            [DllImport("kernel32.dll")]
            [return: MarshalAs(UnmanagedType.Bool)]
            private static extern bool SetProcessWorkingSetSize(IntPtr process, UIntPtr minimumWorkingSetSize, UIntPtr maximumWorkingSetSize);
    fonctionne plutôt bien il diminue de moitié le mémoire ram utilisé 5-7mo~, ma question est peut on faire encore mieux en c# bien sûre ?

  2. #2
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 195
    Points
    5 195
    Par défaut
    salut

    l'empreinte mémoire est forcément "importante" en .Net puisqu'il faut monter les librairies .Net utilisées par l'application.

    Après, on s'en fout que ton application prenne 10 Mo non ?

    Si tu regardes un browser internet, ça t'en bouffe des tonnes également (surtout chrome avec chaque onglet).

    Donc, pour moi, si tu veux une empreinte toute petite, tu fais un programme en C++ natif et basta... sinon, tu acceptes la situation.

    Perso, depuis 13 ans que je fais du .Net, je ne me suis JAMAIS posé la question de la place mémoire pris par une de mes applications (en dehors de memory leak, bien sur).
    The Monz, Toulouse
    Expertise dans la logistique et le développement pour
    plateforme .Net (Windows, Windows CE, Android)

  3. #3
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    je plussoie

    et que ton appli prenne 1Mo de ram ou 50 ca change quoi pour l'utilisateur ?
    le Go de ram ne coute plus rien de nos jours ...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Novembre 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Technicien Help Desk
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2015
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    Le programme devra tourne sur des PC en windows 7 (ici pas de problème) mais également pour encore certain windows XP de 512mo à 1go de RAM, Mais effectivement j'avais regardé le language c++ qui me permettrer de créer un programme plus légé, ce qu'il m'embête c'est que sur le programme en c# jetait parvenue à faire en sorte à se que mon application soit sur un fond blanc transparent 25% sans bordure windows avec un position definit et sans que l'utilisateur puisse interagir avec le programme et tout sa plutôt facilement...

  5. #5
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    même sur un xp avec 512 Mo ton appli fonctionnera sans problème, windows sait prioriser la ram quand il en manque

    sinon pour 3€ sur ebay tu peux trouver une barrette de 512 ^^
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Novembre 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Technicien Help Desk
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2015
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    pour vos réponse,

    Je pense me tourné vers le C++ pour ce petit programme et sinon le programme c# fera l'affaire .

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

Discussions similaires

  1. Limiter l'usage de la RAM
    Par JeremGamer dans le forum Général Java
    Réponses: 8
    Dernier message: 17/04/2014, 13h14
  2. [Deploiement] Comment faire un setup de mon application Web WPF ?
    Par wmenant dans le forum Windows Presentation Foundation
    Réponses: 7
    Dernier message: 06/10/2008, 19h35
  3. Réponses: 9
    Dernier message: 05/12/2007, 11h34
  4. Réponses: 3
    Dernier message: 16/08/2007, 03h02
  5. Comment interdire l'usage de certaines applications
    Par GBW067 dans le forum Windows XP
    Réponses: 3
    Dernier message: 10/08/2006, 14h39

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