我有一個應用程序,我使用MinGW實現gettimeofday
在Win7上實現「精確」時序(約1ms精度)。它工作正常。Win7和Win10之間的計時器差異
但是,當在Win10上使用相同的代碼(甚至是相同的* .exe)時,精度會急劇下降到着名的15.6ms精度,這對我來說是不夠的。
兩個問題: - 你知道什麼可以是這種差異的根源嗎? (這是一個OS配置/「功能」?) - 我該如何解決它?或者更好的是,有沒有一個精確的計時器不可知的OS配置?
注意:std::chrono::high_resolution_clock
似乎有相同的問題(至少它顯示Win10的15.6ms限制)。
15.6是正常值,它是你的Win7安裝不當。調用timeBeginPeriod()或使用QueryPerformanceCounter()獲取亞微秒分辨率。 QPF是最好的。 –
「不良行爲」如何表現更好?這是否來自配置選項? – cyrobin
正常和「更好」有相反的目標。電源使用情況很糟糕,您會匆忙排空筆記本電腦電池。不是配置,通常是調用timeBeginPeriod()的程序或驅動程序。 [鉻是臭名昭着](http://blog.codinghorror。COM /爲什麼-確實窗口具備的,可怕的電池壽命/)。運行powercfg -energy來找到Win7上的麻煩製造者。 –