Overclock.net banner

Want higher fps? What Timer Do YOU Use?

3 reading
89K views 35 replies 16 participants last post by  BUFUMAN  
#1 ·
There seems to be timers, both software and hardware controlled. Often the OS selects the timer supported by your hardware, but is it always the best timer?

How can you identify the timer you use?
First, download this tool:

NewWinRARZIParchive.zip 8k .zip file


Run the program and check the value here:



Here is how to identify the timer you use:
Quote:
TSC+LAPICs Low performance (slow timers + syncing) = 2.76MHz

LAPICs low performance (slow timer - no syncing) = 3.5Mhz

TSC+HPET medium performance (slow and fast timer + syncing) = 3.8Mhz

HPET high performance (fast timer - no syncing) = 14.3MHz
Here is a source about the forum users testing timers:
http://www.neowin.net/forum/topic/1075781-tweak-enable-hpet-in-bios-and-os-for-better-performance-and-fps/

Here is a more in depth review of testing the timers:
http://www.tweakhound.com/2014/01/30/timer-tweaks-benchmarked/

So what do you guy's think about all this?
I tested the timers myself and only got 1fps gain in all CPU bounds or several games.

On my system, I seem to use APIC (3.1Mhz) by default on my Sandy Bridge E system.

Discuss.

Thank you.
 

Attachments

#2 ·
Thank you so much for posting this.

I've always had HPET enabled in BIOS but never thought anything more to it, this led me to really look into it and I now that I've got HPET properly being used my god has it made a difference. I've only tested a few games and programs but it's made a hell of an improvement, everything is so much snappier and smoother, it's completely removed micro-stuttering and latency that I thought I'd never see the end of. It seems the results other people are having vary greatly but I honestly believe that this has made more of an improvement for me than all of my overclocks combined.
 
#4 ·
I've tried all the timers my fps was the same for all. However the HPET made my fps a little jittery.
Edit: Please post your default and new timer settings, your results and the experience you've had during the testing. This will help other members greatly.

Also, don't forget to test out TSC Sync Policy and Dynamic IC Tick! (See source links in OP)
 
#6 ·
Overall, regarding the effect on FPS, the differences I saw were so small that they can only be put down to margin of error, but this is the conclusion I've come to:

Timers

High Precision Event Timer is enabled or disabled in the BIOS
bcdedit is configured via an elevated command prompt


TSC+LAPIC - Seems to cause no latency or stutter, input and output are smooth (normally the default)
High Precision Event Timer: Disabled
bcdedit /deletevalue useplatformclock


LAPIC - Seems to cause stutter but no latency
High Precision Event Timer: Disabled
bcdedit /set useplatformclock true


TSC+HPET - Seems to cause latency and stutter
High Precision Event Timer: Enabled
bcdedit /deletevalue useplatformclock


HPET - Seems to cause latency but no stutter, input and output are very, very smooth
High Precision Event Timer: Enabled
bcdedit /set useplatformclock true


The following I've probably just made up:

I think the TSC timers are relative to each processor, the LAPIC timer is relative to the system bus and HPET is external. TSC timers can't be used alone because they don't stay in sync hence why HPET and LAPIC are either used instead of TSC, or are used as well so that the TSC timer's very low latency can be taken advantage of without the issue of them going out of sync. I think that TSC and LAPIC derive their times from the same clock/crystal so they fit quite nice together but HPET doesn't and this is probably part of the reason why using HPET causes problems with latency and stutter since it's not going to be in sync with everything. The purpose of the really high frequency might even be just an attempt to mitigate the sync and latency issues with HPET, rather than any sort of performance improvement, but the high frequency actually causes issues of it own, especially when HPET is used on it's own, which is probably why it's not used by default.

Times stamp counter synchronization policy

Setting this to Enhanced either had no effect or caused stutter, from what I now understand Windows already picks the best setting for this so it should be left alone.

To force setting to enhanced:
bcdedit /set tscsyncpolicy Enhanced

To remove the forced setting:
bcdedit /deletevalue tscsyncpolicy

Dynamic timer tick

Neither had any noticeable effect but it's documented to have caused issues before, it also offers nothing of any real benefit and isn't used or needed in Windows 7 or previous so I've chosen to disable it.

To disable:
bcdedit /set disabledynamictick yes

To enable:
bcdedit /deletevalue disabledynamictick

So in the end it would seem (at least in my case) that messing with these settings offers nothing of benefit other than the chance to correct the often overlooked and ignorantly misconfigured HPET BIOS setting. ^.^
 
