Problème de lenteur de mon application en cours d'execution
Kepone
Messages postés25Date d'inscriptionvendredi 2 août 2002StatutMembreDernière intervention 3 juillet 2008
-
23 déc. 2004 à 10:39
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013
-
23 déc. 2004 à 14:57
Salut,
je viens d'ouvrir mon entreprise. Je fais entre autre de la maintenance informatique et de l'assemblage.
De façon à gérer correctement mon parc machine, j'ai développé une appli permettant de saisir par client le matériel qu'il a, les durées de garantie, les n° de série etc... et de saisir toutes les interventions effectué sur le matériel ainsi que les appels téléphoniques.
Tous fonctionne niquel. Les données se trouvent dans 2 bases access : La première est la base de mon logiciel de facturation ou je récupere les clients et les articles et la seconde stocke tout mon suivi : articles vendus, garantie, Interventions, Appel Tel etc...
Mon problème est le suivant :
Au démarrage de l'appli tout tourne très bien. Les temps de réponse sont bon et les fenètres s'affichent rapidement. Au fur et à mesure de l'utilisation de l'appli, les temps de réponse se dégradent et une liste peut mettre 3 secondes à apparaitre. Je me suis dit au départ que cela venait d'une mauvaise fermeture de mes Recordsets.
[I]Pour info : à l'ouverture de l'appli je déclare mes bases access sous la forme : Set gestion = OpenDatabase(Chemingestion). Pour les recordsets je les déclare ainsi : Set Clients = Gestion.openrecordset ("SELECT * FROM Clients")[I]
Effectivement certains recordset n'étaient pas fermé correctement apres utilisation. J'ai donc modifier tous ca et c'est pareil. Y'a un truc qui m'échappe. C'est la première fois que cela m'arrive (C'est ma plus grosse appli aussi mais pour l'instant les bases sont quasi vides donc ...). Si quelqu'un a une idée...
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 23 déc. 2004 à 11:00
Vérifie que toutes les instances d'objet sont bien détruites par des Set objet = Nothing ! Cela vient sûrement de là. Vérifie la place en mémoire que prend ton application, et regarde si elle augmente selon telle ou telle action. Cette une piste pour comprendre là où ca pompe de la mémoire pour rien !
_______________________________________
DarK Sidious
[Responsable API/VB du site www.ProgOtoP.com]
Téléchargez ProgOtoP API Viewer
Kepone
Messages postés25Date d'inscriptionvendredi 2 août 2002StatutMembreDernière intervention 3 juillet 2008 23 déc. 2004 à 11:37
Ok Merci les gars.
Je vais tester d'abord la solution à DARKSIDIOUS parce que la Solution de LABOUT va me donner un sacré Taff. Je vous tiens au courant.
cs_labout
Messages postés1356Date d'inscriptionsamedi 8 décembre 2001StatutMembreDernière intervention23 octobre 20068 23 déc. 2004 à 11:41
labout
Un conseil essayer de ne plus utiliser le DAO à l'avenir.
Trop peu performant et quand il faut migrer vers sql server
avec l'ado il n'y a que la chaine de connection à changer.
@+
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 23 déc. 2004 à 12:00
Trop epu performant ??? Là je ne suis pas d'accord avec toi labout : non seulement, je n'ai pas remarqué de différence notable de rapidité entre les deux lorsque j'utilisais ADO pour mon viewer d'API lorsque j'ai basculé vers DAO, mais surtout, avec ADO ca me prenais 80 Mo de mémoire vive, et sous DAO je tombe à 15 Mo ! Ca fait une sacrée différence quand même !
_______________________________________
DarK Sidious
[Responsable API/VB du site www.ProgOtoP.com]
Téléchargez ProgOtoP API Viewer
Kepone
Messages postés25Date d'inscriptionvendredi 2 août 2002StatutMembreDernière intervention 3 juillet 2008 23 déc. 2004 à 14:01
Ok Merci les gars.
Je vais tester d'abord la solution à DARKSIDIOUS parce que la Solution de LABOUT va me donner un sacré Taff. Je vous tiens au courant.
Kepone
Messages postés25Date d'inscriptionvendredi 2 août 2002StatutMembreDernière intervention 3 juillet 2008 23 déc. 2004 à 14:30
Et ben c pas encore ca...... lorsque je compile et que je crée mon Exe sa ram à mort alors que en version non compilé c'est niquel. Comprend plus la ...
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 23 déc. 2004 à 14:57
Scanne la mémoire lorsque tu lance ton prog compilé. Regarde quels sont les feuilles qui en prenne beaucoup lorsque tu les lance, etc. Il faut que tu scrupte ton code, et voir où est-ce que tu crée des insctances d'objet qui reste en mémoire alors qu'il faudrait les désallouer. Les fuites mémoires sont souvent difficile à isoler, surtout pour un gros projet, alors bon courage ;)
_______________________________________
DarK Sidious
[Responsable API/VB du site www.ProgOtoP.com]
Téléchargez ProgOtoP API Viewer