А зачем отрисовывать графики с большим количеством точек? Мы в своё время тоже столкнулись с подобной проблемой: падением производительности, но как только мы осознали, что разрешающая способность области графика просто не способна вывести их всех: т. е. например, на пиксел приходится 5-10 точек графика, то сразу нашлось и решение -- выводить не сырые данные, а с фильтрацией.
Ну и ещё, возможно, вам подойдёт этот
алгоритм.