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

QChart realtime performance issue

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • P3: Somewhat important
    • None
    • 5.12.3
    • Charts
    • None
    • Mac OS 10.13.6, 2,4 GHz Intel Core i5, 16GB RAM

      Mac OS 10.13.6,  2,8 GHz Intel Core i7 12GB RAM

      Windows 10, intel i7-8700 3.7GHz, 32GB RAM

      CentOS 7, intel i7-8700 3.7GHz, 8GB RAM
    • Linux/X11, macOS, Windows

    Description

      Hello,

      I'm experiencing strong performance issue on real-time plot using QCharts. I'm using 3 QChart within a mainwindow plotting data streamed from another thread. Data are streamed at 250Hz.

      To get the mainwindow not freezed in release mode I have to set the refresh rate of the charts to about 10Hz. In debug the situation is even worse. The refresh rate should be about 3Hz to have a responsive GUI.

      Points are added creating a QVector<QPointF> and then replace the entire vector into the QLineSeries, as suggested within the QLineSeries documentation.

      Before that, I was using QCustomplot and everything worked fine without any performance issue. I have also profiled the code execution using Instruments and most of the main thread time is spent in the following function: 

      QtCharts::QValueAxisPrivate::setRange(double, double)

      It is normal?

      Since the moment I have moved from QCustomplot to QChart I'm not able to run the program in debug mode. I must run it in Profile adding debug symbols. 

       

       

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            e0348803 Miikka Heikkinen
            fpoli Fabrizio Riente
            Votes:
            4 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There are no open Gerrit changes