Another look at HPET High Precision Event Timer

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

  1. Timur Born

    Timur Born Member

    Messages:
    42
    Likes Received:
    18
    GPU:
    Nvidia 2070S 8 GB
    You have to ask the programmer of HWiNFO. The quote is what I got when I asked about HPET usage.
     
  2. mbk1969

    mbk1969 Ancient Guru

    Messages:
    10,922
    Likes Received:
    8,210
    GPU:
    GF RTX 2070 Super
    I meant - what was the point of quoting if it was not related to my HPET usage assumptions?
     
  3. Astyanax

    Astyanax Ancient Guru

    Messages:
    10,974
    Likes Received:
    4,050
    GPU:
    GTX 1080ti
    HPET is used to calculate the base clock b ecause Windows 10 broke safely reading it using other means, the prior working behavior now hangs or crashes the OS.
     
  4. Tastic

    Tastic Member

    Messages:
    17
    Likes Received:
    1
    GPU:
    RTX 2080
    This thread is freaking hilarious and I've read literally every single page... However, I do not recall seeing a consensus (At least within this thread) about whether you should be using 'useplatformtick yes' on modern systems.

    From what I gather, the settings for a modern system is as follows:

    BIOS: HPET On
    OS: bcdedit /deletevalue useplatformclock
    bcdedit /set disabledynamictick yes

    What about 'useplatformtick yes.' Is this necessary? If I am to trust my latency monitor readings, 'useplatformtick yes' w/ the above settings work wonders.

    Can anyone elaborate?
     

  5. aufkrawall2

    aufkrawall2 Master Guru

    Messages:
    859
    Likes Received:
    140
    GPU:
    3060 TUF
    How you come to that conclusion after reading the whole thread is really beyond me.
     
  6. Tastic

    Tastic Member

    Messages:
    17
    Likes Received:
    1
    GPU:
    RTX 2080
    Why is that?
     
  7. mbk1969

    mbk1969 Ancient Guru

    Messages:
    10,922
    Likes Received:
    8,210
    GPU:
    GF RTX 2070 Super
    If you see positive effects then no need to elaborate from anyone. Just do not forget to test periodically.

    He did not. He did experiments and saw effects for himself.
     
  8. Tastic

    Tastic Member

    Messages:
    17
    Likes Received:
    1
    GPU:
    RTX 2080
    MBK1969, I know you've probably had enough of this thread but I'd love the opportunity to pick your brain on my issue w/ 'useplatformtick.' For some reason my latency skyrockets if I'm not entering 'useplatformtick yes.' w/ bcdedit. This is with HPET on in the bios and 'useplatformclock' deleted from bcdedit. I wish I had a better understanding as to why this is happening.

    Ultimately I game w/ the below settings and am always wondering if there's a better configuration for my system:

    BIOS: HPET ON
    OS: /deletevalue useplatformclock, useplatformtick yes, disabledynamictick yes
     
  9. Smough

    Smough Master Guru

    Messages:
    639
    Likes Received:
    112
    GPU:
    GTX 1060 3GB
    Because useplatformtick and dynamictick are synthetic Windows timers and hold no place in a gaming computer. If you disable them both you get a perfect 1,0 ms timer resolution, which all web browsers and games try to set. But if those are disabled, then they won't be able to do so. There's no need to do anything to useplatformclock because Windows as it stock setting uses TSC timer. You can still disable HPET (useplatformclock) on the O.S and leave it enabled on the BIOS. Don't disable it from BIOS or you will break all timers. Apparently some programs need to have it active on the O.S for them to work, but there's no real proof of this, so I would not worry about that.
     
  10. mbk1969

    mbk1969 Ancient Guru

    Messages:
    10,922
    Likes Received:
    8,210
    GPU:
    GF RTX 2070 Super
    Problem is we can only speculate about 'useplatformtick' setting. In older versions of Windows namely RTC was used for 'ticks' - system timer interrupts. And user could tweak it to fire in range from 0.5 to 15.6 ms - so called system timer resolution. Looks like in later Windows builds something else is used for system timer interrupts and this 'useplatformtick' can be used to revert system timer back to RTC.
    I toyed with this 'useplatformtick' on my home and work rigs and I have not noticed any difference. I left 'useplatformtick yes' just out of spirit of contradiction.
     
    Smough likes this.

  11. Smough

    Smough Master Guru

    Messages:
    639
    Likes Received:
    112
    GPU:
    GTX 1060 3GB
    Reverting back Windows to RTC seems more logical, I am using the same set of commands Tastic is using, ISLC reports the timer at 1.0 ms on ISLC. If I revert them to stock, it shows a weird, messed up number that varies from 0.9994 to 0.9997, then randomoly jumps to 15.6 ms, then goes back and it never stays still. How can this be good for programs or tasks that try to set the timer to 1.0 ms?

    This is a good example: https://steamcommunity.com/sharedfiles/filedetails/?id=189462813

    The author says:

    Browser/Media/Timer Resolution Fix
    Good global FPS increase, particulaly with this game
    DC seems to respond better with an improved FPS if a browser window is left open. Why?
    By default the windows timer is set to 15ms. When a media device (But not all games) are played (including browsers) the timer resolution drops to 1ms or less. This improves responsiveness and can resolve jittering.

    So having 1ms as the default timer seems more logical to me. No idea if Windows 10 "dynamic" timer is superior as it comes out of the box.
     
  12. mbk1969

    mbk1969 Ancient Guru

    Messages:
    10,922
    Likes Received:
    8,210
    GPU:
    GF RTX 2070 Super

    Both Steam and Origin set timer resolution to 1 ms. (powercfg.exe can report which application requested timer resolution.)
    Question without real answer - does it make a difference having 1 ms vs 0.9994 ms timer resolution?

    When you see changing timer resolution it means that process which requested current resolution (say 1 ms) requested another resolution or it was closed and resolution was back to its previous (default) value.

    PS I don`t know whether you know but I developed system timer resolution tool long ago, and it is free to use.
     
    Smough likes this.
  13. Smough

    Smough Master Guru

    Messages:
    639
    Likes Received:
    112
    GPU:
    GTX 1060 3GB
    Could you please provide me with the link? Its the tool in form of a Windows Service? I'd like to set that.
     
  14. VAlbomb

    VAlbomb Member Guru

    Messages:
    151
    Likes Received:
    4
    GPU:
    Nvidia G1 Gaming GTX 970
    bcdedit
    deletevalue useplatformclock
    set disabledynamictick yes
    set useplatformtick yes
    bios default(setting is not available so it should be "on", I guess)
    Newer versions of Windows use that QPC 10.00mhz timer by default now, I can change it by using
    useplatformclock yes and it changes to 16.000mhz I heard some people get something 14.000mhz with that setting enabled so I guess it depends on your Motherboard and CPU?
    Regarding Timer resolution,while IDLE it is set to 5ms, while doing something light like web browsing it is set to 1ms and during video playback/gaming it is set to 0.5ms.

    Tools are CPU-Z
    WintimerTester 1.1
    TimerTool V3 (default settings I have not clicked on "Set Timer")


    edit: I guess I can't post images.
     
  15. Cyberdyne

    Cyberdyne Ancient Guru

    Messages:
    3,582
    Likes Received:
    301
    GPU:
    2080 Ti FTW3 Ultra
    Smough and mbk1969 like this.

  16. Lurk

    Lurk Member Guru

    Messages:
    159
    Likes Received:
    20
    GPU:
    Gigabyte GTX 1080
    sorry, I'm a little dense on this.
    I have set disabledynamictick to yes in bcdedit (win10 1909), timer reads 10.00Mhz.
    If I set useplatformclock to yes timer reads 14.00Mhz.
    lower is theoretically better, correct?
     
  17. Cyberdyne

    Cyberdyne Ancient Guru

    Messages:
    3,582
    Likes Received:
    301
    GPU:
    2080 Ti FTW3 Ultra
    Theoretically, higher mhz is better, since that's faster. You're probably thinking ms, lower ms would be less latency.

    Though if that were always true, in this case hpet on in the OS would be fastest, but it's not.
     
  18. Smough

    Smough Master Guru

    Messages:
    639
    Likes Received:
    112
    GPU:
    GTX 1060 3GB
    Just keep HPET on Windows as stock or disabled, to be honest seems to be the same, but keep it active on the BIOS, that's it. I wouldn't worry too much.
     
  19. Lurk

    Lurk Member Guru

    Messages:
    159
    Likes Received:
    20
    GPU:
    Gigabyte GTX 1080
    My mobo doesn't have a HPET option.
    If I set useplatformclock true in bcdedit, WinTimerTester reports QPF 14.00000 Mhz.
    WITHOUT the useplatformclock value in bcdedit, WinTimerTester QPF reads 10.00000 Mhz.

    Thing is, QPF is higher with useplatformclock true, but LatencyMon tool reports higher latencies.
    I think I'm missing something here, although I recon it might not make such great a difference after all :rolleyes:
     
  20. Smough

    Smough Master Guru

    Messages:
    639
    Likes Received:
    112
    GPU:
    GTX 1060 3GB
    Newer Windows versions apparently have higher latencies. Apparently the 10.0000 QPF is some security layer.
     

Share This Page