Win32游戏循环不会使CPU飙升

Rei*_*aka 4 winapi game-loop

Windows中有很多例子可以在相当高且稳定的帧速率下触发代码而不会占用CPU.

例如,WPF/Silverlight/WinRT应用程序可以执行此操作.浏览器和媒体播放器也是如此.他们究竟是如何做到的,以及我将从Win32应用程序中获得相同效果的API调用?

当然,时钟轮询不起作用,因为它会刺激CPU.也没有Sleep(),因为你最多只能获得大约50ms的粒度.

huy*_*itw 5

他们正在使用多媒体计时器.您可以在此处找到有关MSDN的信息

每个多媒体计时器事件仅使视图无效(带有InvalidateRect的 fe ).绘图发生在WM_PAINT/ OnPainthandler中.