我们如何改进WPF动画(其中100个)的性能?

时间:2009-12-04 01:32:34

标签: wpf animation performance storyboard

我们有一个应用程序在运行时生成大约100个动画,它们都被添加到一个故事板然后播放。问题是动画非常慢。正在设置动画的对象是形状和样条线,并在后端完成大量计算以生成自定义样条线。正在运行的计算机是四核,具有良好的图形卡。

有关我们如何解决此问题的任何建议?我们是否需要将动画分成多个故事板或在不同的画布上制作动画?

谢谢

1 个答案:

答案 0 :(得分:2)

很难知道在不看动画和代码的情况下减慢动画的速度。但我会给你一些有助于改善它们的要点。

  1. 如果计算量很大,请将计算移动到不同的线程中。 Dispatcher线程正在忙着进行UI管理,所以如果你把所有内容放到一个线程中肯定会减慢速度。
  2. 重复使用样条曲线,形状等,这肯定会对您有所帮助,因为您还可以将您的应用程序从昂贵的垃圾收集程序中解放出来。在开始动画之前,显示一些不同的动画,如时钟等,以创建开头所需的所有对象。
  3. 探索位图缓存选项并尝试实现它们。