想請教各位,都如何在C++實現一個足夠"精準"的計時器?
(假設我把精準定義在,24hr累積誤差不超過1秒)
我們在播放影片時,可能要剛好每1/40秒換一張照片;或玩遊戲時
跑步速度為每秒5格等。要實現這些,想像中都要有很精準的時鐘。
在我過去的經驗中,每十秒打一次hearbeat,但如果依賴while sleep(10s),
平均下來可能每分鐘5.9筆,畢竟CPU交換資料以及執行少量程式碼都會花掉一
些時間,導致我需要把10s再調低一些。
類似這種狀況,想請教各位大大
是否有什麼方式能讓程式能優雅又幾乎精準的在特定時間執行?
這裡的特定時間又分成週期式執行,及剛好在指定時間執行兩種。
或是有什麼可供搜尋用的名詞嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.176.57.68 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1623896833.A.E72.html
推
06/17 10:40,
2年前
, 1F
06/17 10:40, 1F
→
06/17 10:48,
2年前
, 2F
06/17 10:48, 2F
→
06/17 10:50,
2年前
, 3F
06/17 10:50, 3F
※ 編輯: worcdlo (180.176.57.68 臺灣), 06/17/2021 10:53:00
→
06/17 10:54,
2年前
, 4F
06/17 10:54, 4F
→
06/17 10:56,
2年前
, 5F
06/17 10:56, 5F
→
06/17 10:57,
2年前
, 6F
06/17 10:57, 6F
推
06/17 10:59,
2年前
, 7F
06/17 10:59, 7F
→
06/17 14:03,
2年前
, 8F
06/17 14:03, 8F
→
06/17 22:18,
2年前
, 9F
06/17 22:18, 9F
推
06/18 02:01,
2年前
, 10F
06/18 02:01, 10F
推
06/18 03:37,
2年前
, 11F
06/18 03:37, 11F
→
06/18 03:37,
2年前
, 12F
06/18 03:37, 12F
→
06/18 03:38,
2年前
, 13F
06/18 03:38, 13F
→
06/18 09:51,
2年前
, 14F
06/18 09:51, 14F
推
06/18 14:18,
2年前
, 15F
06/18 14:18, 15F
→
06/18 14:18,
2年前
, 16F
06/18 14:18, 16F
→
06/18 14:18,
2年前
, 17F
06/18 14:18, 17F
推
06/18 21:00,
2年前
, 18F
06/18 21:00, 18F
→
06/18 21:00,
2年前
, 19F
06/18 21:00, 19F
→
06/18 21:00,
2年前
, 20F
06/18 21:00, 20F