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
3 Posts 2 Posters 104 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.
  • 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
      0
      • 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

        • Login

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