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

Dynamic Ticks make QChart freeze when zooming with rubber band

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Reported
    • Priority: P2: Important
    • Resolution: Unresolved
    • Affects Version/s: 5.12.4, 5.13.0
    • Fix Version/s: None
    • Component/s: Charts
    • Labels:
      None

      Description

      Qt 5.12 introduced the tickType property in QValueAxis. It allows to set a fixed stepping between ticks.

      With a fixed stepping between ticks, the number of ticks is dependent on the range currently displayed by the axis. If the user changes the range, an extreme change to the number of ticks may happen. It is possible to connect a method to the rangeChanged() signal and adapt the stepping, but not before the axis updates its ticks, which may cause a minute-long freeze (the profiler shows all the time is spent in font metric calculations).

       

      To reproduce the problem:

      1. Set tickType property of the axis to dynamic and set tickAnchor, tickInterval properties to reasonable values
      2. Set rubberBand property of the view to RectangleRubberBand
      3. Use mouse click+hold to select tiny areas.

       

      A possible solution to this problem would be to check for number of ticks and not render them if it is not reasonable.

        Attachments

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

          Activity

            People

            • Assignee:
              e0348803 Miikka Heikkinen
              Reporter:
              ypnos Johannes Jordan
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:

                Gerrit Reviews

                There are no open Gerrit changes