QueryPerformanceCounterについて

解決


やすお  2003-07-14 00:02:25  No: 51721

はじめまして。
QueryPerformanceCounterを使って10秒毎に処理を行うプログラムを作っているんですが、長期間稼動するとGetTickCountのようにカウンタがゼロになるんでしょうか?


安田  2003-07-14 09:13:36  No: 51722

理論的にはそうなるでしょう。
しかし、計算してみればわかりますが現実的に起こりえません。


やすお  2003-07-24 16:02:05  No: 51723

安田さん、ありがとうございます。

ということは、QueryPerformanceFrequency(&freq)とした場合、最大で
(2^64/freq)*1000000(usec)程度でゼロになるということでしょうか?

間違っていますか?


ブタゴリラ  2003-07-24 22:36:55  No: 51724

あっていると思います。

ただ、QueryPerformanceFrequencyの引数は、
64ビットの符号ありの変数ですから、
(2^63) - 1
から先はどういう風に動作するかは不明です。
(多分キャストをかければ問題なく動くはず?)

プログラムによっても変わりますが、
もし、ゼロになった時には自分で補正をかけてやれば良いと思います。
(ちなみに、私のパソコンでは、ゼロになるのは、約49万年後でした。)

ただ、ハードウェアが対応していない時もありますから注意してください。
(見た事は無いけど…。)


やすお  2003-07-27 15:18:38  No: 51725

ブタゴリラさん、貴重な情報ありがとうございます。
参考にさせて頂きます。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加