WPF Storyboard播放多个DoubleAnimation出现卡顿
有一个DoubleAnimation的List,在Storyboard的Completed中不断给Storyboard加入DoubleAnimation。然后根据动画的轨...
有一个DoubleAnimation的List,在Storyboard的Completed中不断给Storyboard加入DoubleAnimation。然后根据动画的轨迹在Canvas上描出动画轨迹经过的点,但是在动画切换的时候出现卡顿,怎么解决
展开
1个回答
展开全部
没有贴代码,以下只能猜测。
两个方向:动画的处理方式是否可以优化,动画轨迹的点处理是否可以优化?
DoubleAnimation的List,是否使用的是同一个Storyboard实例?
如果是,是否在Storyboard的Completed之后清除了已经完成DoubleAnimation?
如果不清除,将会导致Storyboard每次要处理的Animation不断累积。
可以缩减DoubleAnimation的集合的长度,观察执行效果,查看动画轨迹的处理是否影响动画。
两个方向:动画的处理方式是否可以优化,动画轨迹的点处理是否可以优化?
DoubleAnimation的List,是否使用的是同一个Storyboard实例?
如果是,是否在Storyboard的Completed之后清除了已经完成DoubleAnimation?
如果不清除,将会导致Storyboard每次要处理的Animation不断累积。
可以缩减DoubleAnimation的集合的长度,观察执行效果,查看动画轨迹的处理是否影响动画。
更多追问追答
追答
看代码,story是Storyboard的实例,全局的。
如果在上一次动画完成后不清除story的Animation集合,story的Animation会将之前执行过的DoubleAnimation再执行一遍,这样所有播放过的动画,会在后面的播放动作中再播放一次,直至集合遍历结束,你可以设置断点查看story的Children的情况。
不知道,这样设计是否为了达到某个目的?还是说可以通过其他途径达到你要的效果?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询