#7 ·
Quote:
Originally Posted by Bearybear View Post

Overall, regarding the effect on FPS, the differences I saw were so small that they can only be put down to margin of error, but this is the conclusion I've come to:

Timers

High Precision Event Timer is enabled or disabled in the BIOS
bcdedit commands are entered in an elevated command prompt


TSC+LAPIC - Seems to cause no latency or stutter (Is also normally the default)
High Precision Event Timer: Disabled
bcdedit /deletevalue useplatformclock


LAPIC - Seems to cause stutter but no latency
High Precision Event Timer: Disabled
bcdedit /set useplatformclock true


TSC+HPET - Seems to cause latency and stutter
High Precision Event Timer: Enabled
bcdedit /deletevalue useplatformclock


HPET - Seems to cause latency but no stutter
High Precision Event Timer: Enabled
bcdedit /set useplatformclock true


The following I've probably just made up:

I think the TSC timers are relative to each processor, the LAPIC timer is relative to the system bus and HPET is external. TSC timers can't be used alone because they don't stay in sync hence why HPET and LAPIC are either used instead of TSC, or are used as well so that the TSC timer's very low latency can be taken advantage of without the issue of them going out of sync. I think that TSC and LAPIC derive their times from the same clock/crystal so they fit quite nice together but HPET doesn't and this is probably part of the reason why using HPET causes problems with latency and stutter since it's not going to be in sync with everything. The purpose of the really high frequency might even be just an attempt to mitigate the sync and latency issues with HPET, rather than any sort of performance improvement, but the high frequency actually causes issues of it own, especially when HPET is used on it's own, which is probably why it's not used by default.

Times stamp counter synchronization policy

Setting this to Enhanced either had no effect or caused stutter, from what I now understand Windows already picks the best setting for this so it should be left alone.

To force setting to enhanced:
bcdedit /set tscsyncpolicy Enhanced

To remove the forced setting:
bcdedit /deletevalue tscsyncpolicy

Dynamic timer tick

Neither had any noticeable effect but it's documented to have caused issues before, it also offers nothing of any real benefit and isn't used or needed in Windows 7 or previous so I've chosen to disable it.

To disable:
bcdedit /set disabledynamictick yes

To enable:
bcdedit /deletevalue disabledynamictick

So in the end it would seem (at least in my case) that messing with these settings offers nothing of benefit other than the chance to correct the often overlooked and ignorantly misconfigured HPET BIOS setting. ^.^
How did you get TSC+LAPIC running on your system? I can't go any lower than 3.12MHz which is the APIC timer.
 
#8 ·
By using the settings as above, if there is one thing I've learnt from this it is that the timer frequencies should be mostly ignored as they differ by machine, the only true indication is the actual settings configured.
The frequencies I got are below. Surprisingly the first and second configurations gave me the exact same frequency and whilst the first is blazingly responsive and smooth, the second caused noticeable stutter that seemed to effect both mouse input and the rendering in many games though it was not even close to being as bad as the stutter caused by the third setting. The fourth option seems a lot smoother than the first, it's almost as if the frame-rate and the mouse polling rate have both been increased, even scrolling this page up and down is much smoother but there is a noticeable latency when compared to the first option.

TSC+LAPIC - Seems to cause no latency or stutter, input and output are smooth - 3.4MHz
High Precision Event Timer: Disabled
bcdedit /deletevalue useplatformclock

LAPIC - Seems to cause stutter but no latency - 3.4MHz
High Precision Event Timer: Disabled
bcdedit /set useplatformclock true

TSC+HPET - Seems to cause latency and stutter - 3.5MHz
High Precision Event Timer: Enabled
bcdedit /deletevalue useplatformclock

HPET - Seems to cause latency but no stutter, input and output are very, very smooth - 14.3MHz
High Precision Event Timer: Enabled
bcdedit /set useplatformclock true
 
#9 ·
When using High Precision Event Timer: Disabled and bcdedit /deletevalue useplatformclock, my frequency still reports 3.12MHz. That's what I find a little confusing.
 
#11 · (Edited)
I have really weird timers on my Athon II x4 640, Biostar n68s3+, Gtx 660.

  • HPET on bios and W10 = 25.000 MHz. Good peformance, seems to have some input lag.
  • HPET off + SRAT off + Probe filter disabled = 2.94325 MHz. Extremely good performance, 40% better than the rest.
    -Along with AMI OEMB disabled = 2.94325 MHz. Same frequency but the performance is only as good as HPET.
    -Instead of OEMB off, Probe FIlter: MP Mode = 2.94307 MHz. Performance only as good as HPET
  • HPET on bios and W10 + SRAT off = 25.000 MHz Seems to work best with enhanced pointer precision.
