申し訳ありませんが、1つ質問させてください。

今、簡単なアドベンチャーを作っています。
PeekMessage関数を使って、メッセージがないときにはMainLoop関数を呼ぶようにしています。
しかし、これを実行すると、休むことなくMainLoopを繰り返すためか、
CPU使用率が100%になってしまいます。

そこで試しに、MainLoop関数の中にSleep(1)を入れてみると、
CPU使用率はかなり減少しました。

しかし、Sleep関数はPCをフリーズさせているのと同じだと聞いたことがあります。
MainLoop関数の中にSleepを入れてよいのでしょうか?
また、その他にいい方法があればお教えください。