Задача: есть очень большое число точек, при их отрисовке на графике все дико тормозит. Если взять DevExpress-овый XtraChart и включить интерактивные возможности — это полный кошмар. Саморисованный контрол субъективно раза в два быстрее, но все равно неидеально.
По идее, надо отсечь часть точек на полном масштабе, и показывать детальней при увеличении.
Смотрю на финансовые графики на том же mt.gox — и все шустро, а там объем данных на месячном графике и побольше будет.
Подскажите, какие есть алгоритмы для этого?
Теми же методами кластеризации группировать точки в зависимости от масштаба. Если на масштабе Z расстояние между двумя точками не превышает X, то сливать их в одну.
Ну, называть такое прореживание «методами кластеризации» у меня язык не поворачивается!
Обычная передискретизация.
P.S. А можно делать передискретизацию и по неравномерной сетке: в зависимости от поведения функции на заданном участке. Получится меньше данных на графике, но больше расчетов.