想请教各位,都如何在C++实现一个足够"精准"的计时器?
(假设我把精准定义在,24hr累积误差不超过1秒)
我们在播放影片时,可能要刚好每1/40秒换一张照片;或玩游戏时
跑步速度为每秒5格等。要实现这些,想像中都要有很精准的时钟。
在我过去的经验中,每十秒打一次hearbeat,但如果依赖while sleep(10s),
平均下来可能每分钟5.9笔,毕竟CPU交换资料以及执行少量程式码都会花掉一
些时间,导致我需要把10s再调低一些。
类似这种状况,想请教各位大大
是否有什么方式能让程式能优雅又几乎精准的在特定时间执行?
这里的特定时间又分成周期式执行,及刚好在指定时间执行两种。
或是有什么可供搜寻用的名词吗?