Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Speeding up DoEvents()
Message
De
30/09/1998 20:04:43
 
 
Information générale
Forum:
Visual FoxPro
Catégorie:
Codage, syntaxe et commandes
Divers
Thread ID:
00142550
Message ID:
00142625
Vues:
32
>This is a copy of a FAQ I just posted:
>
>Calling DoEvents() has always been horribly slow in VFP. While reporting another issue with Hong-Chee Tan at Microsoft he found that moving the mouse around alters the test code I sent him. So this fact gives a workaround to speed DoEvents back up using a MOUSE command. Try this code for example:
>
>
* doevtest.prg
>lparameter llMouse
>
>local x, i
>
>x = seconds()
>
>for i = 1 to 100
>   if ( llMouse )
>      mouse at mrow(), mcol()
>   endif
>   doevents()
>endfor
>
>activate window "debug output"
>debugout seconds() - x
>
>Run it with and without a .t. argument and see the difference in execution times 26 vs 0.5 seconds on a P2-300 Win95 class machine.

That's really interesting Frank. So we can create a library Function called DoEventsFast() which does what you do above and replace any calls in our code.
Do you foresee any downside? Eg I have a busy web server app, like the UT app actually, that does a Doevents() every 2 seconds - this is on a powerful NT Server - so it'll be interesting what effect it has.
Thanks
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform