C++ 对于不需要高分辨率计时的应用程序,为什么要使用SetTimer功能而不是多媒体计时器服务?

C++ 对于不需要高分辨率计时的应用程序,为什么要使用SetTimer功能而不是多媒体计时器服务?,c++,timer,C++,Timer,对于不使用高分辨率计时的应用程序,为什么我应该使用SetTimer功能而不是多媒体计时器服务 根据《科学》杂志的报道,这是我应该做的,没有任何理由说明原因。更高分辨率的计时效率更低。操作系统需要更准确地跟踪时间,并且可能需要在效率低下的时间暂停其他线程,以便按时调用计时器。因此,基本上,高分辨率计时器是昂贵的,您应该只在需要时使用昂贵的东西。高分辨率计时器的效率较低。操作系统需要更准确地跟踪时间,并且可能需要在效率低下的时间暂停其他线程,以便按时调用计时器。因此,基本上,高分辨率计时器是昂贵的,

对于不使用高分辨率计时的应用程序,为什么我应该使用
SetTimer
功能而不是多媒体计时器服务


根据《科学》杂志的报道,这是我应该做的,没有任何理由说明原因。

更高分辨率的计时效率更低。操作系统需要更准确地跟踪时间,并且可能需要在效率低下的时间暂停其他线程,以便按时调用计时器。因此,基本上,高分辨率计时器是昂贵的,您应该只在需要时使用昂贵的东西。

高分辨率计时器的效率较低。操作系统需要更准确地跟踪时间,并且可能需要在效率低下的时间暂停其他线程,以便按时调用计时器。因此,基本上,高分辨率计时器是昂贵的,您应该只在需要时使用昂贵的东西。

除了Brendan的观点之外,通过
SetTimer
您可以获得一条Windows消息,该消息直接适合GUI程序的体系结构,不需要线程间通信。使用多媒体计时器,您可以在系统线程上获得回调,这很难与线程上运行的代码进行集成和同步。

除了Brendan的观点之外,使用
SetTimer
您可以获得一条Windows消息,该消息直接适合GUI程序的体系结构,不需要线程间通信。使用多媒体计时器,系统线程上会出现回调,这很难与线程上运行的代码进行集成和同步。

函数取决于我想要实现的目标。你没有给出足够的细节。想象一下,如果一切都需要高分辨率定时器,而低分辨率定时器就足够了。功能取决于我想要实现的目标。你没有给出足够的细节。想象一下,如果一切都需要高分辨率定时器,而低分辨率定时器就足够了。