0

在 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功能?

4

1 回答 1

0

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

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

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

怎么做你可以看看这里

于 2012-10-30T08:04:27.330 回答