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 :

Problème de performance


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 3
    Par défaut Problème de performance
    Bonjour à tous

    Je rencontre un souci de performances assez étrange avec une appli qui utilise des winforms (appli développée avec Visual Studio Express 2008 sous Vista).

    Lorsque mon PC a été démarré en étant connecté à Internet, l'appli tourne avec de bonne peformances. Mais si mon PC est démarré sans internet, le framerate est complètement instable (et comme je développe un éditeur de niveaux pour un jeu, ça devient tout simplement inutilisable).

    Mon UserControl principal me restitue le framerate (il affiche le nombre d'images par seconde dans un coin, histoire de checker les performances).

    Avec le net : 60 fps, impec.
    Sans le net : ça oscille frénétiquement entre des valeurs comme 25, 64, 40, 10 ...

    Quelques précisions :

    - L'appli n'a aucune fonctionnalité qui aurait un rapport de près ou de loin avec internet ou une quelconque connexion réseau.

    - Avant que j'intègre des winforms je ne rencontrais pas ce problème (c'est pourquoi je pense quil y'a peut être un rapport avec les winforms)

    Du coup voila je ne comprend pas encore le lien qu'il peut y avoir entre la connexion à internet et les winforms

    Peut être est-ce plutôt un problème lié à windows ?

    Quelqu'un aurait-il des pistes sur le sujet, voir déjà rencontré des soucis de perf étranges, avec le même type de repro (avec connexion OK, sans connexion pas OK) ?

    Merci beaucoup

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    internet ou non ne peux pas affecter les performances d'une appli .net

    sans le code on ne pourras pas t'aider beaucoup dans la recherche de la cause (problème sur le code de ton appli ou sur le code qui te permet de connaitre les fps)

    tu travailles sur des graphics ?
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 3
    Par défaut
    Pour internet ça me semble bizarre aussi, mais avec ce test j'ai une reproductibilité de mon problème à 100%.

    Sinon concernant le code c'est assez délicat dans le sens ou je bosse dessus depuis maintenant 6 mois et qu'il y'en a pléthore. L'outil est à un stade bien avancé de son développement. Le truc c'est que je n'ai que récemment rencontré ce souci (lorsque j'ai dû démanager et me retrouver sans le net pendant un temps), du jour au lendemain ^^

    Concernant la composition de mon interface c'est assez simple : il y'a un Form (fenêtre principale) qui englobe tout un tas d'autre Control (personalisés pour la plupart, à part pour ceux proposés dans la liste standard comme le Menu ou le StatusStrip).

    Sinon j'utilise aussi beaucoup le système d'event pour notifier à mon interface divers changements qui peuvent survenir côté jeu.

    Dans le Control principal l'affichage se fait via un GraphicsDevice du framework XNA. A défaut de trouver plus propre comme façon de faire, le control est redessiné en permanence suite a une invalidation à chaque fois qu'il passe en idle (Invalidate() provoque un Draw()) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.Idle += delegate { Invalidate(); };
    (instruction appelée dans la méthode d'initialisation du Control)

    Peut être que ça vient de là ...

    Est ce qu'il existe une façon plus précise/plus fiable de gérer le rafraichissement d'un Control ?

    Concernant l'affichage des fps, ce n'est pas vraiment le souci. Même sans ça on sent nettement la différence à l'utilisation.

  4. #4
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Février 2009
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2009
    Messages : 66
    Par défaut
    Je vais sans doute dire une bêtise mais bon...

    Tu ne pourrais pas utiliser de BackGroundWorker?
    Cela exécutera l'événement choisi en "arrière plan" et fera peut être tourné plus librement ton application.

    J'espère ne pas avoir dit d'idiotie en rapport avec ton projet

    Carml_O

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    je suis pas expert en xna ...
    sinon faire invalidate via un timer réglé à 1/50ème de seconde
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 3
    Par défaut
    Merci à vous deux pour vos réponse

    Je vais continuer à creuser différentes pistes pour élucider la chose.

  7. #7
    Expert confirmé Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Par défaut
    Bonjour,

    Le problème sans internet vient peut-être d'une appli ou d'un service qui essaie de se connecter à internet sans succès (anti-virus, help de visual studio, ...).

Discussions similaires

  1. Problème de performance avec LEFT OUTER JOIN
    Par jgfa9 dans le forum Requêtes
    Réponses: 6
    Dernier message: 17/07/2005, 13h17
  2. [jeu]problème de performance d'un algo
    Par le Daoud dans le forum Algorithmes et structures de données
    Réponses: 12
    Dernier message: 30/05/2005, 16h07
  3. [C#] Probléme de performance avec IsDbNull
    Par jab dans le forum Windows Forms
    Réponses: 8
    Dernier message: 04/04/2005, 11h39
  4. [oracle 9i][Workbench]Problème de performance
    Par nuke_y dans le forum Oracle
    Réponses: 6
    Dernier message: 03/02/2005, 17h38
  5. [ POSTGRESQL ] Problème de performance
    Par Djouls64 dans le forum PostgreSQL
    Réponses: 6
    Dernier message: 26/05/2003, 16h18

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