Как выводится графика в реальном времени в приложениях Qt?

Собственно говоря, речь вот о чем.

Есть приложение на Qt для Windows, в котором по поступлению события от внешнего устройства прорисовать легкую анимацию — например, помигать изображением сабли посреди экрана и потом перенести в угол. Это означает:

1) что-то уже нарисовано.

2) пришло событие по USB — СРАЗУ ЖЕ отрисовываю посередке саблю.

3) «мигание» — это значит, что на протяжении пары секунд несколько раз плавные переходы от прозрачности к векторной картинке и назад.

4) потом эта векторная картинка плавно «улетает» в угол.

«Векторная» — это значит, что рисуется набор закрашенных кривых.

«Плавно» — это значит, чт ос небольшими промежутками времени прорисовываются промежуточные состояния изображения.


ВОПРОС: как делается такая плавная анимация? Я так понимаю, что надо запустить некоторый таймер (QBasicTimer?) на небольшой период (10… 20 msec) и запустить repaintс отрисовкой (или выводом заготовленных QPixmap?). Я пробовал так сделать, но плавности не получилось — промежутик выходят явно неравными. Да и таймер клацает значительно медленней, чем хотелось бы.

И процессор сильно загружается, похоже.


Но ведь как-то в Opera мигают картинки?.. Да и в других программах есть плавные мерцания изображений. В конце концов, в комп. играх этото вопрос как-то решается без жуткой загруженности процессора.


ПОдскажите, пожалуйтста, как такое делается.


Спасибо заранее!
  • Вопрос задан
  • 5809 просмотров
Пригласить эксперта
Ответы на вопрос 2
@kokorins
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы