Another look at HPET High Precision Event Timer

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

  1. teots

    teots Master Guru

    Messages:
    251
    Likes Received:
    62
    GPU:
    GTX 1660 super
    I disabled HPET in bios and windows for the best overall computer performance.
    Everything run fine for me so far. I would assume that turning HPET on/off is like
    turning vsync on/off.
     
  2. PanosXidis

    PanosXidis Member Guru

    Messages:
    149
    Likes Received:
    11
    GPU:
    3080 SUPRIM X
    @OnnA i have same latency default bcdedit and with tweaks
     
  3. aufkrawall2

    aufkrawall2 Ancient Guru

    Messages:
    4,361
    Likes Received:
    1,821
    GPU:
    7800 XT Hellhound
    Some people will tell you that your mouse input is now flawed vs. HPET on. But yes, I found turning it off in bios to cause 0 issues too. Though newer mainboards generally don't have that toggle anymore.
     
  4. OnnA

    OnnA Ancient Guru

    Messages:
    17,852
    Likes Received:
    6,743
    GPU:
    TiTan RTX Ampere UV
    I have a little better with Tweak. Leave it be for now (Tweaked) and play some games.
     

  5. I've had this happen back on an old Phenom II/HD 6000 computer. I ended up making a batch file to delete the key and had it in the autostart folder, so the key would be re-deleted on log-in. If I remember correctly, it was AMD's graphics driver that enforced HPET and caused it to appear on-reboot, and there was a significant difference on that computer with removing that entry.

    I had forgotten about this topic.

    Wouldn't the first useplatformclock false be unnecessary if it's getting deleted right after that?

    This is the worst performance degradation I've ever seen on my computer. Took me 30 seconds to get from the into screen to main menu on Dota 2 (normally 3-5 seconds), and Timer bench goes from 23M to 400K.
     
    Last edited by a moderator: Jun 12, 2022
  6. Nerboruto

    Nerboruto Active Member

    Messages:
    71
    Likes Received:
    11
    GPU:
    p1000@1810mhz
    personally i prefer hpet on on systems with overclocked fsb. resolution of the timer is set to 14.31mhz.
    lower resolution timers result in lower accuracy and fps are rounded up. but it is only less precise numbers the real speed does not change.
     
  7. marcosamerio

    marcosamerio Master Guru

    Messages:
    727
    Likes Received:
    2
    GPU:
    ZOTA NVIDIA 1060
    Hi all, ¿what are the default settings on windows 10?
     
  8. Astyanax

    Astyanax Ancient Guru

    Messages:
    17,017
    Likes Received:
    7,353
    GPU:
    GTX 1080ti
    it sets hpet as the overall system timer, its not and has never been a performance tweak.
     
  9. daniel jorj

    daniel jorj Guest

    Messages:
    3
    Likes Received:
    0
    GPU:
    1080 ti 11GB
    sorry for bump this thread but is anyone using RDTSC these days ? i wish its support hyperthreading/SMT but seems its varies with frequency and not work work well on multi core systems the only way to make it work is by using SetThreadAffinityMask function so we can read the rdtsc in core 0 or 0+1 HT/SMT in amd there new instruction that can be much faster then rdtsc its rdpru its can be read in this topic https://www.usenix.org/system/files/sec22summer_lipp.pdf "Using rdpru results in a high-resolution timer
    with an even higher resolution than the rdtsc instruction on
    Intel CPUs. " https://www.amd.com/system/files/TechDocs/24594.pdf when i get amd system i will test it out [​IMG]
     
  10. PetritH

    PetritH Member Guru

    Messages:
    180
    Likes Received:
    19
    GPU:
    RX 7900 XT
    This topic isn't going away anytime soon :D
     
    SatsuiNoHado likes this.

  11. SatsuiNoHado

    SatsuiNoHado Member Guru

    Messages:
    161
    Likes Received:
    87
    GPU:
    EVGA 1080Ti FTW3
    I guess now it's time for you to make a "performance tweaks list" with secrets especially for nvidia gpus :D

    yeah i love this too
     
  12. mbk1969

    mbk1969 Ancient Guru

    Messages:
    15,542
    Likes Received:
    13,561
    GPU:
    GF RTX 4070
    Where you get the idea of RDTSC not working? Both papers you linked says nothing about it.
     
  13. daniel jorj

    daniel jorj Guest

    Messages:
    3
    Likes Received:
    0
    GPU:
    1080 ti 11GB

    https://learn.microsoft.com/en-us/windows/win32/dxtecharts/game-timing-and-multicore-processors

    This use of RDTSC for timing suffers from these fundamental issues:

    • Discontinuous values. Using RDTSC directly assumes that the thread is always running on the same processor. Multiprocessor and dual-core systems do not guarantee synchronization of their cycle counters between cores. This is exacerbated when combined with modern power management technologies that idle and restore various cores at different times, which results in the cores typically being out of synchronization. For an application, this generally results in glitches or in potential crashes as the thread jumps between the processors and gets timing values that result in large deltas, negative deltas, or halted timing.
    • Availability of dedicated hardware. RDTSC locks the timing information that the application requests to the processor's cycle counter. For many years this was the best way to get high-precision timing information, but newer motherboards are now including dedicated timing devices which provide high-resolution timing information without the drawbacks of RDTSC.
    • Variability of the CPU's frequency. The assumption is often made that the frequency of the CPU is fixed for the life of the program. However, with modern power management technologies, this is an incorrect assumption. While initially limited to laptop computers and other mobile devices, technology that changes the frequency of the CPU is in use in many high-end desktop PCs; disabling its function to maintain a consistent frequency is generally not acceptable to users.
     
  14. mbk1969

    mbk1969 Ancient Guru

    Messages:
    15,542
    Likes Received:
    13,561
    GPU:
    GF RTX 4070
    I will quote the same page:
     
  15. daniel jorj

    daniel jorj Guest

    Messages:
    3
    Likes Received:
    0
    GPU:
    1080 ti 11GB

    i know the limitations thats why i use rdtsc direct

    While RDTSC is much faster than QueryPerformanceCounter, since the latter is an API call, it is an API that can be called several hundred times per frame without any noticeable impact.
     

  16. mbk1969

    mbk1969 Ancient Guru

    Messages:
    15,542
    Likes Received:
    13,561
    GPU:
    GF RTX 4070
    Also code can check for invariant TSC feature
    https://community.intel.com/t5/Intel-ISA-Extensions/Invariant-TSC-support/td-p/772125

    PS Judging by that thread TSC is OK for one socket CPUs.

    PPS Also people there mention RDTSCP instruction.
     
  17. lawood

    lawood Member Guru

    Messages:
    199
    Likes Received:
    110
    GPU:
    RTX 3070 Ti
    From someone who has messed with this in the past, my advice is to leave it alone.

    I'm talking about these in particular:

    bcdedit /set useplatformtick yes
    bcdedit /set disabledynamictick yes
    bcdedit /set useplatformclock true

    My advice is not enable them

    In case you did, these commands will revert them to default values:

    bcdedit /deletevalue useplatformclock
    bcdedit /deletevalue useplatformtick
    bcdedit /deletevalue disabledynamictick


    I cant talk for everyone but in my experience in a fairly recent system is that enabling them will just make the system unstable, stuff gets longer to load, i've had browser pages declining to open and other weird issues.


    When I tested them individually bcdedit /set disabledynamictick yes seemed to be the only one that didn't impact performance negatively, but I also didn't see or "feel" improvements either, so that's also on default.

    my 2 cents.
     
  18. chris89

    chris89 Master Guru

    Messages:
    250
    Likes Received:
    8
    GPU:
    RADEON R5 M430 2GB
    Hi, I enabled HPET in the BIOS as I need it to adjust my AMD Ryzen voltage with K17TK & The OS has issues enabling it even know it knows its enabled, its not working because of the driver?
    IMG_20240118_185129.jpg
    AIDA64 ACPI High Precision Event Timer Table.jpg
    HPET Device Manager Data.jpg
     
  19. mbk1969

    mbk1969 Ancient Guru

    Messages:
    15,542
    Likes Received:
    13,561
    GPU:
    GF RTX 4070
    @chris89
    "Problem code" property is not informative because it is "00000000" on all my systems, look for "Has problem" property
    upload_2024-1-19_11-5-53.png

    Except for tab "Resources" there are no evidences of any problems with HPET. (And it does note require driver.)
     
    Last edited: Jan 19, 2024
    chris89 likes this.
  20. mbk1969

    mbk1969 Ancient Guru

    Messages:
    15,542
    Likes Received:
    13,561
    GPU:
    GF RTX 4070
    @chris89

    Have you tried to set "MsiDis in HPET" to other values (in BIOS)?
     
    chris89 likes this.

Share This Page