Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Strange timing problem wit performance counter (for Windows experts?)

Author: Jeremiah Penery

Date: 21:28:42 11/09/04

Go up one level in this thread


Maybe this helps some, it was posted in another forum by a MSFT Online Support
Partner:

http://www.talkaboutsoftware.com/group/microsoft.public.win32.programmer.kernel/messages/87257.html


Fundamentally, Windows has no concept of time *other* than an interrupt
(the Time/Scheduling interrupt) that fires every 10 milliseconds. [15ms on
multiprocessor system(?)]
- Windows uses the scheduler interrupt to update its own internal clock.
- The CPU does not have a clock to tell "how much time since the last interrupt"
  * Some new CPUs *do* have an internal clock, but Windows can not rely on new
CPUs.
- QueryPerformanceCounter() relies on hardware inside the ACPI chipset.  This
functionality only exists on ACPI hardware, so Windows can not rely on it.

Basically, hardware limitations force this architecture.   When a thread
calls Sleep(), Windows can not tell if it used 1 nanosecond or 9.99
milliseconds of its quantum.



This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.