С помощью чего лучше делать отрисовку графика на много точек? |
Здравствуйте, гость ( Вход | Регистрация )
С помощью чего лучше делать отрисовку графика на много точек? |
Rocky |
18.8.2010, 10:31
Сообщение
#1
|
Старейший участник Группа: Участник Сообщений: 530 Регистрация: 22.12.2008 Из: Санкт-Петербург Пользователь №: 463 Спасибо сказали: 22 раз(а) Репутация: 7 |
Всем привет! Есть порядка 20000 точек... Грубо говоря это сигнал с ПЗС-линеек. Нужно сделать что-то вроде осциллографа. Т.е. каждые например 200 мс перерисовывать спектр... Как лучше всего это сделать? Пробовал qwt. Вроде все норм, но вот при увеличении масштаба появляются просто дикие тормоза.... Вплоть до минуты думает.. Как с этим бороться непонятно (да и расчитан ли вообще Qwt на такие объемы). Посмотрел в сторону QGraphicsScene. С ним много непонятного... Т.е. как я понял нужно ручками как-то рисовать сетку (grid) например, подписывать значения сигналов на осях, учитывать масштаб и пр... Имхо тут лучше свой класс писать унаследовавшись от QWidget просто.. Или лучше использовать opengl вообще? Поделитесь опытом плиз, как лучше делать?
Спасибо! |
|
|
Алексей1153 |
18.8.2010, 12:30
Сообщение
#2
|
фрилансер Группа: Участник Сообщений: 2939 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
нет, я ж говорю не про это. Расскажи алгоритм. На человечьих словах
1. Неясно как зафиксировать сетку (которая foreground grid) при масштабировании. 2. Неясно как сделать подписи на этой сетке. 3. Неясно как реализовать масштабирование не колесиком мыши - а при выделении квадрата мышью. 4. Неясно как сделать перемещение по графику (когда он не влезает в виджет) не с помощью скрол-баров, которые сами появляются, а опять-таки с помощью мыши.... 5. Непонятно как правильно очищать сцену перед отрисовкой новой инфы... Ну, тут "неясно" не означает, что невозможно. Може, и умеет ) А может и нет - ведь под всё универсально не сделаешь У тебя основная задача - хранить массив точек, из них делать массив линий, рисовать этот массив |
|
|
Текстовая версия | Сейчас: 29.4.2024, 20:45 |