Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-90987

3D engine periodically blocks QSerialPort thread or main thread



    • Type: Bug
    • Status: Reported
    • Priority: P1: Critical
    • Resolution: Unresolved
    • Affects Version/s: 5.15.2, 5.15.3
    • Fix Version/s: None
    • Component/s: Qt3D, Serial Port
    • Labels:
    • Environment:
      Ubuntu 20.04 with X and without X (eglfs)
      Ubuntu 18.04 with X and without X (eglfs)
      Boot2Qt 5.15.3 Intel NUC
    • Platform/s:
      Linux/X11, Linux/Yocto, Linux/Other display system



      I have a big project. In the attached example, I've simplified everything a lot. But it shows the heart of the problem. I am transmitting a 100 byte packet via VCP. The port is looped, that is, the transmitter output is physically connected to the receiver input. Baud rate 1,000,000 baud. That is, the packet transmission time is negligible. I am measuring the duration of an entire transaction with a tick of 20 milliseconds. For Qt 5.14.2, it does not exceed 1 tick (that is, 20 ms) when the 3D engine is running (that is, the QML code contains a Scene3D object). But for Qt 5.15.2, the transaction time increases by 3-5 times and is respectively 100 ms. I can get a transaction in one tick for Qt 5.15.2 only if I remove the Scene3D object from the QML code. It is unacceptable for my project to receive packets with such a delay. So I cannot upgrade to Qt 5.15.2. I think this is some kind of bug. It looks like the thread of the 3D engine is somehow blocks the QSerialPort thread or blocks the main thread.


        No reviews matched the request. Check your Options in the drop-down menu of this sections header.



            seanharmer Sean Harmer
            vladimir_sazonov Vladimir Sazonov
            1 Vote for this issue
            2 Start watching this issue



                Gerrit Reviews

                There are no open Gerrit changes