Здравствуйте, гость ( Вход | Регистрация )
|
wiz29 |
2.12.2010, 15:08
Сообщение
#1
|
![]() Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 600 Регистрация: 7.7.2010 Из: Санкт-Петербург Пользователь №: 1866 Спасибо сказали: 94 раз(а) Репутация: 12
|
Столкнулся со следующей проблемой: имеется некая сцена которая отрисовывается в QImage imgScene. (отрисовка происходит в отдельном потоке) имеется метод для копирования изображения (копия сцены рисутеся в гуи потоке) Возникает следующий эффект Link такое ощущение что картинка еще не успела появится на экране приходит следующий paint event. Вопрос, как можно синхронизировать и почему получается такой эффект (картинка не успевает дорисоваться до конца сверху вниз).
|
|
|
|
![]() |
|
wiz29 |
2.12.2010, 16:38
Сообщение
#2
|
![]() Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 600 Регистрация: 7.7.2010 Из: Санкт-Петербург Пользователь №: 1866 Спасибо сказали: 94 раз(а) Репутация: 12
|
ну не создавать каждый раз в paintEvent новый паинтер а иметь однажды инициализированый, хотя мне пока не помогло
щас попробую воспроизвести в тестовом приложении мою ситуацию |
|
|
|
|
BRE |
2.12.2010, 16:48
Сообщение
#3
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44
|
Цитата(wiz29 @ 2.12.2010, 16:38) Link ну не создавать каждый раз в paintEvent новый паинтер а иметь однажды инициализированый, хотя мне пока не помогло Это где такие глупости написаны? Это совершенно не так. QPainter это класс-рисовальщик, его объекты просто предоставляют методы для рисования на уже созданном QPaintDevice, не более. Поэтому его нужно (и можно) создавать каждый раз, особенно в paintEvent. |
|
|
|
wiz29 Моргание при отрисовке QImage 2.12.2010, 15:08
BRE А как происходит синхронизация этих двух изображен... 2.12.2010, 15:13
wiz29 Когда картинка содержащая изображение сцены готова... 2.12.2010, 15:17
BRE А в потоке ожидается момент, когда GUI-поток скопи... 2.12.2010, 15:19
wiz29 да , там синхронизация по мьютексу
но копировани... 2.12.2010, 15:22
BRE Т.е. ты посылаешь сигнал и блокируешь поток. А раз... 2.12.2010, 15:23
wiz29 ну когда срабатывает слот у объекта gui потока он ... 2.12.2010, 15:48
BRE Вот смотри. Рабочий поток закончил формирование ка... 2.12.2010, 16:08
wiz29 Щас попробую, просто ощущение создалось такое что ... 2.12.2010, 16:32
BRE Цитата(wiz29 @ 2.12.2010, 16:32) не не по... 2.12.2010, 16:35
wiz29 мне это тоже показалось весьма странным, но я попр... 2.12.2010, 17:28
wiz29 Разобрался с проблемой. Просто у нас есть некое дв... 3.12.2010, 10:53![]() ![]() |
|
Текстовая версия | Сейчас: 12.3.2026, 15:42 |