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

use*_*812 5 wpf performance animation storyboard

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

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

谢谢

Aka*_*ava 2

在不查看动画和代码的情况下,了解是什么减慢了动画速度并不困难。但我会给你一些有助于改进它们的一般要点。

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