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

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

    XMLWordPrintable

Details

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

    Description

      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?

      Attachments

        Issue Links

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

          Activity

            People

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

              Dates

                Created:
                Updated:

                Gerrit Reviews