Название: QGraphicsScene, выделение области стоит ли связываться с QPainterPath? Отправлено: andrek от Март 28, 2013, 14:59 Реализовал тайловую сцену, возникла необходимость выделять область.
Сейчас использую QGraphicsScene::setSelectionArea(QPainterPath), но видно что подтормаживает, и например при выделении всей сцены (108х108 это всего 11664 элементов 32х32) пауза на ноутбуке очень ощутима секунд ~30. QPainterPath::length() выдал при этом астрономическую цифру 1.49299e+06, и собственно понятно откуда тормоза. Где я ошибся, может мне просто заменить на QVector<QRect>? QPainterPath также используется еще для selectionArea().contains(QPoint) и selectionArea().boundingRect(), и собственно реализовать их так же не трудно... Название: Re: QGraphicsScene, выделение области стоит ли связываться с QPainterPath? Отправлено: GreatSnake от Март 28, 2013, 15:06 Где я ошибся, может мне просто заменить на QVector<QRect>? Что ты хочешь получить в ответ, коли мы не видим твоего кода ???Название: Re: QGraphicsScene, выделение области стоит ли связываться с QPainterPath? Отправлено: andrek от Март 28, 2013, 15:28 сейчас подумал, над собственными словами и понял, я же добавлял в QPainterPath все QRect каждого выделенного item. А проще вычислить общий QRect и добавить всего один элемент в QPainterPath. и рисовать выделенную область исходя уже от него. Проверил стало быстрее.
|