- ベストアンサー
高分解能タイマとは何か?
高分解能タイマとは何か? はじめまして。 timeDebCapsやQueryPerformanceCounterで知ることになる高分解能タイマなんですが それが何なのか判り兼ねている状態なので説明が欲しくて質問いたしました。 周波数を測定する機能で、それはCPUに依存する?ということでしょうか? 1ms毎に測定するということですが何を測定してるのかあまりよく分からないでいます。 ここのところを詳しく教えていただければ有難く思います。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
timeDebCapsが何かよく分かりませんが、基本的にWindowsの話ですよね。 GetTickCountのような基本的なタイマ機能では1ミリ秒単位でも数十ミリ秒程度の精度しかない時間しか計れませんし、より精度の高いtimeGetTimeでも最大で1ミリ秒の精度しか持ちません。 QueryPerformanceCounterは1ミリ秒より細かい時間の経過を計るための機能です。これで得られる値はある周波数での時間カウントですが、この周波数はマシン依存で周波数はQueryPerformanceFrequencyで得られます。カウントの絶対値には意味がなく、差分を取ることで間の経過時間を知ることができるだけです。現状で数マイクロ秒程度の精度はあると思います。 Pentium以降のIA32系CPUではタイムスタンプカウンタがあるので、これを利用していることが推測されますが、マルチCPUや可変クロックに対応するための補正が入っていると思われます。最近だとチップセットの高精度タイマを利用しているかもしれません。
その他の回答 (1)
- titokani
- ベストアンサー率19% (341/1726)
おそらくはCPUが自身のクロックをカウントしているんじゃないかと思います。
お礼
なるほど。 やはりCPUと関連があったんですねー ちょっと自信がわきました^^
お礼
回答ありがとうございます。 高分解能=クロックの周波数がかなり細かく測定できるということですよね。 とてもよく分かりましたよ。