P/invoke を使用して XInput 用の .net ライブラリを開発し、GUI (WPF) に実装する準備をしています。
私はBackgroundWorkerクラスを見て、1つのコントローラーのテストとして機能させましたが、これはハックジョブであり、明らかに2〜4つのコントローラーには適していません(これは主に必要なものを確認するために行われましたGUIを使用するため)。
そこで、このアプリのスレッド化にどのようにアプローチするかについて、ここで経験豊富な人々に尋ねています。BackgroundWorker クラスを続行するか、.net 4 またはその他の方法で TPL を確認する必要がありますか?
XInput にはメッセージング システムがなく、ポーリング システムのみであるため、ワーカー スレッドが必要です。ワーカー スレッドは、およそ 20 ミリ秒ごとに入力をチェックします (Thread.Sleep)。また、すべてのコントローラーに対してワーカー スレッドを 1 つだけにするか、ワーカー スレッドを 4 つにするか (コントローラーの最大数は 4 に制限されています) もわかりません。
私は一般的にWPFと.NETに少し慣れていないので、どんなアドバイスも歓迎します:)