Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-127121

Potential linegraphs performance improvements

XMLWordPrintable

    • Icon: Task Task
    • Resolution: Done
    • Icon: P2: Important P2: Important
    • None
    • 6.8
    • Graphs: 2D
    • None
    • 489f76fe8 (dev), bbbec34e7 (6.8), 840c8ace0 (dev), 7b460edb0 (6.8), 87723fd94 (dev), 3abbab8d0 (6.8), 3816e9e8c (dev), 7fd6f80e7 (6.8)

      PointRenderer uses Quick Shape to render line/spline graphs. Some performance tuning could be done for live plotting with more data points (see QTBUG-126662). Here are few potential proposals to experiment with:

      1) Use QPainterPath directly instead of maintaining list of QQuickPathElements in QQuickShapePaths. Then separate path processing step is avoided, potentially improving performance and memory usage. This requires small API addition into QQuickPath.

      2) Use pathHints property of QQuickShapePath (see QTBUG-112340) for optimizing the rendering.

      3) Switch PointRenderer to use QQuickShapeCurveRenderer directly. Instead of maintaining list of QQuickPathElements in QQuickShapePaths, create line as QPainterPath and use setPath() method of QQuickShapeCurveRenderer. With https://codereview.qt-project.org/c/qt/qtdeclarative/+/575142 this will be common API of QQuickAbstractPathRenderer. This is bigger change than 1) but should drop some more overhead.

        1. LineGraphBench.zip
          2 kB
          Kaj Grönholm
        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

            kagro Kaj Grönholm
            kagro Kaj Grönholm
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes