Tôi đã tạo danh sách tất cả mọi thứ có thể giúp cải thiện hiệu suất trong một ứng dụng rất phức tạp với rất nhiều điều khiển. Nếu bạn muốn thêm của bạn, chào đón của bạn!Giải quyết vấn đề về hiệu suất với ứng dụng WPF
- Nếu bạn biết kích thước của sự kiểm soát, loại bỏ các Auto và nhập giá trị thực, do đó cha mẹ không nhất thiết phải phân tích tất cả Childs để kiểm tra kích thước ông cần
- Cài đặt thông số IsHitTestVisible = False nếu phần tử không cần phải tương tác
- Freeze tất cả các đối tượng mà bạn có thể
- sử dụng nguồn lực tĩnh thay vì các nguồn tài nguyên động
- không sử dụng các đối tượng Ellipse, biến đổi Ellipse để một con đường
- Don không sử dụng TextBox hoặc Label nếu bạn có thể sử dụng một TextBlock
- Sử dụng Canvas thay vì lưới khi có thể
- Không FlowDocument
- Ảo hóa !! VirtualizingStackPanel thay vì StackPanel
- Không sử dụng List, ObservableCollection là cách nhanh hơn
- Sử dụng các thư viện Vẽ, đó là nhanh hơn sau đó thư viện Shapes
- Kiểm tra ràng buộc của bạn! Nếu một ràng buộc không hoạt động, nó có thể rất chậm
- Không sử dụng Visibility.Hidden, sử dụng Visibility.Collapsed khi bạn có thể
- DependencyProperty là 3x nhanh hơn sau đó INotifyPropertyChanged
- StreamGeometry là nhanh hơn sau đó PathGeometry
- Xử lý sự kiện rõ ràng khi bạn đã thực hiện với họ!
- Không sử dụng tài sản Object Opacity, nếu bạn có thể, sử dụng opacity màu mình
- Kiểm tra xem ứng dụng của bạn là phần cứng render (Tier-2)
- Giảm kích thước/chất lượng của hình ảnh của bạn khi bạn có thể
- Hình ảnh hiển thị là cách nhanh hơn rồi hiển thị vector!
cụ mà tôi sử dụng:
- WPF Inspector
- Snoop
- WPFPerf bộ
- Visual Studio profiler
- CLR Profiler cho .NET
Tôi e rằng nó không phù hợp với trang web Hỏi & Đáp như stackoverflow. – ken2k
Nó không phải là một câu hỏi, đó là một câu trả lời nếu ai đó đang tìm kiếm sự trợ giúp về hiệu năng trong WPF. Tôi đã tìm kiếm một chủ đề như thế này trong khoảng một tháng và nếu tôi có thể giúp một ai đó sau tất cả thử nghiệm và nghiên cứu của tôi, tôi sẽ hạnh phúc – mlemay
Tôi đã tối ưu hóa hiệu suất WPF của Google và nhận được 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