現在MFCを利用してプログラムを作成しています。
できるだけ正確に60fpsの処理をさせるために以下のようなコードを作りました。

DWORD Now = timeGetTime();
DWORD Last = Now;
DWORD PastTime= 0;
while(1){
 Now = timeGetTime();
 if(Now == Last) continue;
 PastTime += 60 * (Now - Last);
 Last = Now;
 if(PastTime > 1000){
  PastTime -= 1000;
  //ここにやりたい処理
 }
}

この状態でも動作は問題なく行うのですが、
どうやらwhileの無限ループを行っているせいか、CPU使用率が跳ね上がってしまいます。
精度を維持しつつ、これを回避する方法はないでしょうか?
MFCとはたぶん関係なさそうなので、ここで質問させていただきます。