2012-03-10 17 views
1

WCFを使って(同じコンピュータ上の)別のプロセスと通信するXNAアプリケーションがあります。
各更新サイクルで、XNAは他のプロセスからデータを取得します。xna + wcfは非常に遅く実行されますが、fullsceen! (狂ってる?)

ウィンドウ内(60fps以上)のときにはXNAが正常に動作しますが、
ですが、フルスクリーンで実行しようとすると1fps以下になります。
WCFを無効にすると、これは発生しません。

なぜフルスクリーンがそのように影響しますか?
アイデア

ありがとうございました。

答えて

0

これは細部はあまりないと思いますが、何かを待っているページフリップ/バッファスワップに起因するスレッド不足の問題がありますか?どのようなOSを使用していますか、いくつのコアを使用していますか?

プロファイラを使用してコードを分析して、重要な部分がどこにあるかを確認してください。

すぐに修正するには、Thread.Sleep(1)を使用するか、WCFサービスの非同期呼び出しに切り替えてみてください。

+0

2つのコアCPUを搭載したWin7 64ビットで動作します。本当に私を殺してしまうのは、フルスクリーンでないとアプリケーションが正常に動作するということです。コードは同じです。私は睡眠トリックを試みます。 –

+0

それに何か運がありますか? – Alex

関連する問題