カスタム ハードウェアから受信する RS232 シリアルおよびネットワーク データの (かなり) 正確なタイムスタンプを必要とするプロジェクトに取り組んでいます。データは多数の独立したハードウェア ソースから取得されるため、すべてのデータにタイムスタンプを付ける必要があります。これにより、公称ポイント イン タイムにデスキュー/補間できるようになります。
私の即時のことはタイムスタンプに組み込みの Now コマンドを使用することでしたが、簡単な Google は、これが約 50 ミリ秒程度までしか正確ではないことを示しているようです。
残念ながら、読めば読むほど混乱します。GetTickCount と QueryPerformanceCounter については、現在のマルチコア プロセッサと CPU スロットリングによる複雑さを伴う多くの矛盾するアドバイスがあるようです。Windows マルチメディア タイマーの使用を推奨する投稿も見ましたが、これを行うためのコード スニペットが見つからないようです。
だから、誰でも私にアドバイスできますか:
1) 「今」がどれほど正確か。
2) シンプルで精度の高い代替手段があるかどうか。
注:たとえば、10ミリ秒以内にタイムスタンプを付けたいと思っています。タイマー自体を探しているのではなく、より良いタイムスタンプ方法を探しているだけです。これは、Windows 7 32 ビットの低電力マイクロ PC で実行されます。違いがある場合は、Delphi XE または Delphi 2007 のいずれかを使用します。