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

[Bluetooth] Conditionally disable detailed service discovery during device discovery on Windows

XMLWordPrintable

    • Icon: Suggestion Suggestion
    • Resolution: Unresolved
    • Icon: P3: Somewhat important P3: Somewhat important
    • None
    • 6.5.0
    • None
    • Windows
    • 5

      Currently when a BTLE device discovery is done on Windows, we not only take the list of Service UUIDs from the advertisement data, but also explicitly request for all service details of the newly-found device. This operation is very resource-consuming, compared to general device discovery, and it can lead to high CPU usage with some BT adapters / in some BT environments. The situation was partly improved in QTBUG-111116, but it's still not optimal.

      Reading the source code of other backends, I see that Windows is the only backend that actually does the detailed discovery. All other backends simply use the data received from the advertisement.

      Obviously, we cannot just remove the detailed discovery on Windows, because there might be users that rely on this behavior. But probably we could consider introducing an environment variable, which, when set, will disable the detailed scan?

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

            mecfc Miguel Costa
            ivan.solovev Ivan Solovev
            Vladimir Minenko Vladimir Minenko
            Alex Blasche Alex Blasche
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated: