2

デスクトップの情報をスクロールするアプリを作っています。ウィンドウは透明です。私は単純なものから始めて、アニメーション化のための CPU 使用率が最も低いものを見つけようとしています。単純な TextBlock から始めています。

私の開発マシンでは、DoubleAnimation を使用して Canvas.Left プロパティを設定すると、画面全体で非常に滑らかなアニメーションが得られます。ただし、別の Vista コンピューターでは、6 ~ 7 秒ごとに約 1 秒の遅延が発生します。XP マシンでは、これも非常にスムーズです。他の 3 台のマシンで試してみましたが、50% の良し悪しでした。すべてのマシンに 3.5 SP1 がインストールされています。

システムの CPU 使用率が 10% を超えることはありません。ソフトウェア レンダリングを行っていないことがわかります。私のデスクトップのビデオ カードは nVidia Geforce 7xxx シリーズで、不安定なマシンの 1 つは nVidia Geforce 88xx カードを使用していました。すべてが同じドライバー リリースと最新のものを使用しています。画面解像度は通常 1920x1080 ですが、私の開発マシンは例外で、これははるかに大きい (2560x1600)

ただし、Perforator を使用してダーティ リージョン サポートを無効にすると、すべてのマシンでスムーズに動作しますが、CPU は現在 30% です。

迷っています。途切れ途切れはほとんど時計仕掛けのようです。問題のあるマシンでは他に何も起こっていません。テストされたすべてのマシンは Core 2 Duos、大量の RAM、最新のドライバー、最新のサービス パックでした。他に何をすべきかわかりません。ラグではなく、単にCPU使用率が高いと予想します。

4

3 に答える 3

3

allowstransparency プロパティを使用している場合、パフォーマンスと互換性の問題が発生します。

技術的な説明は次のとおりです。

http://blogs.msdn.com/dwayneneed/archive/2008/09/08/transparent-windows-in-wpf.aspx

私の個人的な (そして苦痛な) 経験から、画面上に WPF 透過ウィンドウを長時間表示している場合、一部のディスプレイ ドライバーはプログラムを破壊し、他のドライバーは Windows を不規則に動作させます。透明を使用しないように GUI を書き直すことをお勧めします。 .

于 2008-11-24T09:06:38.953 に答える
0

最近 WPF を使用して作成したプログラムで、非常によく似た問題が発生しています。私が使用している Windows Server 2003 を実行しているビルド マシンでは正常に動作しますが、プログラムを実行するのに十分なリソースを備えた XP マシンに切り替えると、非常に不安定になります。基本的には、1 秒あたり 1 フレームを取得します。ティックごとにアニメーションが移動します。アニメーションが 1 サイクル (アニメーションを通じて) 完了すると消えるというこの問題について聞いたことがありますが、私にとっては永遠にこのままです。

そして、私は allowstransparency プロパティを使用していないので、他の誰かに何かアイデアがあれば、とても感謝しています。

(障害が発生しているマシンも Core 2 Duo です)

ありがとう、エリック

于 2008-12-08T01:52:42.253 に答える
0

わかりました、以前のステートメントを投稿した後、問題を解決しました。このコンピューターにはまだグラフィック ドライバーをインストールしていなかったことがわかりました。その後、非常にスムーズに動作するようになりました。おそらく、以前は何らかのソフトウェア グラフィックス レンダリングを使用していたのでしょう。そのため、グラフィックス ドライバーを利用可能な最新のものに更新して、問題が解決するかどうかを確認することをお勧めします。ただし、元の投稿者は別の問題を抱えているようです。彼は fx ドライバーを適切にインストールしているようです。ただし、directx を使用した nvidia 8800 カードに問題があるかどうかはわかりません。

ありがとう、エリック

于 2008-12-08T02:07:10.947 に答える