SDKのスレってないんですね。ここで聞いていいのかな?

timeGetTimeの返す値って、PC起動してから時間が立つほど不正確になるもんなんですか?

Cでゲームを作っていて、ゲームなので高速な処理をするためにメッセージループをいじって
while (TRUE){
  if( PeekMessage(&msg, NULL, 0, 0,PM_REMOVE)) {
    if(msg.message == WM_QUIT) break;
    TranslateMessage(&msg);
    DispatchMessage(&msg);
  } else {
    gameMain();
  }
} return (msg.wParam);

処理のほとんどをgameMainに費やすようにしています。
で、例えば敵機の弾とかの移動距離を算出するために、
「(今のtimeGetTime()の値 - 前回ループ時のtimeGetTimeの値)/1000*1秒間に移動したい距離」
とすることで、CPUの処理能力によって差が出ないようにしてるのですが、
PC起動してから長時間たっていると、動きがガクガクするのです。