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

LineSeries: Qt Graphs has noticeably higher CPU load than Qt Charts

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: P1: Critical P1: Critical
    • None
    • 6.8.4, 6.10.0 Beta2
    • Graphs: 2D
    • Pre-built Boot to Qt on Raspberry Pi 4; Windows 10 22H2, Intel Core i7-7700

      The attached project is set up to compare Qt Charts vs. Qt Graphs.

       

      Steps to test

      1. Build and run the attached project
      2. Use `top` to monitor the app's CPU load while the line is being painted. Keep monitoring as the plot is filled + cleared a few times.
      3. Set the Plot Type to "No Plot" to see the app's background CPU load
      4. Repeat the test after changing "Graphs" to "Charts" (under the "Compile-time configuration" section in CMakeLists.txt)

       

      Results

      These are the numbers on the pre-built Boot to Qt 6.8.4 on Raspberry Pi 4, when updating the plot every 250ms (with 50 points appended per update, up to a total of 5000 points):

       

      Notes:

      • In "No Plot" mode, the QList<QPointF>s are still being modifed. We only omit the call to QXYSeries::append().
      • "Start of Plot" is when the LineSeries is almost empty
      • "End of Plot" is when the LineSeries is almost full
      • Similar trends can be seen on Windows 10 (Intel HD Graphics 630 GPU), by increasing the number of samples and decreasing the update interval

        1. TimeSeriesStudy.zip
          5 kB
          Sze Howe Koh
        2. lineseries-charts-vs-graphs.png
          6 kB
          Sze Howe Koh
        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

            tuliniemi Jere Tuliniemi
            skoh-qt Sze Howe Koh
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:

                There are no open Gerrit changes