2010-04-09 30 views
10

Tôi đã xem xét các điều khiển biểu đồ Silverlight để hiển thị một số lượng lớn mẫu, (~ 10.000 điểm dữ liệu trong năm chuỗi riêng biệt - ~ 50k điểm tất cả).Điều khiển biểu đồ Silverlight mật độ cao

Tôi đã tìm thấy các tùy chọn hiện có được sản xuất bởi Dundas, Visifire, Microsoft, vv để trở thành trình diễn cực kỳ kém khi hiển thị hơn một vài trăm điểm dữ liệu.

Tôi tin rằng các vấn đề về hiệu suất với các điều khiển biểu đồ hiện tại là do việc sử dụng đồ họa vector nặng nề. Ergo một giải pháp sẽ là điều khiển biểu đồ phía máy khách sử dụng lớp WritableBitmap để tạo biểu đồ raster.

Trước khi tôi rơi quá xa xuống hố thỏ phát minh lại bánh xe - có ai tìm thấy bên thứ ba hoặc kiểm soát OSS sẽ quản lý số lượng lớn các điểm dữ liệu trên một đường dây không?

+0

Xin chào, hãy xem SciChart, có thể hiển thị nhiều chuỗi tổng cộng 100.000 vùng dữ liệu tại 30FPS trên bản trình diễn hiệu suất (3.000.000 điểm dữ liệu mỗi giây). Đây là một sản phẩm mới và sẽ sẵn sàng phát hành vào đầu quý 1 năm 2012. Nó không có tất cả các tính năng mà biểu đồ LOB có, tuy nhiên hỗ trợ nhiều loại biểu đồ, con trỏ cơ bản, thu phóng, chia tỷ lệ và trục hiệu suất rất cao. http://www.abtsoftware.co.uk/News/tabid/93/articleType/ArticleView/articleId/16/SciChart_Technology_Preview_-_Fast_WPFSilverlight_Stock_Chart_Performance_Demo.aspx –

Trả lời

-1

Bạn đã xem các điều khiển biểu đồ Telerik chưa? Dưới đây là một liên kết đến một trong những bản demo của họ, nơi họ đang sử dụng 100.000 điểm dữ liệu:
http://demos.telerik.com/silverlight/#Chart/Sampling

Tôi cũng nên đề cập đến mà tôi đã không sử dụng biểu đồ kiểm soát bản thân mình, vì vậy tôi không thể xác minh cho họ. Nhưng các bản demo lại tốt với tôi.

EDIT:
Liên kết ở trên đã hết hạn. Dưới đây là một liên kết đến hiện thân mới nhất của Telerik biểu đồ kiểm soát Họ gọi nó là ChartView bây giờ:
http://demos.telerik.com/silverlight/#ChartView/FirstLook

+0

Liên kết tải một trang trống. –

+0

Vâng, các thành phần Telerik đã được cập nhật kể từ đó. Tôi đã cập nhật liên kết. –

1

Trước khi bạn bắt đầu chơi xung quanh với WritableBitmap trên của riêng bạn hãy nhìn vào WriteableBitmapEx từ René Schulte, ông viết blog về nó here . Công cụ tuyệt vời.

+0

Đề xuất tuyệt vời! Tôi đã có một fiddle với WritableBitmapEx để viết một trò chơi nhỏ, nhưng đã không nhận được bắt đầu vào bất cứ biểu đồ khôn ngoan nào được nêu ra. Khá một thư viện đẹp. Cảm ơn Anthony. – ptg

1

Tôi không biết bất kỳ điều khiển OSS hoặc bên thứ ba nào sẽ thực hiện những gì bạn cần.

Trường hợp mà tôi đã có nhu cầu cho 100K + datapoints, chúng tôi đã làm cho nó hoạt động bằng cách giữ cho nó đơn giản. Kẻ giết người hàng loạt lớn nhất là số lượng các phần tử trong mỗi trung tâm dữ liệu. Bằng cách giữ nguyên tố một hình elip đơn giản với một bàn chải tĩnh điền vào ứng dụng khá linh hoạt.

