D3DImageを使用してSharpDXDirectX9サーフェスをホストし、パン、ズーム、およびワールドオブジェクトとの対話を可能にするコントロールがあり、その結果は本当に素晴らしいものです。ウィンドウが最小化されて元に戻された場合、またはユーザーが画面をロックしてからロック解除した場合を除いて、パフォーマンスは実際には驚くほど一貫した60fpsです。ウィンドウがフォーカスを取り戻すと、fpsは約25〜30fpsに低下します。コントロールをアンロードしてコンテナにロードし直してから、60 fpsのBOOMを実行することで、この問題を「修正」できます。
10msに設定されたDispatcherTimerを使用してメインレンダリング関数を呼び出します。以前は、CompositionTarget.Renderingイベントを使用していましたが、DispatcherTimerを使用した場合ほどパフォーマンスは良くありませんでした。私は失われたリソースを正しく処理しているとかなり確信しています。これらの1秒あたりの欠落フレームに関するアイデアはありますか?
編集: 私はこれとまったく同じ問題を抱えています。残念ながら、デバイスの自動リセットを実行しても問題は解決しませんが、同じリセット方法を実行するボタンがある場合、fpsは通常に戻ります。