アカウント名:
パスワード:
TSCの速度は実測しないと分からないので、WindowsだろうとLinuxだろうと*BSDだろうと、OS起動時にキャリブレーションしています。その後で外部供給クロックを変動させると、時計が狂うのは当然ですよね。アイドル時にクロックを落とすとか、TurboBoostとかいうのは話が別で、そもそもOSが自らクロックを変えるのでちゃんと補正しますし、そもそも現在主流のCPUではこれらの (内部の) クロック変動でTSCの速度が変わることはありません。
他のコメントにもあるように、RTCはWindows起動中はほとんど参照されないだろうから、RTCの問題ではないでしょうね。
HPETのQueryPerformanceFrequencyは実測して決めていたんでしたっけ?以前調べたときは14.31818MHzとなってた記憶があったんですが…
Windows8以前からEISTを有効にしていると1日に十数秒時間がずれたりするので、本当にちゃんと補正しているのか疑問に思ってたんですけど。実際にはタイマ割り込み毎に以前に実測したカウント値を足しているだけでHPETのカウント値は使っていないってことなんでしょうか。
# 4770KのWindows8マシンで以下のプログラムを実行したら3416980となって、妙に半
bcdedit /set useplatformclock trueして再起動すれば、HPETを使うようになる。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
日本発のオープンソースソフトウェアは42件 -- ある官僚
なんか勘違いしているコメントが多いようだが (スコア:0)
TSCの速度は実測しないと分からないので、WindowsだろうとLinuxだろうと*BSDだろうと、OS起動時にキャリブレーションしています。その後で外部供給クロックを変動させると、時計が狂うのは当然ですよね。
アイドル時にクロックを落とすとか、TurboBoostとかいうのは話が別で、そもそもOSが自らクロックを変えるのでちゃんと補正しますし、そもそも現在主流のCPUではこれらの (内部の) クロック変動でTSCの速度が変わることはありません。
Re: (スコア:0)
他のコメントにもあるように、RTCはWindows起動中はほとんど参照されないだろうから、RTCの問題ではないでしょうね。
HPETのQueryPerformanceFrequencyは実測して決めていたんでしたっけ?
以前調べたときは14.31818MHzとなってた記憶があったんですが…
Windows8以前からEISTを有効にしていると1日に十数秒時間がずれたりするので、本当にちゃんと補正しているのか疑問に思ってたんですけど。
実際にはタイマ割り込み毎に以前に実測したカウント値を足しているだけでHPETのカウント値は使っていないってことなんでしょうか。
# 4770KのWindows8マシンで以下のプログラムを実行したら3416980となって、妙に半
Re:なんか勘違いしているコメントが多いようだが (スコア:2)
bcdedit /set useplatformclock true
して再起動すれば、HPETを使うようになる。