2011-07-13 25 views
7

特定のシステムでWPFアプリケーションのUIのパフォーマンスに問題があります。私の開発システムでは、他のシステムではうまくいきますが、パフォーマンスはとても悪いです。この問題は、スプリッターを移動するとき、FlowDocumentsのサイズを変更するとき、またはボタンをホバーするとき。特定のシステムでWPFアプリケーションが遅くなるのはなぜですか?

パフォーマンスの違いは、コンピュータの明白な「仕様」とは直接関係しません。アプリケーションは、ネットブック(Intel Atom N550、1GB RAM、Windowsパフォーマンスインデックス:2.0)ではOKですが、デスクトップコンピュータ(I7 2600,8GB RAM、ATI Radeon HD 5700、Windowsパフォーマンスインデックス:7.4)では動作しません。どちらのシステムもWindows 7を実行しています。 アプリケーションは.NET 4.0でビルドされています。 RenderOptions.ProcessRenderMode = RenderMode.SoftwareOnlyを使用してソフトウェアレンダリングを強制しようとしました。しかし、これはまったく違いはありません。

この問題の原因は何ですか?どうすれば修正できますか?

+1

2つの質問は、最初に見落としやすいですが、ATIの遅いPCのドライバか、在庫窓を使っているのですか?次に、カスタムまたはサードパーティのUIコントロールを使用していますか? – Seph

+2

問題は特定のバージョンのディスプレイドライバとドライバベンダーにある可能性があります – sll

+0

これらのマシンにはどのエディションのWindows 7がありますか?私はWindows 7 UltimateでWPFのパフォーマンスに関するいくつかの問題を経験しましたが、同じマシンにWindows 7 Enterpriseをインストールした後は消えてしまいました。 – treetey

答えて

7

これは、複雑なWpfビジュアルツリーを持つアプリケーションに影響を与えるWpf 4バグである可能性があります。このスレッドで議論されているhttp://social.msdn.microsoft.com/Forums/en/windowsaccessibilityandautomation/thread/6c4465e2-207c-4277-a67f-e0f55eff0110。それはVS 2010のWorkflow 4デザイナーにも影響を与えました - http://social.msdn.microsoft.com/Forums/en/wfprerelease/thread/1f20c37f-1b9e-4b6d-904f-a6b518e4187aを参照してください。そのスレッドには、試してみる可能性のある修正プログラムがあります:http://support.microsoft.com/kb/2484841

これが問題になっている場合は、デバッグをアプリに接続することで良い結果が得られます多くのUiAutomation InvalidateAutomationAncestorsフレームがスタックにあります。

+0

@FromTheMountain、これを修正したことはありますか?ホットフィックス作業をインストールしましたか?コメントしてください、私は同じ問題を抱えています。 – RayLoveless

+0

.NET 4.5へのアップデートで問題が解決しましたか? – RayLoveless

+0

@RayL - 私は4.5を使用していますが、私はまだこの問題を抱えています。 KB2484841をインストールすることもできません。私はすでに持っているそれ以降のdllバージョンにロールされている賭けているだろう。しかし、私が言ったように、私は複雑なビジュアルツリーを持つコントロールのオートメーションにはまだ問題があります。 –

0

おそらくx64とx86の問題ですか?プラットフォームターゲットをAny CPUに設定する。

+0

私もこれについて考えました。私は確かにx86に設定されました。残念ながら、Any CPUに設定しても問題は解決されませんでした。 – FromTheMountain

+0

私たち自身のアプリケーションの中には、x64マシンの「Any CPU」に対するビルドに問題がありました。x64用の特定のビルドを試しましたか? – hyp

関連する問題