**UPDATE March 9th 2015**
I've recently learned that some apps will override or change timing resolution while they are running even if timer resolution is set to maximum 0.500. Example: google chrome is built to run on mobile devices and is designed to save on power and changes timer resolution to 1000. What this means... say in battlefield 3, 4, and hardline, you need to have a browser open to use battlelog to join a game. If you do not close the browser and the game has loaded your timer resolution will be at 1000 not 0.500. So make sure you close google chrome after you are ingame or it says loading level.
Deferred procedure calls (DPC(s) Latency) (usually in bios) allow programs to queue actions to be done quickly in the processor scheduler, and they hang the whole computer until they get processed.
For example, drawing a video frame on a screen needs to be done as soon as the data is ready and the frame time is reached. This is all done in fractions of a second and isn't noticed by many people but actually effects the following...
1000us = 1ms
HPET ON: between 100-150us delay
HPET OFF: between 5-15us delay
Even though it doesn't seem like much, but imagine every action and each PC component is effected by that same 100-150us delay, It can add up to MANY milliseconds and significant performance loss. The end result is, to higher end players, another step forward is crispier and snappier inputs and actions across the board.
"The problem" section. HPET is a continuously running timer that counts upward, not a one-shot device that counts down to zero, causes one interrupt and then stops. Since HPET compares the actual timer value and the programmed target value on equality rather than "greater or equal", interrupts can be missed if the target time has already passed when the comparator value is written into the chip's register. In the presence of non-maskable interrupts (such as System Management Interrupts) that don't have a hard upper bound on their execution time, this race condition requires time-consuming re-checks of the timer after setup and is hard to avoid completely. The difficulties are exacerbated if the comparator value is not synchronized with the timer immediately, but delayed by one or two ticks, as some chipsets do.
It can be used by software or the os for very accurate timing, however when it's "ON/Enabled" then windows will use it as the main clock source instead of the other options like the cpu TSC (time stamp counter).
The HPET can provide more precise timing, however the OS has to reference it via a memory address, or I think the HPET can raise a interrupt,
so therefore it's slower.
The TSC may be less precise, however it's a register in the CPU so this is the fastest possible way to access a clock source.
Results with DPC Latency Checker:
HPET 64-Bit ON: between 100-150us
HPET OFF: between 5-15us
3-4 frames per second loss, single card and CFX with HPET OFF, chance of stuttering decreased accordingly.
*Some motherboards have HPET enforced and it can't be disabled.
Just keeping this little application open in the background will reduce DPC latency, improve responsiveness. Good workaround particularly for those who are stuck with an enforced HPET On.
I tested this on my workstation dual core who is using a lot of CPU time constantly. HPET is off.
DPC Latency is ~650us at 0.977ms timer resolution (default with my apps running).
DPC Latency is ~190us at 0.5ms timer resolution (maximized).
I now keep this app running constantly in the background, everything feel snappier.
On my gaming rig, HPET On (for this test purpose only):
DPC Latency is ~100us at 1ms timer resolution (default with DPC Latency Checker running, Windows default is normally 10ms)
DPC Latency is ~10us with some peak at 100us at 0.5ms timer resolution (maximized)
Entering a game normally bring timer to 1ms but you can improve it even more with this application running in background to 0.5ms. Depending the game and your system you may feel better responsiveness and less stuttering.
CPU Enhanced Halt (C1E) & EIST decrease overclocking reliability, create DPC latency spikes and hiccups in some circonstances.
Depending on your model & BIOS, Intersil power controllers may be defaulted to intermediate hardware power management, creating high DPC latency under some circonstances. Only way I found to fix that was to install Gigabyte Dynamic Energy Saver, turn it On then Off. Now optimal performance, minimal power management are set (even if you reinstall Windows). You can uninstall DES or disable the associated service after this is done. This may apply to other mobo manufacturers using similar PWM controllers and softwares.
Remove AMD CCC.exe & MOM.exe from automatic startup and/or kill process before gaming (single card & CrossFireX)CCC.exe can increase DPC latency, you can check that with Resplendence Tools (LatencyMon) & DPC Latency Checker. Shut down that bitch and her mother (MOM.exe), you will get some additional fps from it. The slower your computer the bigger the increase in responsiveness and stuttering reduction, dual core benefit the most.
Right-click taskbar> Start Task Manager > right-click CCC.exe> End Process> right-click MOM.exe> End Process.
Install AnVir Task Manager to easily untick CCC from startup. CCC can still be opened from right-click on desktop to change settings if needed, just kill the processes again after your changes.
Original Thread without my edits