Организация рисования |
Здравствуйте, гость ( Вход | Регистрация )
Организация рисования |
denmor86 |
9.6.2011, 10:34
Сообщение
#1
|
Студент Группа: Участник Сообщений: 23 Регистрация: 7.6.2011 Пользователь №: 2723 Спасибо сказали: 0 раз(а) Репутация: 0 |
Как правильно организовать рисование графика и различных точек на нём?
Т.е нужно нарисовать оси и рисовать точки согласно осям, оси должны меняться при появлении точки вне границ оси. Правильно ли делать это всё в paintEvent? Мне кажется что от этого пострадает быстродействие программы, так как точек может быть очень большое кол-во.... |
|
|
Алексей1153 |
9.6.2011, 11:39
Сообщение
#2
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
много точек не надо, их же можно линиями соединять. Дискретность выбирать в зависимости от масштаба. Рисовать часто тоже не надо, только по вызову paintEvent
|
|
|
denmor86 |
9.6.2011, 11:51
Сообщение
#3
|
Студент Группа: Участник Сообщений: 23 Регистрация: 7.6.2011 Пользователь №: 2723 Спасибо сказали: 0 раз(а) Репутация: 0 |
График у меня будет именно из точек(или других объектов) разного цвета. Приходят на рисование они раз в 45 мсек, кол-во их не ограничено, так как время работы программы может быть более 2-3 суток. Соответственно необходимо продумать что то вроде кольцевого буфера...
|
|
|
Litkevich Yuriy |
9.6.2011, 18:02
Сообщение
#4
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Правильно ли делать это всё в paintEvent? само рисование только в нём. Но многое можно кэшировать (в первую очередь статическую информацию). Т.е. рисовать на QPixmap/QImage часть информации, а затем в paintEvent рисовать на виджете сам QPixmap/QImage и поверхнего что-нибудь.
|
|
|
Алексей1153 |
9.6.2011, 19:33
Сообщение
#5
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
denmor86, так часто рисовать необязательно, можно раз в 200 мс делать апдейт графики при помощи таймера
|
|
|
Текстовая версия | Сейчас: 17.1.2025, 7:29 |