Introduction
How Intel® dual-core mobile platforms are affected by high clock-interrupt rates and sleep states.
By Karthik Krishnan, Intel Corp.
The Win32* interface provides various APIs for periodic execution of an application code at a desired frequency. These are based on the periodic timer ticks of the system clock built into the Hardware Abstraction Layer (HAL) of the Microsoft Windows* operating system. Various applications such as multimedia playback have threads for disk I/O, decoding, audio-video output and UI. Typically they use the timer based interrupts for periodic execution of a code section before or at a particular timeline (for example, play audio every 90 milliseconds, etc.) The following are the most commonly used APIs for this scenario:
timeSetEvent(UINT uDelay, UINT uResolution, LPTIMECALLBACK lpTimeProc, DWORD_PTR dwUser, UINT fuEvent)
This is a multimedia timer from Win32 that runs in its own thread that is available from winmm.lib. The callback function can be either executed periodically or scheduled once, depending on the fuEvent parameter.
SetTimer(HWND hWnd, UINT_PTR nIDEvent,UINT uElapse, TIMERPROC lpTimerFunc) available through user32.dll
The most common usage of this function is to post a WM_TIMER message periodically to an application window and invoke the callback while handling the timer message.
There are additional APIs such as WaitableTimers(), QueuedTimers(), etc.; however, all of them use the system clock to trigger timer-based code execution.
![]()
If you're interested in this topic, these articles may be helpful:
![]() | Intel Fortran Compiler 8.1 for Linux Intel Corp Reduce time-to-market, optimize your code for Intel®... |
![]() | Intel Math Kernel Library 7.0 extends benefits by Matt Gillespie, technical author and editor. Intel Corp. The Int... |
![]() | Hyper-Threading Technology, Multi-core, and Mobile Intel By Khang Nguyen A Hyper-Threading Technology (HT Technology) enable... |
![]() | Deploying Oracle9i Real Application Clusters on Intel® architecture-based clusters Information storage and retrieval lies at the heart of almost all core... |
![]() | Intel C++ Compiler 8.1 for Linux free downloads from Intel Corp. Intel® C++ Compiler for Linux accelerates your... |
![]()
Related Jobs:
![]() | Software Development Engineer in Test #149952 - CA - Mountain View - Microsoft Corporation Do you love cutting edge television technology? Would you like the opp... |
![]() | System Analyst I #0081439 - TX - Austin - IndyMac Bancorp, Inc. Post Date 1/22/2007 Requisition Number 0081439 Job Title System An... |
![]() | C++/Linux Developer - NY - Manhattan - Athena Archiver Athena Archiver is a software development company that focuses on exce... |
![]() | Software Engineer #N02638 - NJ - Totowa - BAE Systems Description: Software Engineer with the ability to participate in var... |
![]() | Unix Technical Lead #ORB00000SB - IL - Chicago - Orbitz, LLC Unix Technical Lead – ORB00000SB Job Description Ap... |
![]() | System Analyst I #0080462 - MI - Kalamazoo - IndyMac Bancorp, Inc. Post Date 10/23/2006 Requisition Number 0080462 Job Title System A... |
![]() | IT Leader-Operations #604459 - OH - Evendale - General Electric Company Responsibilities * Serves as owner of operations excellence for dai... |
![]() | Unix Systems Administrator #14847 - CT - Middletown - Aetna Inc. Job Detail Job Title: Unix Systems Administrator Job Group: ... |
![]() | Embedded Software Developer / Architect #552695 - CO - Louisville - Sun Microsystems Title: Embedded Software Developer / Architect Location: Colorado L... |
![]() | Software Engineer #4704 - CA - Foster City - Electronics For Imaging,Inc. EFI is the world leader in digital imaging and print managemen... |

