![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
loh |
![]()
Сообщение
#1
|
Студент ![]() Группа: Участник Сообщений: 60 Регистрация: 11.5.2008 Пользователь №: 171 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Всем привет!
Задача такая, у меня есть датчик, типа линейного сканера, от него приходят данные представляющие собой двух байтные числа которые после некоторой математической обработки связанной с операциями сложения умножения деления вычитается превращаются либо в цвет точки. соответственно один пакет этих чисел это одна колонка пикселей на экране. Каждая новая колонка приходит на место старой, а вся картинка смещается на один пиксел в сторону. Проблема в том что частота прихода этих пакетов высокая - например 200 пакетов в секунду, Так вот! как организовать буфер для сохранения исходных значений с датчика, буфер с обработанными значениями для вывода на экран, как синхронизировать вывод с приёмом, что бы картинка смешалась плавно, без рывков? И как сделать быструю обработку исходных значений для преобразования их в цвет уже в офлайн режиме, когда данные берутся не с датчика, а с буфера исходных данных? :о |
|
|
![]() |
BlueIceScream |
![]()
Сообщение
#2
|
![]() Студент ![]() Группа: Участник Сообщений: 56 Регистрация: 21.11.2011 Из: Республика Дагестан Пользователь №: 3016 Спасибо сказали: 18 раз(а) Репутация: ![]() ![]() ![]() |
Скорость работы функций QPainter напрямую зависит от QPaintEngine и QPaintDevice.
Одни и те же функции QPainter будут работать по разному для различных QPaintDevice. Это потому что QPainter использует для рисования QPaintEngine определенный для выбранного QPaintDevice. Используйте рисование с помощью QPainter в QGLPixelBuffer. Затем рендерите куда вам угодно. Для максимальной скорости в GL образный контекст. Запомните QPainter использует для реализации функций рисования QPaintEngine, который рисует на QPaintDevice. Скорость работы функций QPainter зависит от QPaintDevice (потому что задействуется связанный с ним QPaintEngine). Поэтому на QWidget рисовать очень накладно. Выберите необходимый QPaintDevice. А потом рисуйте как угодно на нем используя любые функции QPainter. |
|
|
![]() ![]() ![]() |
![]() |
Текстовая версия | Сейчас: 17.2.2025, 9:54 |