すいません、現在VC++6.0・DirectXを使用してミニゲームを作っているのですが少し疑問があります。
FPSの話なんですが
DWORD sTim,eTim;
sTim=timeGetTime();
MSG msg;
while (!end){
   if (PeekMessage(&msg,NULL,0,0,PM_REMOVE)){
TranslateMessage(&msg);
DispatchMessage(&msg);
   }else{
eTim=timeGetTime();
if(eTim-sTim>60){
     sTim=eTim;
  Main();
}
   }
}

これで60FPSごとに描画を更新してるのですが当然Main関数の中で
いろんな処理を組み込んでいくと60FPSは維持できなくなりますよね。
ゲームとして基本的な形はFPSはある程度固定で進むのがいいと思うのですが
60FPS毎に描画をするものの結局40FPSぐらいまで落ちます。
皆様はどうやって対処しているのでしょうかよろしければご教授お願いします。