DPC LATENCY=INPUT LAG
INPUT LAG=HITBOX LAG
I have actually replaced a motherboard so i could disable HPET. Ignoring the fact that HPET does not affect FPS more than a couple FPS, and that difference is measured on some benchmark because when you are benchmarking YOU DONT TOUCH THE MOUSE BECAUSE IT WILL AFFECT THE SCORE, RIGHT? When you are actually in a game there is near constant input, right? (If there isnt then you are probably just camping the entire time and if so then I suggest simply hitting ALT-F5).
Input results in ISRs and DPCs regardless of how good your system is setup or how many FPS you get when you benchmark. HPET lengthens the execution time of those ISRs and DPCs, which results in input lag. If your FPS is too low and you lower your graphics settings the game may not look as pretty but you can still play effectively, but if your DPC Latency is too high, then you have to not only consider real world factors such as bullet drop, wind speed and direction, and target movement, but you also have to compensate for the DPC latency. Lowering your graphics settings wont help with that, trust me. Lowering the DPC Latency made a huge difference for me, at the time i was playing crysis wars on an i7 2600k running at 4.2Ghz with two 5870's at 1Ghz. My FPS never dropped below 120 and usually it was much higher, and lowering my DPC Latency from between 50-80 to close to zero made a huge difference in my hit ratio and my K/D.
Heres some text from Von Dach's post on GURU 3D:
Quote: Problems 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. http://forums.nvidia...howtopic=183329
Quote: A guy on another forum claimed that by disabling it, his DPC latency plummeted and his gaming performance improved; most notably the microstuttering.
So I tried it myself, and the difference to my astonishment, was very noticeable. First off, my DPC latency dropped big time. Not that it was high to begin with, but now it hovers below 10 for the most part.
Second, I noticed that general windows performance felt snappier. I know I'm not imagining things, because like many, I scrutinize my system so I'm sensitive to even minute changes in performance.
And last but not least, gaming performance is definitely smoother. Anyone with SLi will tell you that occassionally when playing a game, you experience a bit of lag or stuttering for no apparent reason whatsoever. Most people attribute these minor discrepancies to SLi, but what if it's something else? Because I can tell you, that my overall gaming experience has improved since turning HPET off.
If you have the HPET option in your BIOS, I highly recommend experimenting with it and see if it impacts your performance. There's a possibility that having it on could increase the amount of microstuttering in any given game; particularly if you're running SLi. http://www.xtremesystems.org/forums/....php?p=4592036
Quote: 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. My own result with DPC Latency Checker:
HPET 64-Bit ON: between 100-150us
HPET OFF: between 5-15us
I loss 3-4 frames per second, single card and CFX with HPET OFF, but I know chance of stuttering decreased accordingly.
*Some motherboards have HPET enforced and it can't be disabled (Asus).
Maximize your Windows timer resolution
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.