Russian Qt Forum
Ноябрь 25, 2024, 05:32
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
2D и 3D графика
>
Как быстро сохранить изображение большого размера?
Страниц: [
1
]
2
3
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Как быстро сохранить изображение большого размера? (Прочитано 19388 раз)
¤Se®ega¤
Гость
Как быстро сохранить изображение большого размера?
«
:
Апрель 19, 2009, 14:01 »
есть объек класса QPixmap с размерами (2500,2000), на котором я рисую какие-то кракозябры с высокой частотой(50-60 fps),потом этот объект я сохраняю в буфер (buffer->open(QIODevice::WriteOnly);pixmap->save(buffer, "PNG")
.Частота сохранения изображения в буфеп порядка 1 fps. Как мне ускорить этот процесс?(картинка рисуется на сервера и передается клиентом чрес сокет).
Записан
Rcus
Гость
Re: Как быстро сохранить изображение большого размера?
«
Ответ #1 :
Апрель 19, 2009, 15:04 »
2500*2000*4 это 2*10^6 байт. Вполне помоему нормальная скорость записи (да я знаю про lossless сжатие).
На мой взгляд вы пытаетесь заново изобрести аналог X11 или RDP.
Записан
¤Se®ega¤
Гость
Re: Как быстро сохранить изображение большого размера?
«
Ответ #2 :
Апрель 19, 2009, 18:04 »
Тоесть это вполне нормально?Просто от меня требуют чтобы частота соранения была тоже порядка 50 раз в секунду, я подумал, может я че не так делаю.Может использовать другой формат?
Записан
Rcus
Гость
Re: Как быстро сохранить изображение большого размера?
«
Ответ #3 :
Апрель 19, 2009, 18:29 »
Ну посмотрите как реализованы X Windows System и RDP, там идет передача не изображений, а команд соответственно X11 и GDI. Правда все равно 50 fps... К чему такие сложности, зачем вообще нужно создавать проблемы с передачей изображений по сети и затем с ними бороться?
Записан
SABROG
Гость
Re: Как быстро сохранить изображение большого размера?
«
Ответ #4 :
Апрель 21, 2009, 09:10 »
Я например не понял такой момент. По сокету передается несжатый QPixmap, затем сервер его его пожимает в PNG?
Если так, то выход я вижу в следующем:
- на сервер передается размер картинки и её параметры
- вместо того, чтобы передавать картинку целиком - на сервер передаются команды рисования мышкой. Кликнул по какому-то пикселю - через сокет передался индекс пикселя и цвет. Можно сделать небольшой буффер, который будет отправляться после того как заполнится необходимым количеством действий.
Если не хочется нагружать сервер, то передавать только QRect измененной области (как diff в svn/cvs/git), предварительно пожав его через qCompress.
Записан
spirit
Гость
Re: Как быстро сохранить изображение большого размера?
«
Ответ #5 :
Апрель 21, 2009, 09:23 »
qCompress достаточно медленно работает.
Записан
¤Se®ega¤
Гость
Re: Как быстро сохранить изображение большого размера?
«
Ответ #6 :
Апрель 21, 2009, 10:05 »
Мне надо передавать именно картинку, большого размера, с частотой 50 раз в секунду.
Записан
spirit
Гость
Re: Как быстро сохранить изображение большого размера?
«
Ответ #7 :
Апрель 21, 2009, 10:14 »
не знаю на сколько это будет производительно,
но что если насобирать 50 картинок и потом раз в секунду их отсылать,
а уже на стороне клиент их показывать по очереди.
Записан
Rcus
Гость
Re: Как быстро сохранить изображение большого размера?
«
Ответ #8 :
Апрель 21, 2009, 10:23 »
/*думает что скоро обсуждение дойдет до кодирования видеопотока*/
Записан
spirit
Гость
Re: Как быстро сохранить изображение большого размера?
«
Ответ #9 :
Апрель 21, 2009, 10:26 »
Цитата: Rcus от Апрель 21, 2009, 10:23
/*думает что скоро обсуждение дойдет до кодирования видеопотока*/
+1
Записан
¤Se®ega¤
Гость
Re: Как быстро сохранить изображение большого размера?
«
Ответ #10 :
Апрель 21, 2009, 10:47 »
можно и так, но вся проблема на данном этапе заключается именно в том, что при сохранении картинки проходит много времени( 1 секунда), думаю если в секунду сохранять 50 картинок, то этот интервал увеличится )))и толку не будет.
Записан
Rcus
Гость
Re: Как быстро сохранить изображение большого размера?
«
Ответ #11 :
Апрель 21, 2009, 10:52 »
Тяжело мне, да и, возможно, не только мне, давать советы не зная контекста использования. Может быть вы нам расскажете немного об использовании.
Записан
pastor
Administrator
Джедай : наставник для всех
Offline
Сообщений: 2901
Re: Как быстро сохранить изображение большого размера?
«
Ответ #12 :
Апрель 21, 2009, 10:52 »
А где можно увидеть полный код получения\сохранения\передачи изображения?
Записан
Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
spirit
Гость
Re: Как быстро сохранить изображение большого размера?
«
Ответ #13 :
Апрель 21, 2009, 10:53 »
пробуй уменьшать качество.
Записан
SABROG
Гость
Re: Как быстро сохранить изображение большого размера?
«
Ответ #14 :
Апрель 21, 2009, 11:15 »
А можно подробней о предназначении программы?
А что qCompress будет все-равно медленным, если степень сжатия поставить 1?
Записан
Страниц: [
1
]
2
3
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...