Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Slow Qt Widgets plotting over VNC on an ARM board (4–5 FPS)
Qt 6.12 LTS is out! See what's new in the release blog

Slow Qt Widgets plotting over VNC on an ARM board (4–5 FPS)

Scheduled Pinned Locked Moved Unsolved General and Desktop
armvnchelp
9 Posts 2 Posters 432 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.
  • Joe von HabsburgJ Offline
    Joe von HabsburgJ Offline
    Joe von Habsburg
    wrote last edited by
    #1

    Hi,

    I have a Qt 6 Widgets application with real-time plots (Qwt). It runs on an ARM64 board and I view it over VNC (TigerVNC Xvnc, 1920×1080). The data arrives about 17 times per second, but the screen only updates 4–5 times per second.

    What I found so far:

    • Computation is not the problem: All of the calculation is in worker threads. The GUI thread only updates the plots.
    • The VNC viewer slows painting down a lot: With the viewer disconnected, a full repaint takes ~60 ms. With the viewer connected, it takes ~250–300 ms, and most of that time is spent waiting for the X server, not painting.
    • Window size matters: A smaller viewer window is faster, but I need to keep the window size free.

    My questions:

    • Is this the normal limit for this kind of CPU, or is there a way to make Qt wait less for the X server?
    • Would Qt's own VNC platform plugin (-platform vnc) be faster than xcb + Xvnc?
    • Any tips to reduce how much of the window is repainted each frame?

    Thanks!

    1 Reply Last reply
    0
    • SGaistS Offline
      SGaistS Offline
      SGaist
      Lifetime Qt Champion
      wrote last edited by
      #2

      Hi,

      Are you sure that it's not the network that is the bottleneck ? VNC is not exactly optimized for in terms of bandwidth. You might also want to check if you can tune the Xnvc server configuration to optimize for your use case.

      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
      1
      • Joe von HabsburgJ Offline
        Joe von HabsburgJ Offline
        Joe von Habsburg
        wrote last edited by Joe von Habsburg
        #3

        I ran three different tests.

        1 - On my own Windows computer, there were no issues.
        2 - With fewer points—almost 1/5 fewer—I saw around 10–11 fps.
        3 - With more points, I saw 4–5 fps.

        I don’t have any issues with data acquisition here; I’m getting similar speeds in all three tests.

        As for the number of points, I’m not rendering all of them anyway—I’m rendering around 4,096 points. For that reason, I don’t think there’s a problem there.

        It seems to me that I’m experiencing the usual spectrogram/waterfall issue again.

        As for VNC, I’m not sure if the VNC screen refresh rate could be causing any issues. VNC is indeed a slower protocol compared to RDP, but I’m using VNC because I need a lower data transfer rate.

        Actually, I’ve made a few changes to the VNC server settings, but unfortunately, I can’t set a fixed screen resolution, for example. Maybe setting the screen to 720p or so might help a bit, but then I might run into issues with the UI.

        Does anyone have any suggestions?

        1 Reply Last reply
        0
        • SGaistS Offline
          SGaistS Offline
          SGaist
          Lifetime Qt Champion
          wrote last edited by
          #4

          What are you ARM board characteristics ?

          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
          • Joe von HabsburgJ Offline
            Joe von HabsburgJ Offline
            Joe von Habsburg
            wrote last edited by
            #5

            I determined that VNC was the root cause of the problem. When I install a separate desktop and run my application, I don’t experience any loss in FPS.

            It looks like I’ll need some help with the VNC side of things. I also have a question about QtVNC—I tried to integrate it, but when I establish a connection, my application crashes, and I haven’t been able to figure out how to fix it. Is QtVNC faster than other VNC programs?

            1 Reply Last reply
            0
            • SGaistS Offline
              SGaistS Offline
              SGaist
              Lifetime Qt Champion
              wrote last edited by
              #6

              Are you talking about the Qt VNC Server module ? Because there's also a QPA plugin.

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

              Joe von HabsburgJ 1 Reply Last reply
              0
              • SGaistS SGaist

                Are you talking about the Qt VNC Server module ? Because there's also a QPA plugin.

                Joe von HabsburgJ Offline
                Joe von HabsburgJ Offline
                Joe von Habsburg
                wrote last edited by
                #7

                @SGaist said in Slow Qt Widgets plotting over VNC on an ARM board (4–5 FPS):

                Qt VNC Server

                yes, is it better than other vnc servers ?

                what mean is better for me? It is faster than others and use low data rate.

                Do you know any think about that?

                1 Reply Last reply
                0
                • SGaistS Offline
                  SGaistS Offline
                  SGaist
                  Lifetime Qt Champion
                  wrote last edited by
                  #8

                  Sorry, I don't currently know if/how it is optimized.

                  You should benchmark it against the solutions you are currently using.

                  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
                  1
                  • Joe von HabsburgJ Offline
                    Joe von HabsburgJ Offline
                    Joe von Habsburg
                    wrote last edited by
                    #9

                    @SGaist Thank you

                    1 Reply Last reply
                    0

                    • Login

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