Общей проблемой является то, что многие линейки бизнес-диаграмм не могут масштабироваться для отображения массивных наборов данных, как это требуется в научных или финансовых приложениях. Это особенно очевидно в механизмах рендеринга с сохранением режима, таких как WPF и Silverlight, которые могут быть очень медленными, когда вам нужно быстро обновить экран, хотя это относится к большинству технологий графического интерфейса.
В ответ на эту потребность я создал высокопроизводительный компонент диаграммы WPF / SL под названием SciChart . SciChart стремится заполнить пробел в сверхвысокопроизводительных научных / биржевых диаграммах и в рамках своей оптимизации использует собственные алгоритмы передискретизации, чтобы уменьшить набор данных перед рисованием, немедленный рендеринг в режиме и множество других оптимизаций, таких как пул объектов и повторное использование ресурсов ,
Пожалуйста, нажмите на ссылку SciChart , чтобы просмотреть демонстрацию производительности (требуется Silverlight 4 - также доступна версия WPF). Диаграмма может рисовать несколько серий с общим количеством точек по 5 или 6 цифр при интерактивных частотах кадров (20-50FPS в зависимости от аппаратного обеспечения). Это эквивалентно примерно 2 миллионам точек данных в секунду (100000 точек данных при 20FPS). Полная версия, готовая для коммерческого лицензирования, будет доступна очень скоро, возможно, к концу января 2012 года.
В соответствии с вашим конкретным требованием обратите внимание, что конвейер рендеринга WPF / SL будет отображать только со скоростью 60FPS, что обычно является частотой обновления монитора. Я бы предложил в этом случае наилучшим решением было бы пакетирование данных и добавление к диаграмме в событии CompositionTarget.Rendering. SciChart поддерживает пакетные обновления с одним рендером в конце через свой API, который совместим с программным кодом или MVVM. В результате вы можете перемещать данные на диаграмму так быстро, как вам нравится, но они отображаются только так быстро, как WPF / SL может отображать. Более 30 кадров в секунду практически не обнаруживаются человеческим глазом.
Еще одно соображение, которое вы можете пожелать, - это объем памяти, процессор и скорость. Я бы выбрал осторожно при оценке компонентов диаграммы, так как WPF / SL может быть серьезным бременем памяти!