WPF渲染/动画表现迟缓?

时间:2009-12-06 03:25:56

标签: wpf performance optimization animation

我一直在尝试动画大约1000行,这些行都被添加到Canvas中,并且这种动画根本不可行的延伸非常慢。起初我以为这可能是因为所有的计算,但后来我尝试了一个非常简单的实验。 我生成了大约1000个随机行,我尝试使用PointAnimations将它们移动到新的随机协调。我基本上在我能找到的OS /硬件的每个组合上运行这个程序,我甚至不能每秒超过4帧。

可以在http://ali.shiravi.com/index.php/wpf-sluggish-rendering-performance/

找到来源(以及更多信息)

有没有人对此有任何解决方案?这真的太过于要求WPF了吗?

1 个答案:

答案 0 :(得分:2)

以下是我处理这种情况的方法。不要尝试单独移动可见线,只需重新绘制整个集合,但将其绘制为位图,然后将其块转移到可见窗口。

如果直接将1000行重新绘制到可见窗口,则可能需要10-100毫秒,您可能会看到闪烁。但是,如果你绘制到一个内存位图,它可能需要大约相同的时间,但它不会明显闪烁,因为块传输到屏幕是如此之快。