在我的xaml定义中有这个画布
<Canvas Width="128" Height="128" Margin="10">
<Canvas.CacheMode>
<BitmapCache />
</Canvas.CacheMode>
<Canvas.Triggers>
<EventTrigger RoutedEvent="Canvas.Loaded">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation
From="0" To="360"
RepeatBehavior="Forever"
Storyboard.TargetName="spin"
Storyboard.TargetProperty="(RotateTransform.Angle)"
/>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Canvas.Triggers>
<Canvas.RenderTransform>
<RotateTransform x:Name="spin" Angle="0" CenterX="64" CenterY="64" />
</Canvas.RenderTransform>
<Image Source="Images\CircularLoading.png" Width="128" Height="128" />
</Canvas>这个动画占用了我50%的CPU,我如何提高性能?
发布于 2013-05-29 01:20:00
你已经尽你所能快速旋转了。我猜你有两个核心,所以在50%的时候,一个完全是忙于旋转。也许你可以给你的DoubleAnimation添加一个Duration,这样它只需要几秒钟就可以旋转360次,从而减少CPU的负载。
另一方面,如果你所说的性能意味着你想要旋转得更快,也要利用另外50%的CPU,你应该考虑硬件支持,可能还有图形框架。WPF很好,但不适用于高性能图形。
https://stackoverflow.com/questions/16797752
复制相似问题