static DWORD delta = 0;
DWORD t = ::timeGetTime();

if (g_pD3DDev->BeginScene() == D3D_OK) {
 static float f = 0;
 f += 1.0 * delta / 1000;
 省略
 g_pD3DDev->EndScene();
 g_pD3DDev->Present(NULL, NULL, NULL, NULL);
}
delta = ::timeGetTime() - t;

1秒間で1.0進むのを表現するのに、上のようにしたのですが、
フレームレートが700fpsとか、非常に高いときdeltaが0になってしまい、
カクつくんですけど、どうしたらいいんでしょうか?