11

非常に不安定なアプリケーションでWPFはレイアウト/レンダリングサイクルをどのように最適化しますか?

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

4

1 に答える 1

7

私の経験に基づくと、十分に高速であれば、2回レンダリングされることはないと言えます。私は100%確信していませんが、これが私がこれを考える理由です:

非常に重いアプリケーション(数千のコントロール)がありました。それは航空機のコックピットで、すべてwpfで、各ボタン、スイッチ、画面はジェスチャーまたはマウスで移動できました。

コックピットは10000ピクセル×10000ピクセルで、ズームイン/ズームアウト(マウスホイールを使用)を実装し、マウスの右ボタンをクリックするとパンしました。

最適化前は非常に遅く、遅いため、「ズーム」ステップまたは「パン」ステップごとに約1秒かかりました。

1回ズームすると(たとえばズーム* 1.2)、1秒かかりました

10回ズーム(ズーム* 1.2 X 10)すると、10秒もかからず、スクロール速度にもよりますが、おそらく2秒ほどかかります。また、各「ズームステップ」はレンダリングされず、最後のステップのみがレンダリングされます。 ..

于 2013-03-21T14:51:05.307 に答える