質問

私が見てきた答えの一つは、それは<のhref =「http://msdn.microsoft.com/en-us/library/system.diagnostics.stopwatch(loband).aspx」のrel = "nofollowを示し、この質問に、 noreferrer "> System.Diagnostics.Stopwatch のが唯一の生産コードでパフォーマンスを診断していないために使用されるべきです。

その場合、何が.NETで精密なタイミングを取得するための最良の方法だろうか?私は、MIDIアウトを使用してMIDIシーケンサーのnoreferrer">非常に単純な NAudio にする機能。私はできるだけ少ないジッタで、1/10秒(例えば)に合わせMIDIメッセージを送信できるようにしたいと思います。これは実現可能である、またはコンテキスト・スイッチングのようなものは、私の一日台無しにする?

私は現在、継続Stopwatchを呼び出し、150bpmで、1/16分音符のストリームを生成する際にジッタを算出するコンソールアプリケーションにいくつかのコードを持っています。ジッタは、このような状況では非常に低いです。しかし、私はそれがケース残る場合ので、私は知らないが、別のスレッドにこれをオフに移動することがあります。

役に立ちましたか?

解決

あなたはP /呼び出しを気にしない場合は、使用することができます。

のQueryPerformanceCounter:のhttp:// WWW .eggheadcafe.com /記事/ 20021111.aspする

他のヒント

また、ネイティブストリーミングMIDIのAPIを使用することができます。私はそのNAudioではないと思いますが、あなたは1つがそれをサポートしているかどうかを確認するためにC#ミディツールキットで見ることができます。そうしないとあなたはネイティブのMIDI API P /呼び出しを行う方法の2つの例を持っており、独自のロールすることができます...

Windowsのマルチメディアタイマーの状態それが可能にすることを「アプリケーションは、ハードウェアプラットフォームのための可能な最大の解像度(または精度)とタイマーイベントをスケジューリングする。」

は、一例として使用するアプリケーションは、MIDIシーケンサである。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top