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. QEvent::UpdateRequest is too slow
QtWS25 Last Chance

QEvent::UpdateRequest is too slow

Scheduled Pinned Locked Moved Solved Mobile and Embedded
opengl esqt 6.4.2performanceoptimizationopengl
5 Posts 2 Posters 661 Views
  • 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.
  • H Offline
    H Offline
    hexo
    wrote on 23 Mar 2023, 17:34 last edited by
    #1

    I have a QWidgets (C++) android application (qt 6.4.3). I am trying to optimize it to work smoothly on 120hz phones, but I have noticed the QEvent::UpdateRequest of the main widget is taking about 14ms on my phone which makes it impossible to achieve 120hz. The app only has a handful of simple widgets (buttons, text area, etc.) and a single custom QOpenGLWidget. I have timed the paintGL of this widget and it takes less than 1ms.

    My question is, is there any way to optimize UpdateRequest speed? And do you have any pointers on what the culprit of this poor performance might be?

    S 1 Reply Last reply 23 Mar 2023, 19:40
    0
    • H hexo
      23 Mar 2023, 17:34

      I have a QWidgets (C++) android application (qt 6.4.3). I am trying to optimize it to work smoothly on 120hz phones, but I have noticed the QEvent::UpdateRequest of the main widget is taking about 14ms on my phone which makes it impossible to achieve 120hz. The app only has a handful of simple widgets (buttons, text area, etc.) and a single custom QOpenGLWidget. I have timed the paintGL of this widget and it takes less than 1ms.

      My question is, is there any way to optimize UpdateRequest speed? And do you have any pointers on what the culprit of this poor performance might be?

      S Offline
      S Offline
      SGaist
      Lifetime Qt Champion
      wrote on 23 Mar 2023, 19:40 last edited by
      #2

      Hi and welcome to devnet,

      Widgets are CPU rendered hence the performance you see. If you want OpenGL backed rendering of your buttons then you should move to QtQuick.

      Interested in AI ? www.idiap.ch
      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

      1 Reply Last reply
      0
      • H Offline
        H Offline
        hexo
        wrote on 23 Mar 2023, 19:56 last edited by
        #3

        Thanks, but shouldn't even the CPU rendering be faster? I only have 2-3 widgets, not a lot.

        S 1 Reply Last reply 23 Mar 2023, 20:04
        0
        • H hexo
          23 Mar 2023, 19:56

          Thanks, but shouldn't even the CPU rendering be faster? I only have 2-3 widgets, not a lot.

          S Offline
          S Offline
          SGaist
          Lifetime Qt Champion
          wrote on 23 Mar 2023, 20:04 last edited by
          #4

          The widgets module is not optimized for mobile so there might be other issues at hand.

          Interested in AI ? www.idiap.ch
          Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

          1 Reply Last reply
          0
          • H Offline
            H Offline
            hexo
            wrote on 24 Mar 2023, 12:46 last edited by
            #5

            Just changing the root widget of my application from QWidget to QQuickWidget fixed the problem. Well, that was way easier than I expected! Thanks for the help.

            1 Reply Last reply
            1
            • H hexo has marked this topic as solved on 24 Mar 2023, 12:47

            5/5

            24 Mar 2023, 12:46

            • Login

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