Qtのドキュメントについては次のようにQTime::currentTime()
述べています:
精度は、基盤となるオペレーティング システムの精度に依存することに注意してください。すべてのシステムが 1 ミリ秒の精度を提供するわけではありません。
しかし、Windows 7でミリ秒の精度でこの時間を取得する方法はありますか?
C/C++ の time.h ヘッダー ファイルによって提供される機能を使用できます。
#include <time.h>
clock_t start, end;
double cpu_time_used;
int main()
{
start = clock();
/* Do the work. */
end = clock();
cpu_time_used = ((double)(end-start)/ CLOCKS_PER_SEC);
}
タイマーの解像度はプラットフォームによって異なる場合があり、読み取り値が正確でない場合があります。Windows 7 で高解像度の正確なタイムスタンプを取得する必要がある場合は、QPC API が提供されます。
https://msdn.microsoft.com/en-us/library/windows/desktop/dn553408%28v=vs.85%29.aspx
GetSystemTimePreciseAsFileTime
1us未満の解像度でシステム時間を提供すると主張されています。
しかし、それは正確なタイムスタンプについてのみです。実際に 1 ミリ秒のレイテンシーで何かを行う必要がある場合 (イベントの処理など)、デスクトップの不格好なツールではなく、RTOS が必要です。