UN DOEVENTS PLUS RAPIDE

Messages postés
135
Date d'inscription
jeudi 30 janvier 2003
Statut
Membre
Dernière intervention
12 juillet 2006
- - Dernière réponse : Herge89
Messages postés
1
Date d'inscription
jeudi 14 avril 2005
Statut
Membre
Dernière intervention
13 juillet 2006
- 13 juil. 2006 à 16:05
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/20535-un-doevents-plus-rapide

Afficher la suite 
Herge89
Messages postés
1
Date d'inscription
jeudi 14 avril 2005
Statut
Membre
Dernière intervention
13 juillet 2006
-
Quand on cherche la performance on code pas en VB :)

Désolé de vous avoir laissé galérer plus de 2 ans pour rien avec ce langage lol.

Bravo quand même à MadLucas pour la clarté de tes explications.
jockos
Messages postés
321
Date d'inscription
dimanche 22 octobre 2000
Statut
Membre
Dernière intervention
14 mai 2005
2 -
La version en C++ pour ceux que ça interresse...
http://www.cppfrance.com/code.aspx?ID=9878
gandalfkhorne
Messages postés
70
Date d'inscription
dimanche 11 janvier 2004
Statut
Membre
Dernière intervention
1 octobre 2004
-
Je trouve ce code très intéressant car dans le cas du cryptage il évite une perte de temps phénoménal.

Merci encore ;-)
Afyn
Messages postés
613
Date d'inscription
samedi 3 août 2002
Statut
Membre
Dernière intervention
22 décembre 2016
-
-> Proger
Je pense pas que DoEvents dure 1ms ...
A mon avis, il rend la main immédiatement ...
Au moins dans certain cas.
Ds Mon WaitableTimer en forcant la Priorité sur Critical en tout cas ...
Si quelqu'un arrive a mesurer !

A+
Afyn
Proger
Messages postés
248
Date d'inscription
vendredi 10 novembre 2000
Statut
Membre
Dernière intervention
19 décembre 2008
-
Pour continuer le débat là ou s'arrête MadLucas :
Mais alors si DoEvents fait rigoureusement la même chose que le DoEv de Unreal, comment expliquer que DoEvents est *plus lent* que DoEv ?
Petite piste à 10 balles : DoEvents (aka rtcDoEvents dans msvbvm60.dll) , en outre de plaçer le message du processus en cours en fin de stack win, ne doit-il pas non plus gérer l'IDE de vb ? je suppose que l'api rtcDoEvents, en plus de faire la même chose que DoEv, doit également vérifier un ensemble de paramètres dans l'environnement VB (peut être même lançer un thread pour récupérer l'interruption Ctrl+Pause ...) d'où l'apparente "lenteur".
Par la pratique on remarque que DoEvents dure "au moins" 1 millisecondes, ce qui pose des problèmes de préçision dans les boucles.
Nota : lorsque on compile le programme de test, laquelle des 2 fonctions est la plus rapide ?

Sinon pour ce qui est de faire tourner son appli en "arrière-plan", rien de tel qu'un SetPriorityClass vers idle...