Overclock.net banner

1 - 20 of 36 Posts

·
Programmer
Joined
·
28,683 Posts
Discussion Starter · #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

·
Registered
Joined
·
669 Posts
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.
 

·
Programmer
Joined
·
28,683 Posts
Discussion Starter · #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)
 

·
Registered
Joined
·
669 Posts
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. ^.^
 

·
Programmer
Joined
·
28,683 Posts
Discussion Starter · #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.
 

·
Registered
Joined
·
669 Posts
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
 

·
Programmer
Joined
·
28,683 Posts
Discussion Starter · #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.
 

·
I took this profile pic
Joined
·
4,007 Posts
what's a timer?
 

·
Registered
Joined
·
182 Posts
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...version?forum=windowsgeneraldevelopmentissues

Higher frequency the better the performance right?
 

·
Registered
Joined
·
695 Posts
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
 

·
Gamer
Joined
·
3,638 Posts
Uh, so what do I do with the information this tool gives me?
 

·
Registered
Joined
·
695 Posts
i think it is. because my ryzen runs ot of sync. after 20min checking it with cpu-z > Tools > Timers.
 

·
Registered
Joined
·
695 Posts
Disabled! By UEFI MOD.
 

·
Daisy Chained Dumb Switch
Joined
·
1,232 Posts
Not sure that this is even relevant anymore. This post is 4 years old.
Pretty much this. A YouTube commenter on my HPET video linked me to this, as if I didn't already know this existed.
 
1 - 20 of 36 Posts
Top