Любая Анимация на основе раскадровки (включая PerformanceProgressBar) должна обязательно работать плохо, так как выполняется в привилегированном потоке.Если вы хотите узнать больше или прочитать об альтернативах, посмотрите здесь .
. Для быстрой информации посмотрите таблицу в самом конце статьи.PerfProgressBar действительно отнимает ~ 50% ЦП, что заметно лучше, чем стандартный ProgressBar (> 60%), но намного хуже, чем другие возможности.
Но: цифры относятся к устройству.В случае эмулятора потери намного ниже.По крайней мере, в моем конкретном случае.В целом, я бы не стал слишком серьезно относиться к показателям производительности, измеренным на эмуляторе.
Тестовое приложение, описанное в статье, является частью примеров Resco Mobile Forms Toolkit.Это приложение использует этот код для PerformanceProgressBar:
<ProgressBar Style="{StaticResource PerformanceProgressBar}"
Width="250" Margin="0" Padding="10"
IsIndeterminate="{Binding ElementName=PerfProgressCheckBox, Path=IsChecked}"
Visibility="{Binding ElementName=PerfProgressCheckBox, Path=IsChecked, Converter={StaticResource TrueVis}}" />
Я могу заверить вас, что PerfProgressBar не берет никакого ЦП, когда неактивен.Это относится как к устройству, так и к эмулятору.Я бы искал проблему в вашем коде.