Как я могу реализовать подобную Google Maps прокрутку мозаики в QT?

Я использую QT/C++ и пытаюсь привлечь крупный и сложный QGraphicsScene. После того как я добавляю, что много объектов, панорамируя и масштабируя становится неприятно медленным. (Не удивительно здесь, конечно). Я играл с координатой устройства, кэширующейся (помогает с панорамированием к точке), и минимальные обновления области просмотра и так далее, но в конечном счете существует только слишком много объектов. То, что я хотел бы сделать, является ничьей объекты асинхронно от управления UI так или иначе. Другими словами, точно так же, как Google Maps делает, я хочу панорамировать и масштабировать и позволить составлению выгоды с такой скоростью, как это может, но смочь панорамировать снова, прежде чем объекты заканчивают тянуть.

Один метод, который я пробую, должен создать два QGraphicsScenes. Каждый имеет фактические объекты, но не привязан к QGraphicsView. Другой QGraphicsScene подключен к QGraphicsView, но он просто имеет, некоторые разместили рядом QPixmaps, которые измерены для покрытия экрана. План состоит в том, чтобы использовать запасные циклы ЦП для обновления любой пиксельной карты мозаики, для которой нужен он. Это кажется, что даст мне необходимый контроль над рендерингом (таким образом, я не должен буду блокироваться при перерендеринге всей видимой сцены). Мысли? Кто-либо реализовал это?

6
задан Scott Stafford 10 February 2010 в 18:36
поделиться

1 ответ

Посмотрите здесь: Генерация содержимого в потоках.

Похоже, это похоже на то, что вы пытаетесь сделать. Плиточные механизмы - очень распространенный способ загрузки больших объемов данных. Кроме размещенной ссылки, я не видел простого примера с использованием QGraphicsView.

40000 Chips также показывает кое-что об управлении большими объемами данных.

3
ответ дан 17 December 2019 в 18:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: