Chúng tôi có một phiên bản cũ (Win32) và mới (WPF) của phần mềm blotter của chúng tôi, mà các nhà giao dịch hiện đang chạy cạnh nhau. Tuy nhiên, việc chạy ứng dụng WPF thường làm chậm tốc độ vẽ lại của ứng dụng Win32.Các vấn đề về hiệu năng chạy các ứng dụng WPF/Win32 cạnh nhau?
Nếu không có ứng dụng WPF đang chạy (hoặc thu nhỏ), tốc độ vẽ sẽ linh hoạt và nhanh chóng trong ứng dụng Win32. Với ứng dụng WPF mở cùng với nó, tỷ lệ vẽ giao diện người dùng của Win32 appl chậm lại đáng chú ý. Chạy ứng dụng WPF dường như kích hoạt việc sử dụng một số tài nguyên được lấy ra khỏi ứng dụng Win32 (cả đồ họa nặng) - làm chậm tốc độ của nó.
CPU và bộ nhớ không ở bất kỳ nơi nào gần bão hòa, vì vậy nó dường như không liên quan đến chúng. Giảm độ phân giải và/hoặc giảm số lượng màn hình để hiển thị trên (do đó giảm mức sử dụng bộ nhớ thẻ video và tải băng thông) không có sự khác biệt đáng chú ý, do đó nó dường như không phải là vấn đề hiệu năng đồ họa phần cứng.
Một giả thuyết cho rằng có thể giải thích nguyên nhân là như sau:
Dưới mui xe, chúng ta biết rằng cả WPF và Win32 thông tin đồ họa ứng dụng đầu ra vào một cửa sổ "Thông điệp bơm" mà về cơ bản là một danh sách các hướng dẫn của những gì để vẽ lên màn hình. Có vẻ như khi ứng dụng WPF không hoạt động, Win32 có quyền truy cập đầy đủ vào bản cập nhật này và màn hình là chất lỏng. Chạy ứng dụng WPF cùng với nó đặt thêm thông điệp vào hàng đợi này, vì vậy ứng dụng Win32 phải cạnh tranh khó khăn hơn để truy cập vào nó (để cập nhật từng phần tử màn hình), do đó "làm tắc nghẽn bơm" cho hiệu ứng chúng ta thấy.
Nếu trường hợp trên xảy ra, bất kỳ ai có thể đề xuất phương pháp tiếp cận để quản lý/kiểm soát bơm thông báo cửa sổ để ngăn điều này xảy ra không?
Nhấp nháy là loại bạn thường nhận được khi tài nguyên yếu, nơi bạn có thể thấy các yếu tố riêng lẻ (biểu mẫu, nhãn) nhấp nháy và dần dần vẽ lên màn hình.
Nếu có bất kỳ đề xuất/ý tưởng nào, hãy cho chúng tôi biết.
Cảm ơn, chúng tôi đang xem xét vấn đề này. –
Mặc dù nó không phải là giải pháp trực tiếp, điều này dẫn chúng ta xuống con đường bên phải (tìm kiếm phần cứng/phần mềm chặt chẽ hơn), vì vậy chấp nhận điều này như là câu trả lời. Cảm ơn! –
@Gaurav Tôi nghĩ rằng nó sẽ được xung quanh khu vực đó - vui mừng được giúp đỡ. :) –