|
Ralentissements de l'affichage |
|
Stagiaire WDF
Inscrit: 13/06/2006 09:46
Post(s): 6
|
Bonjour,
mon programme a au moins 7 threads en éxecution qui utilisent : - API Windows(Socket) ou - base de donnée (SQL SERVEUR via odbc) - tableaux partagés (SectionCritique)
Il arrive que la fenetre principale ne réponde plus aux actions de l'utilisateur. Il faut attendre que tout ces threads soint fermés pour avoir de nouveau la main.
Je précise : l'utilisation UC est d'environ 10% donc pas de taches bloquantes !
Problème de Windev sur la gestion des événements ?
J'ai aussi mesuré pour le fun le temps mis par la fonction Multitache(-2) pour s'éxecuter. Normalement, on devrait avoir environ 20 ms. J'ai très souvent une valeur supérieure à 500ms, et ça monte même à 4s !
Avez vous déjà eu des problèmes de non réponse aux actions de l'utilisateur ?
Y a t-il un moyen de forcer les messages windows dans la pile des messages ?
Merci de vos retours.
Contribution le : 15/11/2006 14:20
|
|
|
Re: Ralentissements de l'affichage |
|
Animateur WDF
Inscrit: 02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
|
Bonjour,
Pour forcer les messages Windows voir du coté de SendMessage() Contrairement à postMessage SendMessage envoi directement le message à l'objet voulue sans passer par la file d'attente.
Contribution le : 15/11/2006 17:36
|
|
|
Re: Ralentissements de l'affichage |
|
Inscrit: 19/11/2002 12:20
Post(s): 390
|
Si j'ai bien compris tu fais appel à "API" dans un thread pour les sockets de Windows (winsocks), as tu regardé si par hasard l'appel à "API" ne serait pas bloquant dans un thread? Pourquoi utilises tu winsock plutôt que les sockets Windev qui elles marchent sans soucis dans des threads?
A priori si le thread principal (la fenêtre) est bloquée, c'est qu'il y a un blocage dans un des threads, mais ça tu le savais déjà :) Ca peut venir de l'utilisation de "API" ou alors une requête? Il faudrait voir quel thread bloque la fenêtre lors de son exécution ou quand (traces, etc...)
Contribution le : 16/11/2006 12:28
|
|
Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.