Russian Qt Forum
Ноябрь 25, 2024, 12:54 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QPainter в негуёвом потоке  (Прочитано 4970 раз)
QCasper
Гость
« : Февраль 07, 2007, 14:42 »

Мне нужно рисовать QPainter'ом поток картинок, из которых в дальнейшем строится анимация. Чтобы никакие внешние воздействия, то как юзер потягал окно,  не тормозили это дело, я решил делать это в отдельном потоке. QPainter орет, что мол варнинг, не стоит рисовать в негуёвом потоке. Как же быть?
Записан
Tonal
Гость
« Ответ #1 : Февраль 07, 2007, 15:33 »

Может можно QMovie подпрячь?
Записан
QCasper
Гость
« Ответ #2 : Февраль 07, 2007, 15:35 »

Цитата: "Tonal"
Может можно QMovie подпрячь?


А в чем оно может помочь. Дело в том, что анимация не обязательно выводится на окно. Она может выводиться напрямую на видеокарту или в файл
Записан
QCasper
Гость
« Ответ #3 : Март 12, 2007, 09:40 »

Тема все еще актуальна. Хочу вопрос немного по другому поставить.
Кто может грамотно объяснить мне, почему опасно использовать QPainter в негуевом потоке?
Записан
ElderOrb
Гость
« Ответ #4 : Март 12, 2007, 12:53 »

Насколько я понимаю дело в поддержке двойной буфферизации и наличии backing-store (глобальных кэширующих пиксмэпов по штуке на каждое top-level окно, необходимых для быстрой отрисовки сложных виджэтов при их перетягивании).

Двойная буфферизация представляет собой отрисовку в память (в QImage или QPixmap в случае с Qt) с последующим копированием этого куска памяти в контекст видеоустройства и условно может быть поделена на 3 фазы.

1. начало отрисовки (подготовка внеэкранного буфера)
2. отрисовка во внеэкранный буфер
3. конец отрисовки

Вышенаписанное может быть потокобезопасным но только если защищено элементами синхронизации, а это дегрэйд перфоманса. А перфоманс - это наше всё. Возможно если сильно поизвращаться можно обойтись и без элементов синхронизации и потери производительности, что и собираются сделать тролли в 5-ом Qt. Поживём - увидим как. ж)
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.047 секунд. Запросов: 21.