WPF 如何在高度不稳定的应用程序中优化布局/渲染周期?
例如,假设我快速连续两次使自定义控件无效,它会呈现两次吗?当数据/属性更新速率快于主渲染速率时是否存在性能问题?
WPF 如何在高度不稳定的应用程序中优化布局/渲染周期?
例如,假设我快速连续两次使自定义控件无效,它会呈现两次吗?当数据/属性更新速率快于主渲染速率时是否存在性能问题?
根据我的经验,我可以说不,如果足够快,它不会渲染两次。我不是 100% 确定,但这就是我认为的原因:
我们有一个非常繁重的应用程序(数千个控件),它是一个飞机驾驶舱,全部在 wpf 中,每个按钮、开关、屏幕都可以通过手势或鼠标移动。
驾驶舱为 10 000 x 10 000 像素,并实现了放大/缩小(使用鼠标滚轮),在单击鼠标右键时进行平移。
在优化之前,它非常滞后、缓慢,因此每个“缩放”步骤或“平移”步骤大约需要 1 秒
如果我缩放 1 次(例如缩放 * 1.2),则需要 1 秒
如果我缩放 10 次(缩放 * 1.2 X 10),它不需要 10 秒,它可能需要 2 秒,具体取决于您滚动的速度,并且它不会渲染每个“缩放步骤”,它只渲染最后一个。 ..