Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Speeding up DoEvents()
Message
From
30/09/1998 20:04:43
 
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Miscellaneous
Thread ID:
00142550
Message ID:
00142625
Views:
31
>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
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform