![]() |
|
|
![]()
|
|
| GRONN |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 47 Регистрация: 8.3.2007 Репутация: нет Всего: нет |
Друзья, есть вьюер, выводящий в рабочую область картинки (типо как thumbnail view в Windows explorer, эдакие маленькие превьюшки). Проблема такая - он очень долго работает при скроллинге - жуткие тормоза.
Какие методы существуют для оптимизации работы такого viewera? Олее конкретно - для ускорения его работы при скроллинге? В PaintEvent() одно из самых "дорогостоящих" действий - изменение размера картинок, чтобы подогнать их под нужный размер - может быть из-за него тормоза? Заранее спасибо! Алексей |
|||
|
||||
| powerfox |
|
|||
![]() I wanna fork() ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3990 Регистрация: 1.10.2005 Где: Санкт-Петербург Репутация: 4 Всего: 97 |
GRONN, я не помню, но кажется, по умолчанию обрабатывается вся модель. В принципе, можно сделать так, чтобы рисовалась только видимая область (точнее, создавались миниатюры только видимых картинок).
|
|||
|
||||
| GRONN |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 47 Регистрация: 8.3.2007 Репутация: нет Всего: нет |
Такую оптимизацию я воткнул (на пересечение региона перерисовки с регионом отображения) уже давно. По прежнему тормоза наблюдаются, вот ищу другие доп. способы.
UPD Вот как проверяется пересечение нужного элемента с областью перерисовки:
Может, itemRegion - слишком дорогая операция для таких целей? (у меня может быть порядка 500 первьюшек) Это сообщение отредактировал(а) GRONN - 10.9.2008, 19:45 |
|||
|
||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 16 Всего: 92 |
Используй GraphicsView - там очень обалденная оптимизация и на порядок выше удобство работы (чем просто ручная прорисовка). В качестве примера оценки производительности - стандартная демка "40000 chips".
|
|||
|
||||
![]()
|
| Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |