私は、いくつかの情報 (単語または画像) を含むスライド ショーを表示する .NET アプリケーションを作成する任務を負っています。ユーザーが特定の項目を見たときに、すぐにスペースを押し、キーを押した時間を記録する必要があります。約50msの間、項目が次々と表示されます。次に、キーを押したときのタイムスタンプと、スライドショーが開始されたときのタイムスタンプの違いを評価する必要があります (したがって、ユーザーが提示されたアイテムに反応するのにかかった時間を知ることができます)。 編集:特別なアイテムの発生時刻も記録する必要があります。
アプリケーションの実行中に発生する可能性のある予測できないラグを減らして、入力処理が可能な限り現実的なものになるようにし、スライド間のラグを減らす必要があります。現在、私は3つのアプローチを考えています:
- 標準の Windows フォーム (GDI+) アプリケーションを作成します。
- WPF アプリケーションを作成する
Tom Miller の Render ループの概念を利用する DirectX 対応の Windows フォーム アプリケーションを作成します(パフォーマンスの点で効果的であると称賛されています)。
あなたが提案するかもしれない他の何か
高度な表示技術、特殊効果、または目的の 3D 環境用に設計されたものは使用しないことを明確にする必要があります。さまざまなフォントや色、または画像のプレーン テキスト スライドのみです。残念ながら情報源を引用することはできませんが、Windows フォームと GDI+ では期待どおりの精度が得られないことを読みました。では、WPF はより良い解決策を提供してくれるのでしょうか? レンダー ループまたはその他のアプローチを使用する必要がありますか。私は、デスクトップ アプリケーションのこの種のパフォーマンス要件について経験がありません。すべてのアドバイスをいただければ幸いです。