想請教各位,都如何在C++實現一個足夠"精準"的計時器?
(假設我把精準定義在,24hr累積誤差不超過1秒)
我們在播放影片時,可能要剛好每1/40秒換一張照片;或玩遊戲時
跑步速度為每秒5格等。要實現這些,想像中都要有很精準的時鐘。
在我過去的經驗中,每十秒打一次hearbeat,但如果依賴while sleep(10s),
平均下來可能每分鐘5.9筆,畢竟CPU交換資料以及執行少量程式碼都會花掉一
些時間,導致我需要把10s再調低一些。
類似這種狀況,想請教各位大大
是否有什麼方式能讓程式能優雅又幾乎精準的在特定時間執行?
這裡的特定時間又分成週期式執行,及剛好在指定時間執行兩種。
或是有什麼可供搜尋用的名詞嗎?