【问题标题】:StoryBoard DoubleAnimation huge CPU usageStoryBoard DoubleAnimation 巨大的 CPU 使用率
【发布时间】:2012-10-29 16:25:02
【问题描述】:

在 StoryBoard 中使用带有 DoubleAnimation 的 TextBlock。
在 Windows 7 上 - 1-2% CPU 使用率一直在。
在 Windows XP SP3 上 - 10-15% CPU 使用率。

<TextBlock Grid.Column="1" Height="Auto" Margin="10,0,0,0" TextWrapping="Wrap" HorizontalAlignment="Left" VerticalAlignment="Center" PreviewMouseDown="incomMessages_SelectionChanged">
     <TextBlock.Text>
          <Binding Mode="OneTime" Converter="{StaticResource Converter}" ConverterParameter="NameAndId"/>
     </TextBlock.Text>
     <TextBlock.Style>
          <Style>    
               <Style.Triggers>
                    <DataTrigger Binding="{Binding IsNew}" Value="True">
                         <DataTrigger.EnterActions>
                              <BeginStoryboard Name="Blink">
                                   <Storyboard BeginTime="00:00:01" RepeatBehavior="Forever">
                                        <DoubleAnimation Storyboard.TargetProperty="(TextBlock.Opacity)" From="0" To="1" Duration="0:0:1" RepeatBehavior="Forever" AutoReverse="True"/>
                                    </Storyboard>
                               </BeginStoryboard>
                          </DataTrigger.EnterActions>
                     </DataTrigger>
                </Style.Triggers>
           </Style>
     </TextBlock.Style>
</TextBlock>

我做错了什么还是 WPF 功能?

【问题讨论】:

标签: .net wpf .net-3.5


【解决方案1】:

您可以检查RenderCapability.Tier 属性。表示当前线程的渲染层

RenderCapability.Tier = 0 表示没有图形硬件加速 可用于设备上的应用程序。所有图形功能使用 软件加速。

如果 RenderCapability.Tier 为 0,您可以更改 Storyboard.DesiredFrameRate 属性。默认值为 60,但在 Windows XP 上您可以将其设置得更低。

具体怎么做可以看here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-24
    相关资源
    最近更新 更多