首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RenderTransform占用太多的CPU

RenderTransform占用太多的CPU
EN

Stack Overflow用户
提问于 2013-05-29 01:10:21
回答 1查看 259关注 0票数 2

在我的xaml定义中有这个画布

代码语言:javascript
复制
<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,我如何提高性能?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-29 01:20:00

你已经尽你所能快速旋转了。我猜你有两个核心,所以在50%的时候,一个完全是忙于旋转。也许你可以给你的DoubleAnimation添加一个Duration,这样它只需要几秒钟就可以旋转360次,从而减少CPU的负载。

另一方面,如果你所说的性能意味着你想要旋转得更快,也要利用另外50%的CPU,你应该考虑硬件支持,可能还有图形框架。WPF很好,但不适用于高性能图形。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16797752

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档