+0

Xin chào, bạn đã sử dụng thành phần nào trong phần cuối đã có thể hiển thị 100 nghìn điểm? –

7

Check-out Visiblox (http://www.visiblox.com/) Charts. Tôi đang làm việc trên một ứng dụng từ xa vào phút mà sử dụng ba biểu đồ của họ trong cùng một thành phần Silverlight, âm mưu khoảng 36.000 điểm trong tổng số, và có rất ít chậm lại về hiệu suất, nếu có ở tất cả.

Họ có ví dụ hiệu suất cao trên trang web của họ tại đây - http://www.visiblox.com/examples/LargeDataSets.Tôi đã chọn để sử dụng Visiblox sau loooking tại bưu blog sau đây:

mới hiệu suất so sánh: http://www.visifire.com/blog/2011/12/02/fast-silverlight-charts/

Old hiệu suất so sánh: http://www.scottlogic.co.uk/blog/colin/2010/12/visiblox-visifire-dynamicdatadisplay-charting-performance-comparison/

dụ đo từ xa của tôi bây giờ là một phần của một bài báo CodeProject mà tôi đã tạo ra, nếu bạn muốn xem!

3

Dựa trên các đề xuất ở đây, tôi vừa thử nghiệm Visiblox và Infragistics.

Visiblox có trải nghiệm nhà phát triển tốt, API sạch sẽ, không sưng lên. Trong khi hiệu suất là OK cho một vài nghìn datapoints, hiệu suất phân tích khi bạn đi vào phạm vi 100k. Dưới đây là the Visiblox sample với vài nghìn điểm (bạn có thể tải xuống mẫu và chỉ chỉnh sửa số lượng dữ liệu).

Bây giờ, đối số chung ở đây là bạn không nên ràng buộc nhiều dữ liệu đó vào biểu đồ, nhưng nên làm một số trang trước. Tôi đồng ý với điều đó, nhưng lý tưởng, tôi muốn có một điều khiển biểu đồ mà chăm sóc đó cho tôi. Bắt Zooming, Panning và tất cả những quyền đó là những nhiệm vụ không tầm thường và tôi rất vui khi được giới thiệu một vài 100 $ để có được chức năng đó. Đó là cảm giác thông thường về mặt kinh tế để không sáng tạo lại bánh xe ở đây.

Infragistics chắc chắn nhận được quyền đó. Tôi có thể kết hợp một triệu odatapoints và nhận được peformance mịn. Đây là the Infragistics sample.

Tuy nhiên, Infragistics cài đặt nhiều rác (một ứng dụng web IIS cục bộ với các mẫu bạn cũng có thể xem trực tuyến) và bên cạnh các mẫu (xuất sắc) và tài liệu cấp mã, tôi bỏ lỡ một số giới thiệu cấp cao mỗi thành phần và đó là các mô-đun riêng lẻ.

Vì rất nhiều người trên SO khuyên bạn nên Telerik kiểm soát API, Tài liệu và Hỗ trợ nhà phát triển, tôi cũng đã xem xét điều khiển biểu đồ của họ. Tuy nhiên, tôi phải thừa nhận tôi tìm thấy nó khá chậm (Zooming mất khoảng 500-1000ms, đó là quá dài để cảm thấy trơn tru). Đây là the Telerik sample.

+0

Tôi hiện đang xem biểu đồ [mindscapehq] [http://www.mindscapehq.com/demo/silverlightelements/demopage.html#/ChartOverviewPage]. So với Infragistics, nó đạt được hiệu suất tốt ngay cả khi vẽ các giá trị x không bằng nhau (biểu đồ x, y đúng). –

0

tôi tin rằng các mẫu Telerik bạn đang tìm kiếm có thể tìm thấy here. Nó cho thấy một lượng lớn dữ liệu mà bạn thực sự có thể phóng to/thu nhỏ. Họ cũng có một máy chủ tải "Performance" Demo là tốt. Dưới đây là ví dụ về số Scatter Chart với hàng trăm điểm dữ liệu.

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