Windowsでは、ミリ秒単位の時間を測る時にGetTickCount()とtimeGetTime()という2つの関数が良く利用されます。この2つの関数は、マルチメディア向けAPIに含まれるtimeGetTime()の方が高精度(最高1ms)でゲームやマルチメディア処理に適しており、GetTickCount()の方は精度が悪い、と言われていますが、実際にどの程度の精度で時間測定ができるのか、測ってみました。 精度の測定 今回はある一定の周期を設定し、その周期のループを1000回繰り返してループ終了までの経過時間を測る事で精度を調べる事にしました。例えば、周期を1msにするとループが終わるまでに1ms×1000=1sかかるはずですが、周期を測る関数の精度が悪ければもっとかかるでしょう。 下の例は、周期dwLapミリ秒でGetTickCountの精度を測る例です。精度が良ければほぼdwLap秒