Об эффективности Qt Graphics View Framework при наличии обширных предметов - PullRequest
2 голосов
/ 17 февраля 2012

В последнее время я разрабатываю новое программное обеспечение для визуализации с использованием QT Grapohics View Framework.В программном обеспечении нам нужно показать множество элементов, включая точку и линию, примерно на десять тысяч выше.Но, в процессе отображения, есть эффективность пула и часто нет ответа.Когда мы хотим увеличить его или убрать положение сцены, мы должны ждать пролета, и это трудно выдержать.Итак, я хочу знать, нормально ли это и как повысить эффективность ситуации.Спасибо.

Ответы [ 2 ]

2 голосов
/ 17 февраля 2012

Я использую Graphics View Framework для рисования географической карты (большие полигоны с тысячами точек). И делает это очень хорошо.

В Qt-4.6 были задержки при масштабировании и перемещении. С включенным сглаживанием сделки были так долго, что было лучше убить приложение. Поэтому попробуйте использовать последнюю версию Qt .

Также, если вы используете пользовательские QGraphicsItem-s, проверьте эту статью: Qt: Улучшение производительности QGraphicsView .

0 голосов
/ 12 февраля 2017

Я исправил свои самые серьезные проблемы с производительностью:

  • отключение полос прокрутки (это очень помогло при увеличении / уменьшении и прокрутке),
  • построение точек с помощью художника-> drawPoints (pointCloud.constData (), pointCloud.size ());
  • отключить индексирование в случае перемещения элементов или включить индексирование, но избегая некоторых операций
  • использовать косметическое перо, ширину 0 илиQt :: NoPen всегда так возможно
  • setViewport (новый QGLWidget (QGLFormat (QGL :: SampleBuffers))));
  • setViewportUpdateMode (FullViewportUpdate);
...