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

Langage Delphi Discussion :

Lancement de programme très long


Sujet :

Langage Delphi

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 141
    Points : 40
    Points
    40
    Par défaut Lancement de programme très long
    Bonjour,

    Je développe une application métier sous Delphi7.

    Depuis quelques temps, mon application est très longue à se lancer (environ 10 sec) alors qu'avant elle mettait environ 2 secondes.

    Quelques fiches ont été créées pendant ce laps de temps mais pas suffisamment pour expliquer ce ralentissement.

    Si je supprime l'intégralité des fiches créées automatiquement en les rendant simplement disponibles je retrouve un lancement en 2 sec.

    Si je fais de même mais uniquement avec les dernières fiches créées le temps est toujours de 10 secondes.

    J'ai intégré les composant Devexpress à mon projet mais le problème de ralentissement est survenu quelques semaines après leur utilisation.

    Je ne sais pas qu'est ce qu'il peut se passer au démarrage qui ralenti considérablement l'application.

    Est ce qu'il existe un moyen de savoir qu'est ce qui se charge au démarrage d'une application ?
    Y aurait t il une option de compilation à modifier ?

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 563
    Points : 25 165
    Points
    25 165
    Par défaut
    Personnellement, à part la MainForm, j'ai rarement autre chose qui s'ouvre dès le début
    Je préfère instancier les fenêtres uniquement qu'au moment utile, d'ailleurs, je supprime systématiquement la variable Form créée automatiquement dans les fenêtres secondaires

    Il faudrait vérifier si tu ne lancerais pas des SQL lors des OnCreate qui ralentirait leur création !
    Utilise QueryPerformanceCounter pour mesurer les CreateForm et trouver la fenêtre coupable

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    707
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 707
    Points : 777
    Points
    777
    Par défaut
    Sous quel OS ?

  4. #4
    Membre chevronné
    Avatar de Droïde Système7
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    2 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 2 262
    Points : 1 928
    Points
    1 928
    Par défaut
    Bonjour,

    Pas ta protection antivirus tout simplement qui s'acharne sur telle ou telle partie du code ?

    La semaine dernière j'ai eu une alerte de KIS me disant qu'il avait supprimé un exe.

    Cet exe était présent depuis des mois et des mois d'ailleurs c'est moi qui en étais l'auteur, il me servait de pense-bête pour des manip diverses et variées de strings. Et à y rejeter un oeil ; vraiment aucun code suspect dedans.

  5. #5
    Membre averti Avatar de Moez.B
    Homme Profil pro
    Développeur Delphi
    Inscrit en
    Mars 2006
    Messages
    219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2006
    Messages : 219
    Points : 370
    Points
    370
    Par défaut
    Salut,
    ça dépond de ce que tu es entrain de faire dans l'unité dpr de ton projet , j'ai assisté à des projets énormes ou le débogage de l'unité du projet demande une bonne demi de journée de traçage (contrôle de la version, habilitations des utilisateurs, affectation des modules, cryptage et sérialisation , reconstitution des paramétres , lecture des fichiers ini, xml , contrôle et écriture dans les logs ..) ...
    je conseille vivement d'ajouter uniquement les éléments dont on a besoin dans le projet, et puis essayer d'optimiser (opérations binaires, éviter les créations des fiches dont on n'a pas besoin, comme a mentionné ShaiLeTroll, les chargements SQL à fort poids n'est pas dans la faveur des performances du lancement.
    Sinon, une petite question, est ce que tu as des composants Jedy dans ton projet ?
    Bonne journée

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 141
    Points : 40
    Points
    40
    Par défaut
    Bonjour,

    Merci pour vos réponses.

    Je développe sous Windows 7.

    Je vais essayer de désactiver mon antivirus mais je doute que ça vienne de ça car je n'ai pas changé d'antivirus depuis le début et si je vire la création de toutes les fiches de mon projet les temps d'exécution redevient normal.

    J'utilise en effet des composants JVCL, notamment pour les infobulles et les couleurs sur les barres de titre.

    Je vais faire le calcul avec QueryPerformanceCounter pour voir quelle fiche poserait problème en commençant par les plus importantes.

  7. #7
    Membre expert
    Avatar de e-ric
    Homme Profil pro
    Apprenti chat, bienfaiteur de tritons et autres bestioles
    Inscrit en
    Mars 2002
    Messages
    1 561
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Apprenti chat, bienfaiteur de tritons et autres bestioles

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 561
    Points : 3 951
    Points
    3 951
    Par défaut
    Si tu élimines l'auto-création des fiches, il faut que tu retrouves tous les appels à Show ou ShowModal sur ces fiches et que tu t'assures qu'elles sont bien créées avant l'affichage et éventuellement détruites après. C'est en général simple mais cela dépend de la façon dont ton application gère l'affichage.

    Il faut aussi que tu fasses attention aux datamodules qui sont autocréés, l'élimination de leur caractère auto-créé demande du travail et de la vigilance.


    Cdlt

Discussions similaires

  1. (débogage) Lancement et arrêt d'un projet très long
    Par feralp dans le forum Visual Studio
    Réponses: 7
    Dernier message: 05/09/2013, 19h04
  2. Demarage des programmes très long
    Par venegan dans le forum Autres Logiciels
    Réponses: 7
    Dernier message: 02/03/2006, 16h50
  3. delete très long
    Par slefevre01 dans le forum Oracle
    Réponses: 7
    Dernier message: 06/10/2005, 13h16
  4. Très long texte dans Quick Report - Comment faire ?
    Par delphi+ dans le forum Composants VCL
    Réponses: 2
    Dernier message: 21/08/2005, 22h18
  5. [DCOM] Accès refusé au lancement du programme à distance
    Par raoulmania dans le forum Web & réseau
    Réponses: 7
    Dernier message: 22/06/2005, 13h01

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