1

私は、入力する非常に簡単なフォームをユーザーに提示する Silverlight アプリを持っています。ラベル (TextBlocks) とフィールド (TextBoxes) は、ご想像のとおり、グリッドに配置されています。1 つの TextBlock の Opacity が 0 に設定されている場合、enableRedrawRegions パラメーターをオンにすることで検証されるように、アプリケーションが常に再レンダリングされるという問題がありました (ところで、非常に役立ちます)。この絶え間ない再レンダリングは、たとえそれが静的な形式であったとしても、CPU 使用率を最大 85% 程度まで消費します。Opacity を 0 に設定することから、Visibility を Collapsed に設定し、レイアウトを変更しないように Grid RowDefinition の高さを固定するように変更したところ、この動作が停止し、CPU は再び 0% になりました。

少なくともこれは PC では当てはまりますが、Mac では、このフォームを開くとすぐに CPU 使用率が 24% になり (8 コアの Mac Pro で)、何があってもそれ以下に戻ることはありません。他の誰かが同様の行動を見たことがありますか? 解決策はありますか?アプリケーション自体は何もしていません。ユーザーの入力を待っているだけです...

カール

4

1 に答える 1

0

Mac でも同様の動作を見たことがありますが、理由はわかりません。ページが何もしていないとき、私のイメージ ギャラリー ビューは約 20% の CPU しか消費しません。ユーザーが別のページに移動して戻ってくると、CPU が低下することがありますが、再現できる明確なパターンはありません。Windows では、この問題は存在しません。

于 2009-12-12T08:12:35.330 に答える