现在我有两个计时器。一个用于物理和一个用于显示。什么是在Win32中更新场景的正确方法OpenGL
显示计时器连接到主窗口。它大约每5ms发送一次消息WM_PAINT,并且WM_PAINT消息处理程序说要运行opengl显示代码,然后执行SwapBuffers()。
物理计时器连接到辅助窗口(除了那个唯一的方法,我知道如何实现一个窗口计时器是将它附加到一个窗口)。处理程序使它更新我的物理代码。
但是,我注意到有时显示器是“spazzy”。它几乎没有引人注目,可能每秒钟只有一个微小的spaz,但我怀疑有一些事情会使物理在短时间内移动得更慢或更快。
但窗户循环是这样的: 而(的GetMessage(味精,NULL,0,0)> 0) { 的TranslateMessage(&msg); DispatchMessage函数(&msg); } – pete 2012-02-14 02:00:46
NVM,我发现 “的PeekMessage”,但我仍然不知道如何检查它对“空事件”。 – pete 2012-02-14 02:07:03
nvm,我发现使用它的返回值来检查 – pete 2012-02-14 02:14:41