hardbag Posted May 8, 2012 Share Posted May 8, 2012 By default Windows 7 uses different timers in the CPU to calculate stuff. HPET is the newest and best of these timers, but because of default combination of timers it takes longer time for CPU to keep up all the timers and sync between them. Forcing Windows to use HPET only improves performance and leads to greater FPS. Steps to enable this tweak: 1. Enable HPET in BIOS. If you have HPET option in BIOS then your hardware can support HPET. 2. Enable HPET in Windows by giving this command in admin credential CMD: bcdedit /set useplatformclock true 3. Reboot Tilax and natocccp 2 Share Link to comment https://www.neowin.net/forum/topic/1075781-tweak-enable-hpet-in-bios-and-os-for-better-performance-and-fps/ Share on other sites More sharing options...
limok Posted May 8, 2012 Share Posted May 8, 2012 Any proof to back this up, reviews, benchmarks? TPreston 1 Share Link to comment https://www.neowin.net/forum/topic/1075781-tweak-enable-hpet-in-bios-and-os-for-better-performance-and-fps/#findComment-594852237 Share on other sites More sharing options...
Detection Posted May 8, 2012 Share Posted May 8, 2012 Last I heard, disabling HPET in the BIOS actually improved gaming by reducing lag and micro stutter, which would mean Win 7 already uses it without that command Link to comment https://www.neowin.net/forum/topic/1075781-tweak-enable-hpet-in-bios-and-os-for-better-performance-and-fps/#findComment-594852261 Share on other sites More sharing options...
hardbag Posted May 8, 2012 Author Share Posted May 8, 2012 Enabling HPET in BIOS is just half way of enabling HPET, it needs to be enabled in OS too, and in a way that it's the only timer used. By default windows uses combination of TSC+ACPI timers, not matter if HPET is enabled in BIOS. TSC+LAPICs Low performance (slow timers + syncing) LAPICs low performance (slow timer - no syncing) TSC+HPET medium performance (slow and fast timer + syncing) HPET high performance (fast timer - no syncing) HPET + platformclock=true will give you best timer resolution, frame rate and lowest DPC latency. You can test timer ratio and QueryPerformanceFrequency with WinTimerTester 1.1 http://www.mediafire...xzo9n84d8lze9nb The higher the QueryPerformanceFrequency is the better is performance. You only get high frequency with HPET. The other timers will give you significantly less frequency. Also note that if your ratio is not 1.0000 you are off set (or you have wrongly OC'ed), enable HPET and you should be without sync problems. If you ever want to go back to default timers admin cmd: bcdedit /deletevalue useplatformclock Varying depending on setup, one should get increase up to +30 FPS and from the between.Online games is a good example of boost from HPET. Artins90 1 Share Link to comment https://www.neowin.net/forum/topic/1075781-tweak-enable-hpet-in-bios-and-os-for-better-performance-and-fps/#findComment-594852311 Share on other sites More sharing options...
hardbag Posted May 8, 2012 Author Share Posted May 8, 2012 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 Run the WinTimerTester 1.1 to see your QueryPerformanceFrequency Then try with HPET, you'll be amazed. Link to comment https://www.neowin.net/forum/topic/1075781-tweak-enable-hpet-in-bios-and-os-for-better-performance-and-fps/#findComment-594852321 Share on other sites More sharing options...
Detection Posted May 8, 2012 Share Posted May 8, 2012 Enabling HPET in BIOS is just half way of enabling HPET, it needs to be enabled in OS too, and in a way that it's the only timer used. By default windows uses combination of TSC+ACPI timers, not matter if HPET is enabled in BIOS. TSC+LAPICs Low performance (slow timers + syncing) LAPICs low performance (slow timer - no syncing) TSC+HPET medium performance (slow and fast timer + syncing) HPET high performance (fast timer - no syncing) HPET + platformclock=true will give you best timer resolution, frame rate and lowest DPC latency. You can test timer ratio and QueryPerformanceFrequency with WinTimerTester 1.1 http://www.mediafire...xzo9n84d8lze9nb The higher the QueryPerformanceFrequency is the better is performance. You only get high frequency with HPET. The other timers will give you significantly less frequency. Also note that if your ratio is not 1.0000 you are off set (or you have wrongly OC'ed), enable HPET and you should be without sync problems. If you ever want to go back to default timers admin cmd: bcdedit /deletevalue useplatformclock Varying depending on setup, one should get increase up to +30 FPS and from the between.Online games is a good example of boost from HPET. A guy on another forum claimed that by disabling it, his DPC latency plummeted and his gaming performance improved; most notably the microstuttering. So I tried it myself, and the difference to my astonishment, was very noticeable. First off, my DPC latency dropped big time. Not that it was high to begin with, but now it hovers below 10 for the most part. Second, I noticed that general windows performance felt snappier. I know I'm not imagining things, because like many, I scrutinize my system so I'm sensitive to even minute changes in performance. And last but not least, gaming performance is definitely smoother. Anyone with SLi will tell you that occassionally when playing a game, you experience a bit of lag or stuttering for no apparent reason whatsoever. Most people attribute these minor discrepancies to SLi, but what if it's something else? Because I can tell you, that my overall gaming experience has improved since turning HPET off. If you have the HPET option in your BIOS, I highly recommend experimenting with it and see if it impacts your performance. There's a possibility that having it on could increase the amount of microstuttering in any given game; particularly if you're running SLi. http://forums.nvidia...howtopic=183329 Without changing any settings in the BIOS or the OS, and with HPET enabled in the BIOS as normal I get this Link to comment https://www.neowin.net/forum/topic/1075781-tweak-enable-hpet-in-bios-and-os-for-better-performance-and-fps/#findComment-594852327 Share on other sites More sharing options...
hardbag Posted May 8, 2012 Author Share Posted May 8, 2012 ^Because if you enable HPET in BIOS you will mix it with other timers and CPU needs to sync between them. You need to force HPET only and reboot. Mixing HPET with other timers is not good, but using HPET only will give you best performance. People don't know about that Windows needs to be forced to use HPET only - that's why the bios setting alone can undergrade their performance. bcdedit /set useplatformclock true (then reboot) enable HPET bcdedit /deletevalue useplatformclock (then reboot) disable HPET Tilax 1 Share Link to comment https://www.neowin.net/forum/topic/1075781-tweak-enable-hpet-in-bios-and-os-for-better-performance-and-fps/#findComment-594852339 Share on other sites More sharing options...
hardbag Posted May 8, 2012 Author Share Posted May 8, 2012 Without changing any settings in the BIOS or the OS, and with HPET enabled in the BIOS as normal I get this You are using TSC+HPET. Try with HPET only (bios and OS setting) you should get something like 14.xMhz for queryperformancefrequency. Link to comment https://www.neowin.net/forum/topic/1075781-tweak-enable-hpet-in-bios-and-os-for-better-performance-and-fps/#findComment-594852345 Share on other sites More sharing options...
Detection Posted May 8, 2012 Share Posted May 8, 2012 ^Because if you enable HPET in BIOS you will mix it with other timers and CPU needs to sync between them. You need to force HPET only and reboot. Mixing HPET with other timers is not good, but using HPET only will give you best performance. People don't know about that Windows needs to be forced to use HPET only - that's why the bios setting alone can undergrade their performance. bcdedit /set useplatformclock true (then reboot) enable HPET bcdedit /deletevalue useplatformclock (then reboot) disable HPET Ok so I enabled it, rebooted First things I notice are it took twice as long to finish loading the desktop and gadgets Mouse pointer has a ghost trail now like I am using a cheap LCD with 20ms response rate What exactly is "queryperformancefrequency" ? and how does it effect the OS ? Link to comment https://www.neowin.net/forum/topic/1075781-tweak-enable-hpet-in-bios-and-os-for-better-performance-and-fps/#findComment-594852347 Share on other sites More sharing options...
hardbag Posted May 8, 2012 Author Share Posted May 8, 2012 queryperformancefrequency is frequency of high resolution timer performance counter, timers are different as I have explained above, and better/higher the timer frequency the better responsive the system is. With HPET enabled in BIOS and OS you can achieve highest timer performance resluting in better responsive system. Link to comment https://www.neowin.net/forum/topic/1075781-tweak-enable-hpet-in-bios-and-os-for-better-performance-and-fps/#findComment-594852383 Share on other sites More sharing options...
xendrome Posted May 8, 2012 Share Posted May 8, 2012 This "tweak" is depending on each hardware setup. Some people say it slightly speeds things up, others start having micro-stutter in multimedia/3d gaming, especially SLI setups. the DPC latency goes through the roof and limits the FPS in the games. Best thing to do is try it for yourself, do some benchmarks and see what happens, if your system runs fine now. Leave it alone would be my advice. Link to comment https://www.neowin.net/forum/topic/1075781-tweak-enable-hpet-in-bios-and-os-for-better-performance-and-fps/#findComment-594852395 Share on other sites More sharing options...
Jub Posted May 8, 2012 Share Posted May 8, 2012 Mouse pointer has a ghost trail now like I am using a cheap LCD with 20ms response rate Same for me. Link to comment https://www.neowin.net/forum/topic/1075781-tweak-enable-hpet-in-bios-and-os-for-better-performance-and-fps/#findComment-594852401 Share on other sites More sharing options...
hardbag Posted May 8, 2012 Author Share Posted May 8, 2012 Enabling HPET in BIOS mixes HPET with other timers - needing the CPU sync between the timers resulting in compromised performance. If WIndows is forced to use HPET only (in bios and os) it in modern system results in higher performance, higher FPS and better DPC. Test and try what suits you. Link to comment https://www.neowin.net/forum/topic/1075781-tweak-enable-hpet-in-bios-and-os-for-better-performance-and-fps/#findComment-594852411 Share on other sites More sharing options...
Jub Posted May 8, 2012 Share Posted May 8, 2012 Enabling HPET in BIOS mixes HPET with other timers - needing the CPU sync between the timers resulting in compromised performance. If WIndows is forced to use HPET only (in bios and os) it in modern system results in higher performance, higher FPS and better DPC. Test and try what suits you. I had mouse ghosting and other nice things when doing it "your" way. Disabling HPET is the best way for me on a Sandy Bridge-E CPU and an ASUS Sabertooth motherboard. Link to comment https://www.neowin.net/forum/topic/1075781-tweak-enable-hpet-in-bios-and-os-for-better-performance-and-fps/#findComment-594852417 Share on other sites More sharing options...
hardbag Posted May 8, 2012 Author Share Posted May 8, 2012 commands: bcdedit /set useplatformclock true (then reboot) enable HPET bcdedit /deletevalue useplatformclock (then reboot) disable HPET TSC+LAPICs (useplatformclock false)* LAPICs (useplatformclock true)** TSC+HPET (useplatformclock false)*** HPET (useplatformclock true)**** * Windows default. **platformclock=true and HPET disabled in BIOS will default to LAPICs, which is good compared to TSC, but doesn't not have not so high resolution and so low DPC latency as HPET. *** Windows default with HPET enabled in BIOS. **** HPET enabled in BIOS and in OS. NateB1 1 Share Link to comment https://www.neowin.net/forum/topic/1075781-tweak-enable-hpet-in-bios-and-os-for-better-performance-and-fps/#findComment-594852427 Share on other sites More sharing options...
protocol7 Posted May 8, 2012 Share Posted May 8, 2012 It seems to have had the opposite effect here too. I had HPET enabled in the BIOS already but hadn't set the useplatformclock boot parameter. Without it, my clock ratio was mostly 1.0000, occasionally flickering to 1.0001. After setting it my clock ratio is mostly 0.9999, occasionally 1.0000.* Here's the original post from the author of WinTimerTester 1.1. It explains the scenario better. Seems to be related to software overclocking utilities. The problem is that for many computers, this function in Windows 7 is now based on the clock speed of the processor. If you overclock in the bios and then boot up, this timer is calibrated and will work 100% correctly. If you use SetFSB or a similar program and you change the bus speed from within Windows, you have now just screwed up this very important timing mechanism. The number of applications that can choke after you do this is surprising, especially games. * After a few minutes it seems to have settled at 1.0000. I don't have any mouse ghosting. Link to comment https://www.neowin.net/forum/topic/1075781-tweak-enable-hpet-in-bios-and-os-for-better-performance-and-fps/#findComment-594852431 Share on other sites More sharing options...
hardbag Posted May 8, 2012 Author Share Posted May 8, 2012 I had mouse ghosting and other nice things when doing it "your" way. Disabling HPET is the best way for me on a Sandy Bridge-E CPU and an ASUS Sabertooth motherboard. Funny as I don't have any problems like that. my CPU is i5 3570K in Z77 mobo and Asus HD 7850. I do use CRT monitor. Perhaps it's something else you need to adjust if you want to have best timer. Link to comment https://www.neowin.net/forum/topic/1075781-tweak-enable-hpet-in-bios-and-os-for-better-performance-and-fps/#findComment-594852433 Share on other sites More sharing options...
Salty Wagyu Posted May 8, 2012 Share Posted May 8, 2012 Is this on TSC+LAPICs? Plus I'm unsure if the Asus P7P55D Pro has a HPET toggle, will have to check later. Link to comment https://www.neowin.net/forum/topic/1075781-tweak-enable-hpet-in-bios-and-os-for-better-performance-and-fps/#findComment-594852465 Share on other sites More sharing options...
Detection Posted May 8, 2012 Share Posted May 8, 2012 Well RAGE was smooth when it ran, but every few seconds was locking up for a few seconds BF3 let me play it with CFX for the first time so it seems to have helped there I`ll test a few more games but it seems to have negatives and positives for different things so far Link to comment https://www.neowin.net/forum/topic/1075781-tweak-enable-hpet-in-bios-and-os-for-better-performance-and-fps/#findComment-594852483 Share on other sites More sharing options...
Nagisan Posted May 8, 2012 Share Posted May 8, 2012 I've read many people with the Intel X58 chipset have issues with HPET, checked my BIOS and it was enabled (in 32-bit mode yet I run a 64-bit system). Disabled it because lately my computer has hard locked twice while browsing the internet (hasn't done it in awhile though). So maybe my X58 chipset + HPET in 32-bit was part of the issue. Either way my system seemed more responsive on boot than usual, won't be able to tell if it helped until I get a chance to use it more or see if it freezes for no reason again. Link to comment https://www.neowin.net/forum/topic/1075781-tweak-enable-hpet-in-bios-and-os-for-better-performance-and-fps/#findComment-594852523 Share on other sites More sharing options...
neufuse Veteran Posted May 8, 2012 Veteran Share Posted May 8, 2012 I've read many people with the Intel X58 chipset have issues with HPET, checked my BIOS and it was enabled (in 32-bit mode yet I run a 64-bit system). Disabled it because lately my computer has hard locked twice while browsing the internet (hasn't done it in awhile though). So maybe my X58 chipset + HPET in 32-bit was part of the issue. Either way my system seemed more responsive on boot than usual, won't be able to tell if it helped until I get a chance to use it more or see if it freezes for no reason again. I have X58 chipset boards and never saw an issue with 64bit HPET Link to comment https://www.neowin.net/forum/topic/1075781-tweak-enable-hpet-in-bios-and-os-for-better-performance-and-fps/#findComment-594852539 Share on other sites More sharing options...
Jub Posted May 8, 2012 Share Posted May 8, 2012 Funny as I don't have any problems like that. my CPU is i5 3570K in Z77 mobo and Asus HD 7850. I do use CRT monitor. I have 5?s latency with HPET disabled and 60?s with it enabled using your method, plus no mouse ghosting or stuttering which I get with it enabled. There is nothing else concerning this that I can 'adjust'. I guess my X79 board just feels better with it disabled or something. Link to comment https://www.neowin.net/forum/topic/1075781-tweak-enable-hpet-in-bios-and-os-for-better-performance-and-fps/#findComment-594852551 Share on other sites More sharing options...
hardbag Posted May 8, 2012 Author Share Posted May 8, 2012 Is this on TSC+LAPICs? Plus I'm unsure if the Asus P7P55D Pro has a HPET toggle, will have to check later. Hard to tell, it's either TSC+LAPICs or LAPICs. Your ratio is excellent so it might indicate that there is no sync - meaning you might have LAPICs. However hardware differs and even if your ratio is that exact in 1.0000 it still might sync TSC+LAPICs well - depending on hardware. Windows obviously uses LAPICs mainly for hypervisor/virtual machine and TSC as general, but it's a bit mystery what Windows 7 uses, a combination is the best assumption. Vista was heavily pushed into using HPET. I would say that you have at least TSC. If you want TSC + HPET enable HPET in bios. And if you want to test HPET only use the bcdedit /set useplatformclock true. I think that your mobo has HPET in BIOS as HPET isn't actually anything new. ----------------------------- Good to hear that people are getting good results with HPET (bios & os). However I have provided details about timer settings in the first page and how to revert back from HPET. Link to comment https://www.neowin.net/forum/topic/1075781-tweak-enable-hpet-in-bios-and-os-for-better-performance-and-fps/#findComment-594853051 Share on other sites More sharing options...
Salty Wagyu Posted May 8, 2012 Share Posted May 8, 2012 Hard to tell, it's either TSC+LAPICs or LAPICs. Your ratio is excellent so it might indicate that there is no sync - meaning you might have LAPICs. However hardware differs and even if your ratio is that exact in 1.0000 it still might sync TSC+LAPICs well - depending on hardware. I think that your mobo has HPET in BIOS as HPET isn't actually anything new. Couldn't find anything in the BIOS, think it's hidden. Though I ran bcdedit /set useplatformclock true and I'm getting 14.31818 MHz now. But the ratio took longer to stabilise at 1.000 (took 180 seconds), it was alternating between 0.9997 and 0.9999 a lot. Not spotted anything bad yet, like ghosting mouse pointer or such. My DPC latency remains unchanged, averages at 60-80us Link to comment https://www.neowin.net/forum/topic/1075781-tweak-enable-hpet-in-bios-and-os-for-better-performance-and-fps/#findComment-594853105 Share on other sites More sharing options...
Mando Posted May 8, 2012 Share Posted May 8, 2012 Im running it on a i7 2600k@4.4Ghz (clocked in BIOS), and Asus P8Z68-V Pro mobo/NV 570GTX and enabling HPET & setting windows to solely use HPET via command prompt has fixed my micro-stuttering id see in BF3. Result :) Cheers OP I owe ya a beer :) Link to comment https://www.neowin.net/forum/topic/1075781-tweak-enable-hpet-in-bios-and-os-for-better-performance-and-fps/#findComment-594853129 Share on other sites More sharing options...
Recommended Posts