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

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

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: непонятки с таймером, не всегда запускается, см. сообщение  (Прочитано 9914 раз)
ieroglif
Гость
« Ответ #15 : Июнь 08, 2010, 11:30 »

мне больше всего нравится собственная идея с параллельным тредом, который индикаторы включает, если надо, но с простой проверкой сколько времени прошло, в данном частном случае получилось нормально, задержка при отрисовке (с вычислениями) порядка нескольких десятков тысяч графических айтемов - не более 3-х секунд, песочные часы вполне уместны

хм.. вопрос из отдельной области - как отрисовываются десятки тысяч айтемов за 3 секунды?
чем отрисовываются? стандартным QPainter? в таком случае какое железо?
Записан
Гурман
Гуру общения
******
Offline Offline

Сообщений: 1442

Qt 2.2, 3.3, 4.5, 4,7, 4.8, 5.3, 5.6, 5.9, 5.12


Просмотр профиля
« Ответ #16 : Июнь 08, 2010, 13:58 »

стандартным QPainter, айтемы содержат только текст, никакой графики на сцене нет

уточнил - сейчас пару секунд рисуется сцена с >7000 айтемами, посложнее с >33000 айтемов около 17 секунд (в меньшей сцене все равно есть еще чего делать, поэтому скорость неравномерная)

можно и приделать выдачу сообщения для таких сцен, хотя на самом деле, будет в разы быстрее рисоваться, сейчас неоптимально вычисляются bounding rectangle для случаев вложенных айтемов (которых подавляющее большинство), проверял, если кешировать размеры, то отрисовывается в несколько раз быстрее (где-то в 3-5), но надо сесть и аккуратно прописать необходимость перевычисления при изменении вложенных айтемов

железо - квадропень с ddr3
« Последнее редактирование: Июнь 08, 2010, 14:02 от Гурман » Записан

2^7-1 == 127, задумайтесь...
ieroglif
Гость
« Ответ #17 : Июнь 08, 2010, 14:31 »

ну вообще да Улыбающийся
я посчитал, что у меня примерно 40-100 штук элементов отрисовываются Улыбающийся тогда я спокоен Улыбающийся
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #18 : Июнь 08, 2010, 18:06 »

Если это чисто рисование, то можно делать его по частям, напр.

- отрисовали первые 10К айтемов
- показали прогресс %
- отрисовали следующие 10К
и.т.д.

Завести счетчик отрисованных несложно, с "прерываемостью" проблем нет - обнулить тот же счетчик
Записан
ieroglif
Гость
« Ответ #19 : Июнь 09, 2010, 11:03 »

да меня просто вопрос производительности интересовал =)
Записан
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


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