2013-03-21 14 views
11

変動の多いアプリケーションでWPFがレイアウト/レンダリングサイクルを最適化する方法を教えてください。WPFはレイアウト/レンダリングサイクルをどのように最適化しますか?

たとえば、カスタムコントロールを2回連続して無効にすると、2回レンダリングされますか?データ/プロパティの更新レートがメインのレンダーレートより速い場合、パフォーマンスの問題はありますか?

答えて

7

私の経験によれば、それが十分速ければ2度もレンダリングしないとは言えません。 私は100%確信していませんが、これは私が次のように考える理由です:

私たちは本当に重いアプリケーション(何千ものコントロール)を持っていました、それはwpf、各ボタン、スイッチ、ジェスチャーまたはマウスで動かすことができます。

コックピットは10,000ピクセル×10,000ピクセルで、マウスの右ボタンをクリックしたときにズームイン/ズームアウト(マウスホイール付き)を実行しました。

最適化する前に、それは私のズームが1時間(例えばズーム* 1.2)、それが1を取った場合ので、それぞれ「ズーム」ステップ、または「パン」のステップは、約1秒

を取った、非常に、ラグ遅かったが秒

10倍(ズーム* 1.2×10)のズームを行う場合、スクロールする速度によっては2秒かかりますが、レンダリングするたびにレンダリングされません最後の1つだけです...

+0

うわー.... 10k x 10k ...ズームと何千ものコントロールと...それはこんにちはUIです。 –

+1

種類の私に入るには少し怖がっています飛行機... – Charleh

+0

このコックピットは基本的なトレーニングにのみ使用され、生徒は実際のものを持たずにコックピットに「ナビゲート」します。教師がパネルを説明し、魔女のボタンでこれを行い、そのことを教えてください...完全なシミュレーション – mlemay

関連する問題