如何在同一个UserControl上使用动画和MultiScaleImage控件?
我发现如果你在同一个UserControl上放置一个MultiScaleImage和动画,你总是会得到很高的CPU使用率。 这是一个MultiScaleImage控件错误吗?以下是一个示例project。 (只是一个网格,MultiScaleImageControl和一个渐变矩形)
为什么CPU使用率很高?当播放动画时,UserControl会触发LayoutUpdated事件,MultiScaleImage会捕获该事件并重绘自身。因此,如果MaxFrameRate = 60(默认值),则MultiScaleRmage每秒重绘自身~60次(MultiScaleImage.LayoutUpdated被触发~60次)导致CPU使用率过高:
不应该只在SizeChanged事件上重新绘制MultiScaleImage(或重新计算CPU密集型的东西)吗?否则,如果我不能使用动画,为什么要使用此控件?