2012-01-27 9 views
0

Windowsアプリケーションからグラフィックカードクロックを使用することはできますか?もっと具体的には、何とかクロックイベント(tick?)で割り込みを送信し、ソフトウェアからそれに接続するグラフィックカードを作ることは可能ですか?グラフィックカードの時計にプログラムでアクセスする

私が言っていることは、PCクロックがうまくいかないことです。高精度の時計には多額の費用がかかります。コロケーション(GPS信号は利用できず、原子時計は腕や足などのコストがかかります)では困難です。私は新しいグラフィックカードがそれらの精密時計を持っていることを読んだ。だからすぐに思ったのですが、私のアプリを精度100ns(おそらく)に同期させるためにそれらを使うことができますか(自分自身に精神ノート)?何か案は?

P.S.それともオーディオカード... P.P.S.質問に答えてください - 私はWindows/Linuxの議論とは関係なく、グラフィック/オーディオカードの内部クロックに接続することはできますか?ありがとう

+0

BTW:HPETまたはPMTIMERは、あなたが尋ねたはずの質問に対する答えでした。 http://en.wikipedia.org/wiki/High_Precision_Event_Timer –

+3

この質問は絶え間なく続きます。フックアップ割り込みにドライバを書き込む必要があります。ユーザーモードのアプリケーションでイベントを取得するには、まずコントロールを割り込みハンドラからカーネルスレッドに転送してから、ユーザーモードのスレッドに通知する必要があります。すべての(非)割り込みは中断される可能性があります(汎用OSでは中断される可能性があります)。ほとんどの場合、中断されず、「うまく動作する」と主張することもできますが、ゼロページスレッドが起動したり、キャッシュマネージャが何かをページしたり、待ち時間が増えたり、安定したイベントが失敗します。 – Christopher

+0

@BenVoigt申し訳ありませんが、私はまだ同意しません。 PCクロックの問題は精度ではなくドリフトします。 @クリス - ありがとう –

答えて

3

いいえ、あなたは "おそらく100nsの精度で私のアプリを同期するためにそれらを使用することはできません。割り込み処理のジッタは100nsを超えることがあります。非常に優先度の高い割り込みを使用し、割り込みを無効にする必要はありません。

.NETでこれをしたいですか?非決定論的なガベージコレクションと正確なタイミングは互換性がありません。要件に適したプラットフォームを選択してください。

+0

ベン私は、ウィンドウの議論がリアルタイムでは役に立たないことを知っています...私は、ほとんどの人がGCよりも速く動作するアプリを持っています。だからポイントにしてください...あなたは100nsの数字を誤解しています。私は自分のアプリが100nsの精度で同期されることを望んでいない、私は今よりも同期のソースを持っていたい。 100nsではなく250nsである可能性があります。統計的にジッタを測定し、同期などの際にそれを減算することができます。 –

+0

@Bobb:ジッタはレイテンシと同じではありません。そして、はい、私は.NETアプリケーションがおそらく100マイクロ秒ほどのデッドラインを満たすことができるトリックを知っていますが、あなたは3桁の精度を求めています。 –

+0

私はすべての精密時計を求めているわけではありません。あなたの前提をさらに私のアプリケーションにまで広げてはいけません。それは何でもかまいません。私だけではない。それが存在すれば他の人が解決策を使うかもしれませんが、より大きい箱で同じものを支払ってはいけません。ありがとう。 –

関連する問題