こんな感じでいいですかね

  //メッセージループ
   while( 1 )
   {
        if ( PeekMessage(&msg,NULL,0,0,PM_NOREMOVE) ){
           if ( GetMessage( &msg, NULL, 0, 0 ) == 0 ) { break; }
               TranslateMessage(&msg);
               DispatchMessage(&msg);
        }else{
           MainLoop();
  }
}

void MainLoop()
{
  /*このあたりにCPU使用率を下げるための処理*/
  
  /*OKならゲーム処理*/

}