2012-05-01 23 views
6

Tôi hiện đang sử dụng các điều khiển DevExpress rất nhiều trong một ứng dụng. Các điều khiển là tuyệt vời và tăng tốc độ thời gian phát triển đáng kể (và do đó, tôi sẽ không muốn mương chúng) tuy nhiên, tôi có một vài vấn đề với hiệu suất của họ.Tăng hiệu suất của các điều khiển WPF tải tài nguyên

Ứng dụng của tôi là một Shell/Modules/Views & Ứng dụng ViewModels (nó tuân theo rất nhiều mẫu thiết kế bạn sẽ tìm thấy trong Prism).

Khi lần xem được tải lần đầu, phải mất một thời gian rất dài để hiển thị (trên một số máy tính người dùng của tôi có máy chậm, chúng tôi đang nói 5 giây chỉ treo ở đó). Thời gian nó dường như phụ thuộc vào việc sử dụng các điều khiển DX (có bao nhiêu cái đang ở trên mà trước đó chưa được ứng dụng nhìn thấy).

Khi bạn hủy chế độ xem và mở lại, nó sẽ mở trong chưa đầy một giây. ViewModel trong các trường hợp thử nghiệm/hồ sơ hiệu suất của tôi đã được tạo để tái tạo mỗi lần - vì vậy không có trạng thái chia sẻ trong mã của tôi giữa các lời gọi của chế độ xem (không có đối tượng được tiêm đơn lẻ).

Sau một chút thảo luận và nghiên cứu, tôi dường như đã thu hẹp sự cố xuống tải theo yêu cầu của tệp mẫu cho các điều khiển DX. Có một sợi đây về điều đó: http://www.devexpress.com/Support/Center/Issues/ViewIssue.aspx?issueid=Q382256 mà tham khảo: http://www.devexpress.com/Support/Center/p/B201967.aspx & DevExpress controls for WPF load time Các giải pháp được mô tả trong những chủ đề là một trong hai hiển thị một chỉ số tải hoặc sử dụng một cửa sổ ẩn với các điều khiển trên nó lúc khởi động. Không có tùy chọn nào trong số này là thứ tôi muốn làm (và tùy chọn cửa sổ ẩn không xuất hiện để đạt được nhiều hiệu suất khi tôi thử một ví dụ đơn giản, thú vị - điều này cũng gợi ý rằng tôi có thể thiếu một thứ gì đó).

Điều tôi hy vọng làm là tải trước các tệp mẫu mà tôi biết tôi sẽ cần trên một chuỗi nền. Có cách nào tôi có thể làm điều này trong WPF? (Tôi nghĩ rằng đây là một điều WPF chung hơn là một điều DevExpress - ngay cả khi nó là cái gì đó cần phải được thực hiện trong các thư viện DX mình).

Bất kỳ ý tưởng nào cho tôi hoặc các bạn tại DevExpress?

+0

Thông thường, bạn cần phải tạo các điều khiển giao diện người dùng WPF trên chuỗi giao diện người dùng để bạn có thể thấy điều tương tự áp dụng cho các mẫu DX ... –

+1

Xin chào, bạn đã giải quyết xong vấn đề ở cuối? – baalazamon

Trả lời

0

Việc bạn có thể làm trong chuỗi nền là tải trước tất cả các cụm được yêu cầu. Ngoài ra hãy chắc chắn rằng họ là nged-ed. Các điều khiển giao diện người dùng cần phải được khởi tạo từ chuỗi giao diện người dùng.

Các vấn đề liên quan