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

3D engine periodically blocks QSerialPort thread or main thread

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • P1: Critical
    • None
    • 5.15.2, 5.15.3, 6.2.1, 6.2.3, 6.3.0 Beta1
    • Qt3D, Serial Port
    • None
    • Ubuntu 20.04 with X and without X (eglfs)
      Ubuntu 18.04 with X and without X (eglfs)
      Boot2Qt 5.15.3 Intel NUC
    • Linux/X11, Linux/Yocto, Linux/Other display system

    Description

      Hello!

      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.

      Attachments

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

        Activity

          People

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

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There are no open Gerrit changes