Originally Posted by CorruptBE
Derp didn't mean it this way. For me making changes to HPET in the BIOS and the useplatformclock gives me a noticable difference in feel with my mouse. Thus far the best result was with HPET enabled in the BIOS and not useing the platformclock. If I set useplatformclock to true my mouse feels very sluggish.
Strangely enough enabling HPET in the bios but using useplatformclock false also feels different than disabling HPET al together in the BIOS.
EDIT: Not entirely sure about mouse feel but setting my RAM timings manually to what it should be able to handle (8-9-9-24 currently) halved my DPC latency so it did something right.
And a DPC latency reaching 500 is not OK at all. I had a mate of mine hitting more then 100 in a idle state, no sudden spikes, just a stable 100 to 150 ish. He was complaining about a stuttering/laggy feel in games. After doing some tweaking and dragging it down to 50 ish the laggy/stuttering feel was gone.
DPC latency hitting 25 to 35 ish now after changing my RAM timings.
Firstly, I did not say 500µs was OK, I said it's only if you are approaching 500µs that you will start running into problems. (primarily audio-related) Anything in the 100–200µs range is fine and will have no impact on system performance, certainly not input lag. Unless you have a particularly bad driver or piece of software running, most systems should be well under 250µs without doing any tweaks.
Again, DPC latency is measured in microseconds
, not milliseconds
. If your mouse is being polled at 1000Hz, then it is updating at 1000µs. So if your DPC latency is below that, it cannot
be impacting mouse input.
At best, your display is updating at 120Hz (8000µs) and if it's LCD-based there is at least
another 2000µs latency on top of that.
Anything you see by reducing DPC latency from 100–200µs to 0–50µs as far as mouse input is concerned, is entirely
If you are disabling HPET in the BIOS, and setting useplatformclock
to false, you are forcing Windows to use the slowest, and least accurate timers—TSC+LAPICs which are slow and need synchronised.
If you have HPET disabled in the BIOS and have useplatformclock
enabled, Windows should just be using LAPICs—slow, but no synchronisation needed as there is only one clock running.
If you have HPET enabled with useplatformclock
disabled, Windows will now be using a combination of TSC+HPET which need synchronised.
If you have HPET enabled and enable useplatformclock
, Windows will solely be using HPET, which is a significantly faster clock (about 14MHz compared to less than 4MHz) that is more accurate, and does not require synchronisation.
Using only HPET likely will increase DPC latency. On my system I went from 80–140 DPC latency (average around 95) to 100–180 DPC latency. (average 110) Running TimerResolution
then brought this down to 60–120, average 80. This is a full OS install with peripherals plugged in and lots of software running in the background, not a system "optimized" for gaming by disabling everything that is not the game itself.
I can get my system down to 3–20µs DPC latency, averaging around 12, but this requires disabling features that I use, power saving, and using non-optimal drivers.
There is more to system performance than just DPC latency, and as previously mentioned, if you aren't even close to approaching 500µs, reducing it to sub-50µs numbers results in sub-optimal performance in other important areas.
Again, try running WinTimeTester
on your system and see what clock QueryPerformanceFrequency is running at, and whether or not your clocks are synchronised. (Ratio should settle on 1.0000 after a few seconds) With HPET enabled mine is running at 14.31818MHz.
Originally Posted by h8m3zilla
i find win8 being more responsive and somewhat smoother than win7 even with 300 series drivers, though comparing it to a year old win7 installation might be the reason ;o
It's probably mostly down to it being a fresh install, though I believe they have removed some of the legacy timer options.Edited by NotAgain - 9/30/12 at 5:22pm