如何解决优化画布动画
| 在我的XAML UI中,我有4个画布面板。 一次只有一个可见,其他的则崩溃了。 我正在使用transform在显示画布时具有水平滑动效果。 我有两个选择可以做到这一点: 选项1: 当我想转到画布时,我将所有其他3个画布移出屏幕,因为我不知道当前哪个画布处于活动状态。这样做的好处是我只有4个动画,每个画布一个。 选项2: 我定义了从另一个特定画布转到特定画布的新动画。在这种情况下,我不需要移动所有三个画布,而只需移动一个。但是然后我需要创建12个动画,每个画布3个。 我认为选项1是内存有效的,因为那里只有4个动画实例,但是有CPU性能开销。 选项2是CPU有效的,但是由于12个动画实例而导致内存开销。 我应该选择哪个选项? 谢谢, 杜沙尔解决方法
只是出于兴趣,您是否考虑过使用
VisualStateManager
?通过通过样式定义\'OnScreen \'和\'OffScreen \'VisualState
,并将其应用于每个Canvas,您只需要编码一次,让VisualStateManager
通过使用VisualStateManager.GoToState()
调用合适的动画即可。意味着您不需要12个动画实例,并且每个状态更改都不需要调用4个动画。两全其美?
如果您需要更多信息,我可以很快提供一些示例代码。
,您似乎已经很好地考虑了每种方法的含义。不幸的是,只有您可以回答您提出的问题。如果内存与应用程序有关,则应选择选项1。但是,如果应用程序对CPU敏感,则应选择选项2。
我知道这基本上是一个无法解决的问题,但是与性能一样,您应该对这两种方法进行概要分析和测试。您可能会发现两种方法的相对优缺点都可以忽略不计,在这种情况下,您应该选择更可维护且更容易编码的任何选项(可能是选项1):-)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。