Высокопроизводительное отображение данных в реальном времени

Я пытаюсь найти инструмент для построения данных (в основном линейных графиков и тому подобного), который можно использовать для высокопроизводительных приложений. Мое окно данных обычно содержит от 500 до нескольких тысяч точек, и я был бы счастлив с частотой кадров 10 или около того. Я получаю данные в виде двоичного потока через сокет. Я работаю на Mac OS X.

Я пробовал несколько решений, и я обсуждаю свой опыт с ними ниже.

R: Ужасно медленно и не успевает, больно читать сокеты, график мерцает.

matplotlib: Довольно медленный, но тоже немного пригодный для использования. Однако для его работы требуется тонна механизмов Python, а API IMO довольно непрозрачен. При постоянном обновлении окно, содержащее график, становится модальным и появляется пляжный шар Mac - не очень удобно для взаимодействия с пользователем.

Gnuplot: Гораздо лучшая производительность и API. Однако, передача большого количества данных в gnuplot происходит путем генерации временных ASCII (!) файлов - это означает, что если моя частота кадров увеличивается, я начинаю делать тонны дисковых чтений, и это является проблемой производительности.

Любые другие предложения?

5
задан Jake 6 February 2012 в 15:18
поделиться