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

Application is hogged while performing BLE scan due to blocking dbus calls

    XMLWordPrintable

    Details

    • Type: Suggestion
    • Status: Closed
    • Priority: P2: Important
    • Resolution: Done
    • Affects Version/s: 5.13.0
    • Fix Version/s: 5.14.0 Alpha
    • Labels:
      None
    • Platform/s:
      Linux/X11
    • Commits:
      2c6dcc643f29c212fca0ead123a377e96b9a17c9 (qt/qtconnectivity/5.14)

      Description

      When performing a Low Energy only scan in an environment with 25+ BLE devices (like in development), a lot of RSSI changes are  received from Bluez. In the  QBluetoothDeviceDiscoveryAgentPrivate::_q_PropertiesChanged function, a  OrgBluezDevice1Interface is instantiated every time and this is used to fetch properties from the device, with each property fetch leading to a blocking dbus call. This really makes the (qml) GUI really sluggish (I suspect because the _q_PropertiesChanged function is executed from the main event loop which also handles GUI interaction).

      A solution would be to cache the property map as it is received in the QBluetoothDeviceDiscoveryAgentPrivate::_q_InterfacesAdded function, update the cache in the QBluetoothDeviceDiscoveryAgentPrivate::_q_PropertiesChanged function and create and update the QBluetoothDeviceInfo instances from that cache.

       

        Attachments

        For Gerrit Dashboard: QTBUG-77390
        # Subject Branch Project Status CR V

          Activity

            People

            • Assignee:
              ablasche Alex Blasche
              Reporter:
              ThiemoVanEngelen Thiemo van Engelen
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Gerrit Reviews

                There are no open Gerrit changes