Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Mobile and Embedded
  4. QPropertyAnimation update rate on different devices
Forum Updated to NodeBB v4.3 + New Features

QPropertyAnimation update rate on different devices

Scheduled Pinned Locked Moved Unsolved Mobile and Embedded
7 Posts 2 Posters 1.7k Views 2 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.
  • J Online
    J Online
    J.Hilk
    Moderators
    wrote on 4 Jul 2017, 11:41 last edited by
    #1

    Hello everyone,

    I have a small animation made with QPropertyApplication targeting the Pos()-Property.

    With that animation, I let a widget "Fly" in from the side.

    The animation is smooth and works fine on my Destop. On my Phone I notice some small issues, but nothing unbearable.

    On my Tablet hower, the animation is stuttering like cray.

    I connected to the the "value Changed" signal and noticed, my Desktop gets 45 updates in 500 ms where as my tablet has 12 updates in 500 ms. Both for a 800 px movement in y-axis direction.

    My question: Is this simply a performance/ hardeware issue of the Tablet/Phone?

    Or can I do something against it?

    Tablet is an iPad Air 2

    It has a resolution of 2.048 pixels but the animation itself says 900 px for top to bottom, so this might be a highdpi -display issue!?


    Be aware of the Qt Code of Conduct, when posting : https://forum.qt.io/topic/113070/qt-code-of-conduct


    Q: What's that?
    A: It's blue light.
    Q: What does it do?
    A: It turns blue.

    R 1 Reply Last reply 4 Jul 2017, 11:43
    0
    • J J.Hilk
      4 Jul 2017, 11:41

      Hello everyone,

      I have a small animation made with QPropertyApplication targeting the Pos()-Property.

      With that animation, I let a widget "Fly" in from the side.

      The animation is smooth and works fine on my Destop. On my Phone I notice some small issues, but nothing unbearable.

      On my Tablet hower, the animation is stuttering like cray.

      I connected to the the "value Changed" signal and noticed, my Desktop gets 45 updates in 500 ms where as my tablet has 12 updates in 500 ms. Both for a 800 px movement in y-axis direction.

      My question: Is this simply a performance/ hardeware issue of the Tablet/Phone?

      Or can I do something against it?

      Tablet is an iPad Air 2

      It has a resolution of 2.048 pixels but the animation itself says 900 px for top to bottom, so this might be a highdpi -display issue!?

      R Offline
      R Offline
      raven-worx
      Moderators
      wrote on 4 Jul 2017, 11:43 last edited by
      #2

      @J.Hilk
      yes it's hardware (CPU) dependant

      --- SUPPORT REQUESTS VIA CHAT WILL BE IGNORED ---
      If you have a question please use the forum so others can benefit from the solution in the future

      J 1 Reply Last reply 5 Jul 2017, 04:58
      2
      • R raven-worx
        4 Jul 2017, 11:43

        @J.Hilk
        yes it's hardware (CPU) dependant

        J Online
        J Online
        J.Hilk
        Moderators
        wrote on 5 Jul 2017, 04:58 last edited by
        #3

        @raven-worx
        I did not want to believe you right away, so I wrote my own animation class. It looks more steady, but it's still a slide show...

        And here I was dodging the QML-bullet for a few years now...
        So either I drop the animation or go the QML route?

        A few last questions, so I don't go into the wrong direction.
        With the assumption that the build in GPU will handle the UI better.

        • There is no real/good way to simply run a QWidget based UI on the GPU?
        • If I simply include a QQuickView or QQuickWidget that part (the QML one) is automatically done via the GPU or do I have to use a OpenGl Widget or is it not possible at all?

        Be aware of the Qt Code of Conduct, when posting : https://forum.qt.io/topic/113070/qt-code-of-conduct


        Q: What's that?
        A: It's blue light.
        Q: What does it do?
        A: It turns blue.

        R 1 Reply Last reply 5 Jul 2017, 06:12
        0
        • J J.Hilk
          5 Jul 2017, 04:58

          @raven-worx
          I did not want to believe you right away, so I wrote my own animation class. It looks more steady, but it's still a slide show...

          And here I was dodging the QML-bullet for a few years now...
          So either I drop the animation or go the QML route?

          A few last questions, so I don't go into the wrong direction.
          With the assumption that the build in GPU will handle the UI better.

          • There is no real/good way to simply run a QWidget based UI on the GPU?
          • If I simply include a QQuickView or QQuickWidget that part (the QML one) is automatically done via the GPU or do I have to use a OpenGl Widget or is it not possible at all?
          R Offline
          R Offline
          raven-worx
          Moderators
          wrote on 5 Jul 2017, 06:12 last edited by
          #4

          @J.Hilk
          it depends what the real bottleneck is. Either is the animation value calculation (CPU) or the drawing itself (GPU).
          Where QtWidgets uses the CPU for drawing.

          --- SUPPORT REQUESTS VIA CHAT WILL BE IGNORED ---
          If you have a question please use the forum so others can benefit from the solution in the future

          J 1 Reply Last reply 5 Jul 2017, 07:00
          0
          • R raven-worx
            5 Jul 2017, 06:12

            @J.Hilk
            it depends what the real bottleneck is. Either is the animation value calculation (CPU) or the drawing itself (GPU).
            Where QtWidgets uses the CPU for drawing.

            J Online
            J Online
            J.Hilk
            Moderators
            wrote on 5 Jul 2017, 07:00 last edited by
            #5

            @raven-worx
            thanks to my custom class I can say with great amount of certainty, that the drawing the is the bottleneck.

            I started a QElapsed timer around move() and repaint() on my Desktop -> 2 to 10 ms, on the tablet 100 to 340 ms. move itself takes less than 1ms.

            Therefore using QQuickView or QQuickWidget for that part of the UI should help, right?


            Be aware of the Qt Code of Conduct, when posting : https://forum.qt.io/topic/113070/qt-code-of-conduct


            Q: What's that?
            A: It's blue light.
            Q: What does it do?
            A: It turns blue.

            R 1 Reply Last reply 5 Jul 2017, 07:01
            0
            • J J.Hilk
              5 Jul 2017, 07:00

              @raven-worx
              thanks to my custom class I can say with great amount of certainty, that the drawing the is the bottleneck.

              I started a QElapsed timer around move() and repaint() on my Desktop -> 2 to 10 ms, on the tablet 100 to 340 ms. move itself takes less than 1ms.

              Therefore using QQuickView or QQuickWidget for that part of the UI should help, right?

              R Offline
              R Offline
              raven-worx
              Moderators
              wrote on 5 Jul 2017, 07:01 last edited by raven-worx 7 May 2017, 07:02
              #6

              @J.Hilk
              wait, you are using repaint()?!

              --- SUPPORT REQUESTS VIA CHAT WILL BE IGNORED ---
              If you have a question please use the forum so others can benefit from the solution in the future

              J 1 Reply Last reply 5 Jul 2017, 07:06
              0
              • R raven-worx
                5 Jul 2017, 07:01

                @J.Hilk
                wait, you are using repaint()?!

                J Online
                J Online
                J.Hilk
                Moderators
                wrote on 5 Jul 2017, 07:06 last edited by
                #7

                @raven-worx normaly I dont.
                The Widget should repaint itself in the next cycle after the move command. I just added it to see how long the drawing of the widget takes, via QElapsedTimer.


                Be aware of the Qt Code of Conduct, when posting : https://forum.qt.io/topic/113070/qt-code-of-conduct


                Q: What's that?
                A: It's blue light.
                Q: What does it do?
                A: It turns blue.

                1 Reply Last reply
                0

                3/7

                5 Jul 2017, 04:58

                • Login

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