我使用wxWidgets和OpenGL創建遊戲引擎。我正在嘗試設置一個計時器,以便定期更新遊戲。我不想使用wxTimer,因爲它可能對我所需要的不夠準確。我使用了一段時間(真)和wxStopWatch:在wxWidgets中處理事件
while (true) {
stopWatch.Start();
<handle events> // I need a function for this
game->OnUpdate();
game->Refresh();
if (stopWatch.Time() < 1000/60)
wxMilliSleep(1000/60 - stopWatch.Time());
}
我需要的是將處理所有的wxWidgets的事件,因爲現在我的應用程序只是凍結功能。
更新:它沒有。它在Windows上稍微不穩定,並且在Mac上測試時,它非常不穩定。顯然,EVT_IDLE在Windows上不會一致調用,在Mac上甚至更少。
更新2:它實際上主要是。在Mac上沒問題;我誤解了我的Mac測試人員的回覆。
將此標記爲解決方案。 :-)(如果這是允許的......我是新來的。) – exclsr 2009-07-15 19:40:59
您可以通過點擊投票計數下的大選標記來接受自己的答案。不需要註釋標題。 – 2009-07-15 19:42:53