現在我有兩個計時器。一個用於物理和一個用於顯示。什麼是在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