WPF如何优化布局/渲染周期?

时间:2013-03-21 14:33:30

标签: c# .net wpf performance

WPF如何在高度易变的应用程序中优化布局/渲染周期?

例如,假设我快速连续两次使自定义控件无效,它会渲染两次吗?当数据/属性更新速率比主渲染速率快时,是否存在性能问题?

1 个答案:

答案 0 :(得分:7)

根据我的经验,我可以说,如果它很快就会不会呈现两次。 我不是百分百肯定,但这就是我认为的原因:

我们有一个非常繁重的应用程序(成千上万的控件),它是一个飞机驾驶舱,全部在wpf,每个按钮,开关,屏幕都可以通过手势或鼠标移动。

驾驶舱为10000像素×10000像素,并实现了放大/缩小(使用鼠标滚轮),点击鼠标右键时平移。

在优化之前,它非常迟缓,慢,因此每个“缩放”步骤或“平移”步骤大约需要1秒

如果我缩放1次(例如缩放* 1.2),则需要1秒

如果我缩放10次(缩放* 1.2 X 10),它不需要10秒,它可能需要2秒,具体取决于您滚动的速度,并且它不渲染每个“缩放步骤”它只渲染最后一个......