Я составил список всего, что может помочь улучшить производительность в очень сложном приложении с большим количеством элементов управления. Если вы хотите добавить свой, ваш прием!Решить проблему производительности с помощью приложения WPF
- Если вы знаете размер элемента управления, снимите Auto и введите реальное значение, поэтому родители не должны разобрать весь Чайлдс, чтобы проверить размер он должен
- Установите параметр IsHitTestVisible = False если элемент не должен быть интерактивным
- Замораживание всех объектов, которые вы можете
- использовать статические ресурсы вместо динамических ресурсов
- не используйте объект Ellipse, преобразовать эллипс в пути
- Дон использовать TextBox или этикетки, если вы можете использовать TextBlock
- Использование Canvas вместо сетки, когда это возможно
- Нет FlowDocument
- виртуализировать !! VirtualizingStackPanel вместо StackPanel
- Не используйте список, то ObservableCollection это способ быстрее
- Используйте библиотеку для рисования, это быстрее, чем в библиотеке Shapes
- Проверьте ваше связывание! Если привязка не работает, она может быть очень медленным
- Не используйте Visibility.Hidden, используйте Visibility.Collapsed, когда вы можете
- DependencyProperty является 3x быстрее, чем INotifyPropertyChanged
- StreamGeometry быстрее тогда PathGeometry
- Очистить обработчики событий, когда вы сделали с ними!
- Не следует использовать свойство непрозрачности объекта, если вы можете использовать его цвет непрозрачности
- Проверьте, если ваше приложение Hardware Rendering (Tier-2)
- Уменьшить размер/качество вашего изображения, когда вы можете
- Рендеринг изображения быстрее, чем вектор рендеринга!
Инструменты, которые я использую:
- WPF инспектор
- Snoop
- WPFPerf ванной
- Visual Studio профилировщика
- CLR Profiler для .NET
Я боюсь, что он не подходит хорошо на веб-сайте Q & A, таком как stackoverflow. – ken2k
Это не вопрос, это ответ, если кто-то ищет помощь в производительности в WPF. Я искал такой предмет примерно на месяц, и если я смогу помочь кому-либо после моего теста и исследований, я буду счастлив – mlemay
I Googled WPF Performance Optimization и получил следующее http://msdn.microsoft.com/ en-us/library/aa970683.aspx http://www.michaelflanakin.com/Weblog/tabid/142/articleType/ArticleView/articleId/1015/WPF-Performance-Tips.aspx – Paparazzi