我一直在尝试动画大约1000行,这些行都被添加到Canvas中,而且这种动画根本不可行的延伸非常慢.起初我以为这可能是因为所有的计算,但后来我尝试了一个非常简单的实验.
我生成了大约1000个随机行,我尝试使用PointAnimations将它们移动到新的随机协调.我基本上在我能找到的OS /硬件的每个组合上运行这个程序,我甚至不能每秒超过4帧.
可以在http://ali.shiravi.com/index.php/wpf-sluggish-rendering-performance/找到源(以及更多信息)
有没有人对此有任何解决方案?这真的太过于要求WPF了吗?
最佳答案 以下是我处理这种情况的方法.不要尝试单独移动可见线,只需重新绘制整个集合,但将其绘制到位图,然后将其块转移到可见窗口.
如果直接将1000行重新绘制到可见窗口,则可能需要10-100毫秒,您可能会看到闪烁.但是如果你绘制到一个内存位图,它可能需要大约相同的时间,但它不会明显闪烁,因为块传输到屏幕是如此之快.