Some systems it seems to be 25.000 MHz for HPET as well. https://social.msdn.microsoft.com/F...a-different-timer-in-each-windows-version?forum=windowsgeneraldevelopmentissues

Higher frequency the better the performance right?
 
#21 ·
I have really weird timers on my system.

  • HPET on bios and W10 = 25.000 MHz. Good peformance, seems to have some input lag.
  • HPET off + SRAT off + Probe filter disabled = 2.94325 MHz. Extremely good performance, 40% better than the rest.
    -Along with AMI OEMB disabled = 2.94325 MHz. Same frequency but the performance is only as good as HPET.
    -Instead of OEMB off, Probe FIlter: MP Mode = 2.94307 MHz. Performance only as good as HPET
  • HPET on bios and W10 + SRAT off = 25.000 MHz Seems to work best with enhanced pointer precision.
Some systems it seems to be 25.000 MHz for HPET as well. https://social.msdn.microsoft.com/F...a-different-timer-in-each-windows-version?forum=windowsgeneraldevelopmentissues

Higher frequency the better the performance right?
No, that's not how this works. What does Windows do by default? Nothing with this debug flag! This.. is... For... Debugging... Not a secret to better performance or responsiveness.
 
#12 ·
I would like to test it but i dont know what SRAT / probefilter /OEMB means do you have a manual for it?? Or the values to change it??

Thanks
 
#20 ·
Pretty much this. A YouTube commenter on my HPET video linked me to this, as if I didn't already know this existed.
 
#16 ·
i think it is. because my ryzen runs ot of sync. after 20min checking it with cpu-z > Tools > Timers.
 
#18 ·
Disabled! By UEFI MOD.
 
#22 ·
i installed a fredh win 10 enterprise iso, now i am stuck at 10mhz @qpc can someone help me.

my settings:
tscsyncpolicy Enhanced
disabledynamictick Yes

thx
 
#24 · (Edited)
Ohh thx mate! But i won't touch it anymore. Had the lags to with changed timers.

Btw 15ms is set without load @default win 10 1809
If you start gaming it will go down to exactly 1ms.

The dpc latency is also much better. I had extrem high dpc before

Gesendet von meinem LYA-L29 mit Tapatalk
Image
 
#25 ·
Ohh thx mate! But i won't touch it anymore. Had the lags to with changed timers.

Btw 15ms is set without load @default win 10 1809
If you start gaming it will go down to exactly 1ms.

The dpc latency is also much better. I had extrem high dpc before

Gesendet von meinem LYA-L29 mit Tapatalk
Image
DPC latency checker doesn't work on win8+ due to dynamic tick. LatencyMon should be used instead. And that program is useless because it doesn't provide average DPC and interrupt to process latencies like LatencyMon does.
 
#26 ·
For you. the values are down. Was higher before.

Gesendet von meinem LYA-L29 mit Tapatalk
 
#27 ·
Post WIN 10 1809 you may have timer on 10MHz, while readings of timers.

To test and see how the timers affect overall system performance i recommend to use LatencyMon. It was originally designed to measure performance of system for audio conferencing, and determine whether system is or is not suitable for audio communication.

It measures every driver and every internal system process so you might get an idea.

Some notes:

Timers do affect performance in scale 5-10%
More importantly, timers affect fluidity of the system. (eg stutters).
Results of the settings do vary for AMD and Intel platform.
 
#28 ·
i remember some sorta tool like this that we'd use back in the EQ/FF11/early WoW days, most of us felt is was a gimmick/OS already knows to pick the best settings in most instances, however it did seem to help some folks on older systems that would experience weird stutters, input issues, etc.
 
#29 ·
All my lags are gone. I did some changes at onboard speed connection. Changed the pcie slot of my soundcard. Set M.2/SB/PCIEx16 to Gen3 rest to Gen1

Gesendet von meinem LYA-L29 mit Tapatalk
 
#30 ·
my bios settings
 

Attachments

#31 ·
Hi, Hope all you are fine,

I have a gaming Laptop Asus Rog G703GI with GTX 1080 i9 8950HK processor. Now there are two things first I have check many times in my UEFI but have failed to locate the HPET option and upon checking with the Win tester I found the frequency is 10.0000MHZ. So please can someone guide me how can I enable or disable the HPET option to compare the performace. Secondly I read in the form there are difference combination for HPET combination but I could not find the commands to use for those option. Any help will be highly appreciated.

Thanks and regards.