Biểu đồ đường XY đơn giản: Trục X sẽ đại diện cho phạm vi hoàn chỉnh các tỷ lệ phần trăm xếp hạng có thể, từ 0% trên một đầu đến 100% ở đầu kia. Cụ thể, giá trị X sẽ đại diện cho việc cắt giảm xếp hạng của chúng tôi hoặc xếp hạng tối thiểu mà một giao dịch có thể có trước khi nó không còn được chấp nhận nữa. Trục Y sẽ hiển thị các giá trị từ 0 đến tổng số giao dịch đã trải qua. Giá trị Y sẽ đại diện cho tổng số giao dịch có xếp hạng lớn hơn giá trị X hiện tại (hoặc lớn hơn hoặc bằng giá trị X hiện tại, tôi chưa quyết định). Không có giao dịch nào sẽ xảy ra khi biểu đồ này được vẽ lần đầu tiên, do đó biểu đồ sẽ bắt đầu tại "y = 0x".WPF có thể hiển thị đường dẫn với 300.000 điểm trên nó trong môi trường có hiệu suất nhạy cảm không?
Giả sử giao dịch đầu tiên được thực hiện, với xếp hạng là 40%. Xếp hạng của giao dịch cho biết giao dịch này có thể chấp nhận được nếu tỷ lệ giảm giá của chúng tôi thấp hơn 40%. (... hoặc nhỏ hơn hoặc bằng 40%. Một lần nữa, tôi vẫn chưa quyết định).
Đầu tiên, trục Y sẽ rescale để hiển thị phạm vi 0-1 (vì 1 là tổng số giao dịch). Sau đó, dòng sẽ được sửa đổi để cho biết rằng 0 giao dịch được chấp nhận từ x = 40 trở lên và 1 giao dịch có thể chấp nhận được từ x = 40 trở xuống. Điều này rất dễ thực hiện trong WPF bằng cách thêm hai điểm vào đường thẳng - một tại (40,0) và điểm kia tại (40,1) - và sau đó di chuyển điểm cuối bên trái của đường thẳng tới (0,1). Điểm cuối bên phải của đường sẽ vẫn ở (100,0). Quá trình này sau đó có thể được lặp lại cho giao dịch thứ hai, v.v.
Vấn đề là chúng tôi sẽ xử lý số lượng giao dịch gồm sáu chữ số. và tôi muốn đảm bảo rằng tôi đang sử dụng khả năng vẽ vector tăng tốc phần cứng của WPF ở mức tối đa để đảm bảo biểu đồ không bị trễ hoặc đóng băng phần còn lại của chương trình khi nó cố gắng hiển thị 300.000 điểm trên một đường đơn. Hoặc là WPF được cho là có khả năng xử lý các con số như vậy trong một nhịp tim? Tôi cần phải tìm cách để triển khai biểu đồ này mà không làm chậm ứng dụng. Tôi tin rằng nền tảng vẽ vector của WPF sẽ cung cấp một giải pháp, nhưng tôi không biết đủ về cách khai thác WPF để chắc chắn rằng tôi đang tận dụng tối đa khả năng dựng hình hiệu suất cao của WPF.
Hãy cho tôi biết thế nào nó hoạt động ra cho bạn. –
Đây là một câu hỏi cũ, nhưng tôi tự hỏi nếu bạn tìm thấy một giải pháp cho vấn đề của bạn? Đã dành khá nhiều thời gian thử nghiệm với hiệu suất cao rendering trong WPF, tôi thấy hiệu suất cao nhất có thể đạt được bằng cách không sử dụng nguyên thủy WPF ở tất cả, nhưng bằng cách sử dụng WriteableBitmap API. Điều đó hoặc Direct2D. Tôi cũng muốn được lắng nghe trải nghiệm của bạn. Trân trọng, –