2017-10-02 32 views
0

directx 11と10.1のテストアプリケーションを開発します。 すべてが期待どおりに動作していますが、グラフィックを含むウィンドウを最大化すると、1フレームあたりの時間が大幅に増加します。 1ms〜40msのように。 sharpdx経由DirectXパフォーマンスの問題最大化ウィンドウ

  • NVS 300枚のグラフィックスカードのDirect3Dで、いくつかの副鼻腔を描き
  • のWindows 7 32ビット
  • アプリケーション、C#はバックバッファに変更するようにプログラムswapchainを初期化制御とsharpdxと
  • Windowsフォーム、サイズ変更イベント(これもなくても発生します)
  • System.Stopwatchを使用してコードラインで問題を検出しました。 mSwapChain.Present(1、PresentFlags.None); 突然最大になると必要な時間が増えます。

手がかりはありますか?

+0

ウィンドウを最大化するとレンダリングの解像度が向上しますか?たぶんあなたの責任を負うのはあなたの描画コードですか? – VTT

+0

解像度が高くなります。 HD4400を搭載した開発用PCでテストすると、フレーム時間は同じになります(グリッドと洞がほとんどなくなります)。 NVSを搭載した私の目的地マシンでは、ある解像度でジャンプします。ドラッグして手動でサイズを変更すると、1フレームあたりの時間が上がるような点(フルスクリーンではない)があります。私のコードで何か悪いことがあるかもしれませんが、公式のgitリポジトリからsharpdxサンプルを使用した場合にもこの現象が発生します。だから私はそれが必ずしも私の描画コードの問題ではないと思うようになります。 – Hexa

+0

すべての描画コマンドをコメントアウトし、Present(1、PresentFlags.None)だけを使用することができます。それでも同じ問題 – Hexa

答えて

0

私の具体的なケースでは、エアロを無効にしたWindowsクラシックテーマに切り替えると問題が解決しました。ウィンドウの開始ボタンがサイズ変更されたウィンドウの上に横たわるようになった場合、フレームのパフォーマンスが悪化したためです。

関連する問題