Originally Posted by ShadowVVL
I was wondering the same thing about a year ago.never really understood what hpet did other then it was a cpu or I/O timer of some kind.
I just left it alone.
HPET is a high resolution timer. RTC is normally around 3.4mhz where HPET is around 14mhz. The idea is that at say a 3ghz cpu speed, a lot can happen between clock ticks and it can be enough to start desyncing video / scientific work. Example:
@3.0ghz -> about 882 cpu cycles occur between RTC ticks
@3.0ghz -> about 215 cpu cycles occur between HPET ticks (also is typically 64bit counters)
The main issue comes from how the timers are used. If they are sending interrupt based ticks, the CPU has to spend time handling those interrupts which happen more often in HPET so the balance is to increase timer resolution while not overloading the CPU with timer work.
Add in that Windows 7 / Linux by default tries to manage all of the system timers and keep them synced, this can cause some CPU loading issues. Using the platform clock tends to clean this part up though because, in Windows at least, it makes windows only use HPET which can improve the system performance.