Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. QML and Qt Quick
  4. Sequential animation on a not visible qml component
Forum Updated to NodeBB v4.3 + New Features

Sequential animation on a not visible qml component

Scheduled Pinned Locked Moved Unsolved QML and Qt Quick
5 Posts 2 Posters 332 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • B Offline
    B Offline
    Benjamin38
    wrote on 2 Nov 2023, 09:25 last edited by
    #1

    Hello,

    I'm facing on very high instabilities of our HMI screens, which have a hybrid architecture between QML and QWidget.

    I observe in particular "white screen" presence between qml screen and widget screen

    At the top of the window, we have a QQuickWidget statusBar fully designed in qml. After investigations, "white screen" presence (which concern central screen and not status bar component) is linked to following peace of code

    ae57b678-7805-4d6d-9432-986e0d8232ea-image.png

    This sequential animation is running whereas the parent of this animation is not visible => what's the effects of this building ?
    Could it be the root cause of high HMI instabilities, such as screen switch in the loop without user control or application control ?

    Thanks by advance for your answers

    P 1 Reply Last reply 2 Nov 2023, 12:00
    0
    • B Benjamin38
      2 Nov 2023, 09:25

      Hello,

      I'm facing on very high instabilities of our HMI screens, which have a hybrid architecture between QML and QWidget.

      I observe in particular "white screen" presence between qml screen and widget screen

      At the top of the window, we have a QQuickWidget statusBar fully designed in qml. After investigations, "white screen" presence (which concern central screen and not status bar component) is linked to following peace of code

      ae57b678-7805-4d6d-9432-986e0d8232ea-image.png

      This sequential animation is running whereas the parent of this animation is not visible => what's the effects of this building ?
      Could it be the root cause of high HMI instabilities, such as screen switch in the loop without user control or application control ?

      Thanks by advance for your answers

      P Offline
      P Offline
      petero3
      wrote on 2 Nov 2023, 12:00 last edited by
      #2

      @Benjamin38
      Do these two paragraphs help?
      https://doc.qt.io/qt-6/qtquick-performance.html#destroy-unused-elements
      https://doc.qt.io/qt-6/qtquick-performance.html#over-drawing-and-invisible-elements

      B 1 Reply Last reply 2 Nov 2023, 14:23
      0
      • P petero3
        2 Nov 2023, 12:00

        @Benjamin38
        Do these two paragraphs help?
        https://doc.qt.io/qt-6/qtquick-performance.html#destroy-unused-elements
        https://doc.qt.io/qt-6/qtquick-performance.html#over-drawing-and-invisible-elements

        B Offline
        B Offline
        Benjamin38
        wrote on 2 Nov 2023, 14:23 last edited by
        #3

        @petero3 thanks to share the Qt performance page, I'm reading it carefully

        Our application plays on visibility to display / hide the component => no destroy
        As says in Qt doc, set visibility=false avoid the cost of drawing so it is a good practice to use visibility to show/hide components

        My point is that an animation inside a qml invisible component was unfortunately running, and I suspect this background treatment to be the root cause of HMI instability. But I don't have any proof about that.

        Sequencial animation turns in Qt main thread ?

        1 Reply Last reply
        0
        • P Offline
          P Offline
          petero3
          wrote on 2 Nov 2023, 14:38 last edited by
          #4

          Not sure about the instability and "white screen", but it does say:

          "...should have their "visible" property set to false, in order to avoid the cost of drawing them (although as previously explained, they will still incur the cost of any animations or bindings evaluation since they are still active)."

          so seems running animations continue to do stuff, even if not visible.

          To narrow down the issue, have you tried removing the animation temporarily, or have you tried running: false?

          B 1 Reply Last reply 2 Nov 2023, 14:49
          0
          • P petero3
            2 Nov 2023, 14:38

            Not sure about the instability and "white screen", but it does say:

            "...should have their "visible" property set to false, in order to avoid the cost of drawing them (although as previously explained, they will still incur the cost of any animations or bindings evaluation since they are still active)."

            so seems running animations continue to do stuff, even if not visible.

            To narrow down the issue, have you tried removing the animation temporarily, or have you tried running: false?

            B Offline
            B Offline
            Benjamin38
            wrote on 2 Nov 2023, 14:49 last edited by
            #5

            @petero3
            I try
            running: alarmArrow.visible (alarmArrow is the parent of Glow) and I observe the disappearance of white screens.

            But we have graphical instabilities of HMI in the field and I'm not able for the moment to prove the relation between this animation, white screens and HMI instabilities

            1 Reply Last reply
            0

            1/5

            2 Nov 2023, 09:25

            • Login

            • Login or register to search.
            1 out of 5
            • First post
              1/5
              Last post
            0
            • Categories
            • Recent
            • Tags
            • Popular
            • Users
            • Groups
            • Search
            • Get Qt Extensions
            • Unsolved