私はwpf UIで作業するためにリアクティブエクステンションを使用していますが、基本的に私は両方ともサンプリングとスロットリングを行う必要があります(入力中にいくつかのものを連続して実行し、 (200〜300ミリ秒)リアクティブエクステンション、ロック、スレッド
問題は、予測できないことがあり、すぐにスロットルをトリガーすることがあります。これは、TextUpdatedイベントが観測可能なものや観察可能なものを持つものにしなかったためです。私も干渉するかもしれないいくつかのロックを行っているが、それは通常は新しいタスクを通して行われ、UIスレッドでは行われない。ブレークポイントを設定すると、デバッグが「間違って」より多くトリガーされるようなので、デバッグが動作に影響を与える可能性があります。
observableはUIスレッドで作成されるため(おそらく誤って)、タイマーなどそのスレッドの下にも、オブザーバブルを作成するための新しいスレッドを作成して、UIオーバーヘッドと潜在的なロックによって干渉されないようにするのは良い考えですか?どのようにして最良の方法でそのようなスレッドを設定すればよいのでしょうか?それは最後の空のwhileループがそんなに良い考えではないかもしれないと思います:)
とにかくスレッドはボンネットの下で動作しますか?あなたはそれが動作するキーに強打場合は、繰り返し起動する前に、500ミリ秒の遅延がありますようですキーを押したままP:
EDIT
はこの問題は、私はそれをテストしていた方法だったようです良い。一口
(Sample/Throttleによる暗黙的な使用以外の)ThreadPoolを頻繁に使用していますか? –