在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功能?
答案 0 :(得分:0)
您可以查看RenderCapability.Tier属性。它表示当前线程的呈现层
RenderCapability.Tier = 0
表示没有图形硬件加速 可用于设备上的应用程序。所有图形功能都使用 软件加速。
如果RenderCapability.Tier
为0,您可以更改Storyboard.DesiredFrameRate属性。默认值为60,但在Windows XP上,您可以将其设置得更低。
如何查看here