Another look at HPET High Precision Event Timer

Discussion in 'Videocards - NVIDIA GeForce Drivers Section' started by Bukkake, Sep 18, 2012.

  1. Marctraider

    Marctraider Member

    Messages:
    14
    Likes Received:
    4
    GPU:
    670GTX
    Seems everyone is overthinking this, and Fr33thy doesn't seem to know what forcing max 0.5ms resolution timer does. Some of his explanation have merit, but I'm also seeing lower CPU-Z scores when changing to useplatformtick yes (5% ish). Could also be a weird thing on CPU-z side though.

    Forcing maximum resolution timer can actually slightly decreased throughput (obviously, but probably within margin of error on high-end systems) but increases granularity of a lot of things that depend on the timer resolution.

    Most prominently in-game fps limiters. So lets say you have a 120hz screen, trying to run consistently on 240fps (with in-game cap), you will get much closer to that 240 fps target due to the increased precision/granularity the timer gives, resulting in less tearing and smoother framepacing. Observed this behavior in both CSGO and various Cryengine games.

    But I don't see how this actually improves FPS, even in cpu-bound games, unless somehow they are really badly programmed and rely on timer tick for their speed.

    Also he advises to use disabledynamictick yes, so far all my results have showed slightly worse results across the board, and again lowered thoughput in games/benchmarks.

    Soon I'll have a new Z390 board installed with custom bios with HPET exposed, will be interesting to see if I can reproduce his findings.
     
  2. X7007

    X7007 Ancient Guru

    Messages:
    1,521
    Likes Received:
    16
    GPU:
    Inno3D 1080GTX
    Can you say what exactly you saw with disabledynamictick yes?
     
  3. Marctraider

    Marctraider Member

    Messages:
    14
    Likes Received:
    4
    GPU:
    670GTX
    I see decreased throughput in CPU-heavy benchmarking, albeit a percentage or two at best, it is always negative, never positive. And this is to be expected; Look at linux for instance were you can i.e. compile kernel with 1000hz tick rate, vs lower tickrate or tickless, there is also a difference between throughput and, I guess 'deterministic' latency. It won't actually positively affect input latency in games i.e. As for mouse polling results, I have never seen them getting better due to this tweak either. Last but not least, dynamic ticks have been implemented now since Windows 8, and who knows how much software and drivers are now actually written with this mode in mind. Going back to 'legacy' mode could actually cause more harm than good.

    On a completely different note, as some have argued it is better to leave HPET ON in Bios, and disable in Windows; It looks like this is ONLY the case when you use 'useplatformtick yes'. If you're not using that option, you'll wont see a regression keeping HPET off in bios.

    But why use platformtick yes anyway. It causes stuttering in certain conditions, I've seen consistently lower single threaded benchmark on CPU-z with useplatformtick yes and using 0.5/1.0ms windows timer resolution. Not to mention another bug that makes windows move jerky once music is playing, because it looks like it starts to dynamically adjust the windows resolution timer on the fly with this option on instead of lowering it to a fixed value while audio stream is playing.

    Really can't recommend doing this just because a tool shows 0.500/1.000 instead of 0.496/0.997.
    It is a debug command for a reason.
     
    Last edited: Apr 25, 2020
    aufkrawall2 and artina90 like this.
  4. loopy7

    loopy7 New Member

    Messages:
    8
    Likes Received:
    3
    GPU:
    1070
    I completely agree, and have attached an image I have posted elsewhere that mirrors your findings. That's not to say it will work exactly the same for all, but it does show that following a guide step-by-step can make things worse, especially if you don't know which step caused it (performance reduction).
     

    Attached Files:

    Marctraider and artina90 like this.

  5. Covid19

    Covid19 Member

    Messages:
    12
    Likes Received:
    6
    GPU:
    GTX 970
    After all the experience in years i experienced...i ve found the best tweak not to tweak windows default settings..do not waste your time for nothing bro...i have two BillGate$ O/S one is pure 1607 LTSB 14393.0 not updated not tweaked..and one 2004 RTM not tweaked..i tested more than 10 AAA games in a row and there is no FPS difference even %1...the only difference is the responsiveness which is way much responsive in 1607 because of the QPC...
    if you want more performance to gain..there is only 2 way
    1.Upgrade the device what you need(gpu or cpu or memeory etc..)
    2.Overclock the entire system in accordingly..this part is the most i liked..but OC is not that easy actually that is an ART for me...

    ..and yes ive found a way to change that fixed 10Mhz QPC...there is a way you can change it...so try to figure it out...but as i said there is no need to waste your time..
     
  6. Smough

    Smough Master Guru

    Messages:
    451
    Likes Received:
    73
    GPU:
    GTX 1060 3GB
    Any clue on on where I should I look to change QPC? Also, true, maybe lower QPC is a bit more responsive, but to be honest I just don't notice it. Maybe this is a dumb "theory", but with the higher QPC, isn't the system more stable? I am thinking it has more "time" to do operations, don't know, just an idea. I was using 1803, then installed 1809 and the system is faster, its snappier. And with the higher QPC, well, it should not be. So I assume there are more optimizations MS has done on newer O.S.

    Anyway, thanks for your info, maybe one of these days I will just revert all bcdedit commands and test the system for one or two days, then do my bcdedit "tweaks" and test games and stuff again.
     
  7. aufkrawall2

    aufkrawall2 Master Guru

    Messages:
    603
    Likes Received:
    57
    GPU:
    GTX 1070 OC/UV
    And why should anything be "less responsive" due to the timer changes in recent Windows versions if there are no performance issues measurable? It doesn't make sense. If something feels more sluggish, we are talking about lots of milliseconds of additional delay, which would totally butcher performance otherwise if they were a side effect of these timer changes.
     
    Marctraider likes this.
  8. Marctraider

    Marctraider Member

    Messages:
    14
    Likes Received:
    4
    GPU:
    670GTX
    Its not.

    People are imagining it. Nobody will feel a difference. It is the same people that said 180x feels sluggish due to 10Mhz timer 'bug' as they called it, and later it was found not to be a bug after all.

    Most likely other factors came into play that caused their lag, this one is imho pure placebo with nothing to back it up.

    And yes you can 'change' 10Mhz to 3.x Mhz by forcing ACPI timer, while not bad, and not as bad as Intel platform HPET, still not as performant as iTSC.
     
    Smough likes this.
  9. Covid19

    Covid19 Member

    Messages:
    12
    Likes Received:
    6
    GPU:
    GTX 970
    i knew or guess it one of the ancient guru begins like this but here comes a new challenger...yeah yeah we are dreaming and delusioning maybe stunning because we are drunk..we see what we want to see..blocked people you know..sorry about that been..you people think so simple..or idk how you people install O/S with official drivers..or what is your bios settings..? what equipment and how you are using them ? idk..
    what do you mean or understand when saying performance ? what is it ? and then asking me why there should be responsive difference if there is no fps difference or no performance issues..? is the same people saying there is no difference between 60hz and 120hz at locked 60fps gaming...really ? if you are talking about the screen yes there is no difference there..you see the same thing with the same motion but...
    if it comes to INPUTS..if you dont feel the difference of responsiveness then ok grandpa im not that old enough...and yes mom i have delusions and dreaming...
    note:keep hpet disabled in bios and do not change or use as a tweak in cmd bcdedit hpet or other commands...then install 2 O/S side by side..in one hand 1607/1703/1709/1803 and in the other 1809/1903/1909/2004..keep default windows settings..dont change anything except power profile..and FEEL the difference of how each O/S reacts your inputs..i still keep my hope that you join us dreaming
     
    Last edited: Apr 27, 2020
  10. Astyanax

    Astyanax Ancient Guru

    Messages:
    6,597
    Likes Received:
    2,054
    GPU:
    GTX 1080ti
    placebo is common amongst gamers.
     

  11. D1stRU3T0R

    D1stRU3T0R Member Guru

    Messages:
    166
    Likes Received:
    61
    GPU:
    8 GB
    In computers, placebo doesn't really exists. Even if you build 2 identical PC, windows settings, with same updates etc, it can still be different. Why? Bios version can be different, having a huge impact, silicon lottery (and I'm not talking just about the boost).
     
  12. Cyberdyne

    Cyberdyne Ancient Guru

    Messages:
    3,461
    Likes Received:
    224
    GPU:
    2080 Ti FTW3 Ultra
    The placebo exists in the user, not the computer.
    I've yet to see a single person properly test Windows 10 versions for latency in games. It's always how you "feel". And how you feel has nothing to do with the computer.
     
    Blackfyre and Smough like this.
  13. Smough

    Smough Master Guru

    Messages:
    451
    Likes Received:
    73
    GPU:
    GTX 1060 3GB
    Please help me. I know I seem like a noob, but how do I force ACPI timer on Windows 10 1809 and superior? Also, is it a good idea or could it break some things? Thanks in advance.
     
  14. patteSatan

    patteSatan Member Guru

    Messages:
    155
    Likes Received:
    40
    GPU:
    Sapphire R9 390
    Don't mess around with these settings, at all, in windows 10
     
    Smough likes this.
  15. HeavyHemi

    HeavyHemi Ancient Guru

    Messages:
    6,936
    Likes Received:
    931
    GPU:
    GTX1080Ti
    Perhaps if you made a simple concise point instead of your rage posting. Wailing about the Windows power plan is not the same thing as the system timer, nub. Did you just start with Windows 10, kid?
     

  16. janos666

    janos666 Master Guru

    Messages:
    951
    Likes Received:
    132
    GPU:
    MSI RTX2060 6Gb
    Probably by disabling HPET at firmware level and setting Windows to useplatformclock. I would still like to see the LAPIC Timer, simply out of curiosity getting into this picture. Although, I think most of here already accepted that tweaking Windows timers is essentially pointless (mostly detrimental or doesn't make any difference).
     
    Last edited: Apr 28, 2020
  17. Smough

    Smough Master Guru

    Messages:
    451
    Likes Received:
    73
    GPU:
    GTX 1060 3GB
    So HPET off in BIOS and useplatformclock on in Windows? That sounds like WAY more problems than solutions.
     
  18. janos666

    janos666 Master Guru

    Messages:
    951
    Likes Received:
    132
    GPU:
    MSI RTX2060 6Gb
    That's only my assumption. Do mind that useplatformclock is not and never was a HPET switch. It selects the top priority hardware clock source available on your platform (if any) and HPET just happens to be on top of that list on x86/AMD64 desktop systems (when it's enabled). There are other hardware clocks.
     
  19. Groot

    Groot Member

    Messages:
    26
    Likes Received:
    4
    GPU:
    GTX 1080
    Not much I would think as it's mainly used during idle periods to increase C-State idle time (nothing happening)

    My W7 OS uses HPET timer by default. IOW it's using a platform tick by default.

    Which platform clock are you using with useplatformtick yes and what interrupts?

    1909 seems way more aggressive with timer resolution than 1703 and earlier, even in standard config.

    As said earlier, it's default for my W7 to use a platform tick, perhaps it's supposed to be a W10 debug option?

    That function is a counter, not a timer.

    I seem to remember ACPI timer being used as a counter had higher latency than HPET. As a timer it's not very useful, a least on my HW, except perhaps as a watchdog.

    Placebo can have a high impact on computers with gamers fists and feet, better if they feel happy whatever the reason IMHO.


    For info, useplatformclock defines which counter is preffered for the perfomance counter. "useplatformclock 0" does not disable HPET

    Is LAPIC not default on your W10 or are you using something earlier?

    PS forgot to mention CPUz bench single thread runs only on CPU0 so expect performance regression if something else wants to use CPU0.

    PPS about synthetic timers, if not using Hyper-V then you are not using synthetic timers.
     
    Last edited: Apr 28, 2020
  20. Cyberdyne

    Cyberdyne Ancient Guru

    Messages:
    3,461
    Likes Received:
    224
    GPU:
    2080 Ti FTW3 Ultra
    @Groot what about it? What's in question here are scenarios in which hpet is off (because it should always be off) on different versions of Windows 10. That video showcasing an old bug is irrelevant.
     

Share This Page