2010-06-03 32 views
5

Tôi có một máy chủ yếu tố có 3 điều khiển WPF. Tôi đang đặt máy chủ yếu tố trên một biểu mẫu. Khi ứng dụng của tôi sắp xuất hiện, máy chủ lưu trữ phần tử mất vài giây và biểu tượng thắng được hiển thị dưới dạng màn hình trống.Vấn đề thời gian tải máy chủ yếu với winforms

Cách sửa lỗi này? Bất kỳ ý tưởng được đánh giá cao. Về cơ bản, tôi không muốn hiển thị màn hình trống vì nó trông xấu xí khi ứng dụng sắp xuất hiện.

Trả lời

1

Điều này khiến tôi thực sự kỳ lạ. Tôi đã sử dụng một ElementHost trước và không nhận thấy bất kỳ sự chậm trễ nghiêm trọng nào trong việc tải các điều khiển con.

Sẽ hữu ích nếu bạn có thể thử cách ly sự cố bằng cách thay thế các điều khiển của bạn bằng một điều khiển TextBox đơn giản, đơn giản. Mất bao lâu để tải?

Nghi ngờ của tôi là thực sự có điều gì đó trong logic kiểm soát của bạn mất nhiều thời gian để hoàn thành và trì hoãn việc kiểm soát tải. Nếu bạn có thể tìm ra đó là gì và tăng tốc nó lên hoặc làm cho việc xử lý không đồng bộ (xem xét sử dụng Reactive Extensions) thì ít nhất bạn sẽ thoát khỏi màn hình đen. Một profiler (Visual Studio hoặc ANTS) sẽ là một trợ giúp rất lớn trong việc thu hẹp xuống.

1

Bạn có thể tăng tốc thời gian tải của bạn bằng cách tải mô hình cửa sổ tải & đóng ứng dụng của bạn khởi động (Đây chỉ là một thủ thuật :))

Đơn giản chỉ cần tạo ra cửa sổ mới với một hoặc hai host yếu tố và thêm WPF con mình điều khiển. không cần phải thực hiện bất kỳ logic nào hoặc đặt bất kỳ thuộc tính nào, chỉ cần thêm các điều khiển con.

Sau đó, khi ứng dụng bắt đầu tải cửa sổ mô hình của bạn và đóng (đặt vị trí tải cách xa ranh giới màn hình). (nếu bạn muốn, bạn cũng có thể sử dụng cửa sổ gốc của mình).

thì cửa sổ của bạn sẽ mở bình thường.

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