![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
efg |
![]() ![]()
Сообщение
#1
|
![]() Студент ![]() Группа: Участник Сообщений: 48 Регистрация: 6.5.2011 Пользователь №: 2658 Спасибо сказали: 2 раз(а) Репутация: ![]() ![]() ![]() |
дело в том, что на сцене должно быть одновременно размещено много (скажем, около 1000, хотя в перспективе их будет гораздо больше) item'ов - Svg или Pixmap, не важно. каждый из них довольно маленького размера (20х20), и изображение для них выбирается случайным образом из 6 различных файлов. получается так, что каждый элемент загружает изображение для себя, что, естественно, очень затратно при таком их количестве. можно ли как-нибудь оптимизировать всё это дело, чтобы каждый item не хранил в себе изображение, а содержал указатель? или придётся писать свой класс? кто-нибудь сталкивался с подобным?
|
|
|
![]() |
efg |
![]()
Сообщение
#2
|
![]() Студент ![]() Группа: Участник Сообщений: 48 Регистрация: 6.5.2011 Пользователь №: 2658 Спасибо сказали: 2 раз(а) Репутация: ![]() ![]() ![]() |
можно использовать pixmap кэш да, точно, это подходит теперь другой вопрос: насколько быстро получится отрендерить всю графику при изменении масштаба? нужно имитировать плавный отъезд\приближение камеры к сцене. при размещении QGraphicsSvgItem такой проблемы не было, можно было сразу пользоваться QGraphicsView::scale() или QGraphicsView::setMatrix() можно, конечно, заранее отрендерить исходные .svg в какие-нибудь .png под разные масштабы (для быстродействия), но хочется верить, что есть более практичное решение, ведь при такой реализации масштабирования после каждого изменения размеров pixmap'ов все элементы придётся смещать на соответствующие величины... нужен аналог QPixmapCache для svg Сообщение отредактировал efg - 11.11.2011, 20:41 |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 10.6.2025, 18:47 |