How Windows programs achieve accurate timing

Source: Internet
Author: User
Tags current time message queue time interval

1. Not high precision

Windows98 is probably 55ms,windows NT is probably 10ms.

2. Wm_timer message may not be processed in time

Wm_timer messages, like other messages, are stored in a normal message queue. If the program processing other messages, using too long time, it delayed the processing of WM_TIMER messages, from the effect of the equivalent of the timer to be late.

3. Wm_timer message may be missing

This way, if a Windows program is demanding on time (for example, software such as a tester), what happens?

"The Soldier Ethernet Tester" uses the following stupid method.

This approach is very simple, but it does work. The following is the pseudo code for this method.

Interval=x; The time interval that is required

Next_do_work_time= current time;

while (!need_stop)

{

Todo

{

Cur_time= current time;

} while (!need_stop && cur_time

if (need_stop) break;

Do_work ();

Next_do_work_time+=interval;

}

It is important to note that this approach is CPU-intensive:)

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.