通常情況下,如果不處理下,再小的游戲也會讓CPU使用率100%.
應該用Sleep(1)把多余的片段還給CPU,
像這樣:
while(true)
{
DWORD?start_time?=?GetTickCount();
if(PeekMessage(&msg,NULL,0,0,PM_REMOVE))
{
if?(msg.message?==?WM_QUIT)?break;
TranslateMessage(&msg);
DispatchMessage(&msg);
}
update(float(GetTickCount()?-?start_time));
while((GetTickCount()?-?start_time)?<?30)?Sleep(1);
}
update(float timeDelta)是游戲邏輯與畫面更新的函數。
效果圖:
