QT Как нарисовать 500000 линий? - PullRequest
2 голосов
/ 21 мая 2011

Мне нужно нарисовать много (около 500000) маленьких линий в некоторой области, такой как QGraphicsView. Я пытался использовать QPainterPath и QGraphicsScene, но добавление 500000 строк в QPainterPath с помощью lineTo () занимает более 500 МБ памяти, и мое приложение уничтожается моим ядром.

Есть ли способ нарисовать такое количество линий в QT?

1 Ответ

1 голос
/ 21 мая 2011

QGraphicsLineItem вероятно имеет более низкие издержки, чем QPainterPath. Но добавление половины миллиона из них сведет на нет прибыль.

Предполагая, что вы рассматриваете все строки как один элемент, так как вы добавляете строки в QPainterPath, создавая пользовательские QGraphicsItem и paint() линии, вы будете самым быстрым способом. Это также позволит избежать всей нагрузки на память управления путевыми и линейными структурами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...