WindowsアプリケーションとWPFアプリケーションの両方のタイマー制御のリンクをいくつか検索しましたが、状況についてアドバイスをいただければ幸いです...
私はWPFを使用しているので、最初のオプションは次のいずれかであるようですSystem.Windows.Threading.DispatcherTimer
。System.Diagnostics.Stopwatch
私が達成する必要があるのは、各WPFDocumentPanel
が、通常100ミリ秒の最小間隔で外部APIからの更新を要求することです。これは、それぞれに固有の間隔でいつでも最大DocumentPanel
です。たとえば、DP1は100ミリ秒、DP2は20,000ミリ秒などです。
通常、私のアプリは1つのDocumentPanelで始まりますが、ユーザーは無制限にパネルを拡張できるため、CPUの能力とアプリの速度をユーザーが判断します。
基準は次のとおりです。
複数のDocumentPanel-通常は最低1〜20ですが、スケーラビリティに関するアドバイスは大歓迎です。
可変イベント間隔(Iv)(最小イベント間隔100ms-最大<1日)
精度-1ms(どのような状況でも(Iv)ms未満の間隔を持つことはできません。オーバーはそれほど問題ではありませんが、数ミリ秒以内である必要があります)編集:1msは厳密には要件ではありませんが、平均(Iv)は短い間維持する必要がありますタイムスケール。
それぞれ
DocumentPanel
がライブの日付/時刻を表示する必要がありますが、設定された間隔に基づいてイベントを生成します
WPFは私にとって混乱を招く問題であるため、現時点では実際のコードではなく、設計の検討を支援しています。
現在、私はの単一のインスタンスを使用することを目指してSystem.Diagnostics.Stopwatch
おり、間隔時間に達しているかどうかに関係なく、各パネルがストップウォッチイベントに作用できるようにしています。
誰かアドバイスできますか?
ありがとうO