| | Author | |
| | Date | |
|
|
| | Garth J Lancaster | 22:41 9 May '02 |
|
| | Nemanja Trifunovic | 10:49 10 May '02 |
|
| | Garth J Lancaster | 19:09 10 May '02 |
|
|
| | Assyrian | 9:42 23 Apr '02 |
|
|
| | rupen | 14:02 12 Mar '02 |
|
| | Nemanja Trifunovic | 14:34 12 Mar '02 |
|
| | rupen | 14:41 12 Mar '02 |
|
|
| | Anonymous | 21:48 3 Mar '02 |
|
|
| | mister | 10:05 17 Jan '02 |
|
| | Nemanja Trifunovic | 11:23 17 Jan '02 |
|
|
| | MarkKozel | 14:12 31 Dec '01 |
|
| | Nemanja Trifunovic | 16:47 31 Dec '01 |
|
|
| | buddie | 0:42 5 Dec '01 |
|
| | Nemanja Trifunovic | 12:17 5 Dec '01 |
|
|
| | Trapper3001 | 11:47 19 Nov '01 |
|
|
| | TinBigTX | 12:44 14 Nov '01 |
|
| | Nemanja Trifunovic | 12:54 14 Nov '01 |
|
| | kommon | 16:26 20 Nov '01 |
|
| | Nemanja Trifunovic | 16:54 20 Nov '01 |
|
|
| | Anonymous | 1:27 22 Oct '01 |
|
| | Anonymous | 20:35 1 Mar '02 |
|
|
| | Manish_Agarwal | 0:16 18 Jul '01 |
|
|
| | Daniel Lohmann | 20:18 12 Jul '01 |
| You missed the (for my opinion) most important timer type: the waitable timer kernel object, introduced with Windows NT 3.51 SP5/Windows 98.
A waitable timer is a kernel object, created with CreateWaitableTimer() and then works pretty same as an event that raises signaled state if the time has elapsed or every n intervalls.
The great benefit of kernel timers is that they a) use much fewer system ressources as multimedia timers (which create a THREAD_PRIOROTY_TIME_CRITICAL thread to do the timer operations) and b) you don't need a message loop.
Timer resolution on NT/2k (I don't know and don't care about Win9x) is a global setting and affects most kinds of timers. It can be set by the multimedia timers timeBeginPeriod() call, which calls the native NT NtSetTimerResolution() function exported from ntdll.dll. If you set it to 1 ms, kernel timers are pretty good. In my experience they are even on high load never more than 1-2 ms late. Of course this depends on the priority of the thread that is waiting for the timer to become signaled.
By the way: Newer versions of the platform SDK denote the user data parameter in timeSetEvent() / TimerProc() as DWORD_PTR, not as DWORD, which will expand to a 64bit data type on Win64
Daniel | [Reply][Email author][View Thread] | [Modify][Delete] |
|
|
|
|
| | Nemanja Trifunovic | 21:37 12 Jul '01 |
|
| | Daniel Lohmann | 10:33 15 Jul '01 |
|