QT BLE scanner example causes high cpu usage
-
Using latest build of Windows 10 + Qt 6.4.2. Built and ran Qt Bluetooth Low Energy Scanner example. Its causing 100% cpu usage in process "Service Host: Device Association Service". The scan takes several minutes to complete and only addresses of LE devices are displayed - not their names?
OTOH, I tried Windows Universal App sample Ble scanner. It doesn't result in high cpu usage, scan completes quickly and it also displays name of the ble peripheral.
Considering QBluetooth uses winrt backend, why such a huge difference in behavior? Is there a way to replicate windows universal app behavior?
-
Using latest build of Windows 10 + Qt 6.4.2. Built and ran Qt Bluetooth Low Energy Scanner example. Its causing 100% cpu usage in process "Service Host: Device Association Service". The scan takes several minutes to complete and only addresses of LE devices are displayed - not their names?
OTOH, I tried Windows Universal App sample Ble scanner. It doesn't result in high cpu usage, scan completes quickly and it also displays name of the ble peripheral.
Considering QBluetooth uses winrt backend, why such a huge difference in behavior? Is there a way to replicate windows universal app behavior?
Update: Looked at debug output of both apps. Qt sample outputs loads of errors
onecoreuap\drivers\wdm\bluetooth\user\winrt\common\devquerydevpropprovider.cpp(297)\Windows.Devices.Bluetooth.dll!00007FF854E20C10: (caller: 00007FF854E20698) ReturnHr(1) tid(3c4c0) 80070490 Element not found. onecoreuap\drivers\wdm\bluetooth\user\winrt\common\devquerydevpropprovider.cpp(131)\Windows.Devices.Bluetooth.dll!00007FF854E206EC: (caller: 00007FF854E35B5A) ReturnHr(2) tid(3c4c0) 80070490 Element not found. onecoreuap\drivers\wdm\bluetooth\user\winrt\device\bluetoothledevice.cpp(1597)\Windows.Devices.Bluetooth.dll!00007FF854E35B72: (caller: 00007FF854E30BC0) LogHr(1) tid(3c4c0) 80070490 Element not found. onecoreuap\drivers\wdm\bluetooth\user\winrt\common\devquerydevpropprovider.cpp(297)\Windows.Devices.Bluetooth.dll!00007FF854E20C10: (caller: 00007FF854E20698) ReturnHr(3) tid(39234) 80070490 Element not found. onecoreuap\drivers\wdm\bluetooth\user\winrt\common\devquerydevpropprovider.cpp(131)\Windows.Devices.Bluetooth.dll!00007FF854E206EC: (caller: 00007FF854E35B5A) ReturnHr(4) tid(39234) 80070490 Element not found. onecoreuap\drivers\wdm\bluetooth\user\winrt\device\bluetoothledevice.cpp(1597)\Windows.Devices.Bluetooth.dll!00007FF854E35B72: (caller: 00007FF854E30BC0) LogHr(2) tid(39234) 80070490 Element not found. onecoreuap\drivers\wdm\bluetooth\user\winrt\common\devquerydevpropprovider.cpp(297)\Windows.Devices.Bluetooth.dll!00007FF854E20C10: (caller: 00007FF854E20698) ReturnHr(5) tid(3abdc) 80070490 Element not found. onecoreuap\drivers\wdm\bluetooth\user\winrt\common\devquerydevpropprovider.cpp(131)\Windows.Devices.Bluetooth.dll!00007FF854E206EC: (caller: 00007FF854E35B5A) ReturnHr(6) tid(3abdc) 80070490 Element not found. onecoreuap\drivers\wdm\bluetooth\user\winrt\device\bluetoothledevice.cpp(1597)\Windows.Devices.Bluetooth.dll!00007FF854E35B72: (caller: 00007FF854E30BC0) LogHr(3) tid(3abdc) 80070490 Element not found. onecoreuap\drivers\wdm\bluetooth\user\winrt\common\devquerydevpropprovider.cpp(297)\Windows.Devices.Bluetooth.dll!00007FF854E20C10: (caller: 00007FF854E20698) ReturnHr(7) tid(3a834) 80070490 Element not found. onecoreuap\drivers\wdm\bluetooth\user\winrt\common\devquerydevpropprovider.cpp(131)\Windows.Devices.Bluetooth.dll!00007FF854E206EC: (caller: 00007FF854E35B5A) ReturnHr(8) tid(3a834) 80070490 Element not found. onecoreuap\drivers\wdm\bluetooth\user\winrt\device\bluetoothledevice.cpp(1597)\Windows.Devices.Bluetooth.dll!00007FF854E35B72: (caller: 00007FF854E30BC0) LogHr(4) tid(3a834) 80070490 Element not found. onecoreuap\drivers\wdm\bluetooth\user\winrt\common\devquerydevpropprovider.cpp(297)\Windows.Devices.Bluetooth.dll!00007FF854E20C10: (caller: 00007FF854E20698) ReturnHr(9) tid(3b8ac) 80070490 Element not found. onecoreuap\drivers\wdm\bluetooth\user\winrt\common\devquerydevpropprovider.cpp(131)\Windows.Devices.Bluetooth.dll!00007FF854E206EC: (caller: 00007FF854E35B5A) ReturnHr(10) tid(3b8ac) 80070490 Element not found. onecoreuap\drivers\wdm\bluetooth\user\winrt\device\bluetoothledevice.cpp(1597)\Windows.Devices.Bluetooth.dll!00007FF854E35B72: (caller: 00007FF854E30BC0) LogHr(5) tid(3b8ac) 80070490 Element not found. onecoreuap\drivers\wdm\bluetooth\user\winrt\common\devquerydevpropprovider.cpp(297)\Windows.Devices.Bluetooth.dll!00007FF854E20C10: (caller: 00007FF854E20698) ReturnHr(11) tid(39c60) 80070490 Element not found. onecoreuap\drivers\wdm\bluetooth\user\winrt\common\devquerydevpropprovider.cpp(131)\Windows.Devices.Bluetooth.dll!00007FF854E206EC: (caller: 00007FF854E35B5A) ReturnHr(12) tid(39c60) 80070490 Element not found. onecoreuap\drivers\wdm\bluetooth\user\winrt\device\bluetoothledevice.cpp(1597)\Windows.Devices.Bluetooth.dll!00007FF854E35B72: (caller: 00007FF854E30BC0) LogHr(6) tid(39c60) 80070490 Element not found. onecoreuap\drivers\wdm\bluetooth\user\winrt\common\devquerydevpropprovider.cpp(297)\Windows.Devices.Bluetooth.dll!00007FF854E20C10: (caller: 00007FF854E20698) ReturnHr(13) tid(3830c) 80070490 Element not found. onecoreuap\drivers\wdm\bluetooth\user\winrt\common\devquerydevpropprovider.cpp(131)\Windows.Devices.Bluetooth.dll!00007FF854E206EC: (caller: 00007FF854E35B5A) ReturnHr(14) tid(3830c) 80070490 Element not found. onecoreuap\drivers\wdm\bluetooth\user\winrt\device\bluetoothledevice.cpp(1597)\Windows.Devices.Bluetooth.dll!00007FF854E35B72: (caller: 00007FF854E30BC0) LogHr(7) tid(3830c) 80070490 Element not found. onecoreuap\drivers\wdm\bluetooth\user\winrt\common\devquerydevpropprovider.cpp(297)\Windows.Devices.Bluetooth.dll!00007FF854E20C10: (caller: 00007FF854E20698) ReturnHr(15) tid(393bc) 80070490 Element not found. onecoreuap\drivers\wdm\bluetooth\user\winrt\common\devquerydevpropprovider.cpp(131)\Windows.Devices.Bluetooth.dll!00007FF854E206EC: (caller: 00007FF854E35B5A) ReturnHr(16) tid(393bc) 80070490 Element not found. onecoreuap\drivers\wdm\bluetooth\user\winrt\device\bluetoothledevice.cpp(1597)\Windows.Devices.Bluetooth.dll!00007FF854E35B72: (caller: 00007FF854E30BC0) LogHr(8) tid(393bc) 80070490 Element not found. onecoreuap\drivers\wdm\bluetooth\user\winrt\common\devquerydevpropprovider.cpp(297)\Windows.Devices.Bluetooth.dll!00007FF854E20C10: (caller: 00007FF854E20698) ReturnHr(17) tid(30940) 80070490 Element not found. onecoreuap\drivers\wdm\bluetooth\user\winrt\common\devquerydevpropprovider.cpp(131)\Windows.Devices.Bluetooth.dll!00007FF854E206EC: (caller: 00007FF854E35B5A) ReturnHr(18) tid(30940) 80070490 Element not found. onecoreuap\drivers\wdm\bluetooth\user\winrt\device\bluetoothledevice.cpp(1597)\Windows.Devices.Bluetooth.dll!00007FF854E35B72: (caller: 00007FF854E30BC0) LogHr(9) tid(30940) 80070490 Element not found. onecoreuap\drivers\wdm\bluetooth\user\winrt\common\devquerydevpropprovider.cpp(297)\Windows.Devices.Bluetooth.dll!00007FF854E20C10: (caller: 00007FF854E20698) ReturnHr(19) tid(35a8c) 80070490 Element not found. onecoreuap\drivers\wdm\bluetooth\user\winrt\common\devquerydevpropprovider.cpp(131)\Windows.Devices.Bluetooth.dll!00007FF854E206EC: (caller: 00007FF854E35B5A) ReturnHr(20) tid(35a8c) 80070490 Element not found. onecoreuap\drivers\wdm\bluetooth\user\winrt\device\bluetoothledevice.cpp(1597)\Windows.Devices.Bluetooth.dll!00007FF854E35B72: (caller: 00007FF854E30BC0) LogHr(10) tid(35a8c) 80070490 Element not found. onecoreuap\drivers\wdm\bluetooth\user\winrt\common\devquerydevpropprovider.cpp(297)\Windows.Devices.Bluetooth.dll!00007FF854E20C10: (caller: 00007FF854E20698) ReturnHr(21) tid(3ca50) 80070490 Element not found. onecoreuap\drivers\wdm\bluetooth\user\winrt\common\devquerydevpropprovider.cpp(131)\Windows.Devices.Bluetooth.dll!00007FF854E206EC: (caller: 00007FF854E35B5A) ReturnHr(22) tid(3ca50) 80070490 Element not found. onecoreuap\drivers\wdm\bluetooth\user\winrt\device\bluetoothledevice.cpp(1597)\Windows.Devices.Bluetooth.dll!00007FF854E35B72: (caller: 00007FF854E30BC0) LogHr(11) tid(3ca50) 80070490 Element not found. onecoreuap\drivers\wdm\bluetooth\user\winrt\common\devquerydevpropprovider.cpp(297)\Windows.Devices.Bluetooth.dll!00007FF854E20C10: (caller: 00007FF854E20698) ReturnHr(23) tid(3d8ac) 80070490 Element not found. onecoreuap\drivers\wdm\bluetooth\user\winrt\common\devquerydevpropprovider.cpp(131)\Windows.Devices.Bluetooth.dll!00007FF854E206EC: (caller: 00007FF854E35B5A) ReturnHr(24) tid(3d8ac) 80070490 Element not found. onecoreuap\drivers\wdm\bluetooth\user\winrt\device\bluetoothledevice.cpp(1597)\Windows.Devices.Bluetooth.dll!00007FF854E35B72: (caller: 00007FF854E30BC0) LogHr(12) tid(3d8ac) 80070490 Element not found. Exception thrown at 0x00007FF87DEFCD29 (KernelBase.dll) in lowenergyscanner.exe: WinRT originate error - 0x80010108 : 'The object invoked has disconnected from its clients.'. Exception thrown at 0x00007FF87DEFCD29 (KernelBase.dll) in lowenergyscanner.exe: WinRT originate error - 0x80010108 : 'The object invoked has disconnected from its clients.'. Exception thrown at 0x00007FF87DEFCD29 (KernelBase.dll) in lowenergyscanner.exe: WinRT originate error - 0x80010108 : 'The object invoked has disconnected from its clients.'. Exception thrown at 0x00007FF87DEFCD29 (KernelBase.dll) in lowenergyscanner.exe: WinRT originate error - 0x80010108 : 'The object invoked has disconnected from its clients.'. Exception thrown at 0x00007FF87DEFCD29 (KernelBase.dll) in lowenergyscanner.exe: WinRT originate error - 0x80010108 : 'The object invoked has disconnected from its clients.'. Exception thrown at 0x00007FF87DEFCD29 (KernelBase.dll) in lowenergyscanner.exe: WinRT originate error - 0x80010108 : 'The object invoked has disconnected from its clients.'. Exception thrown at 0x00007FF87DEFCD29 (KernelBase.dll) in lowenergyscanner.exe: WinRT originate error - 0x80010108 : 'The object invoked has disconnected from its clients.'. Exception thrown at 0x00007FF87DEFCD29 (KernelBase.dll) in lowenergyscanner.exe: WinRT originate error - 0x80010108 : 'The object invoked has disconnected from its clients.'. Exception thrown at 0x00007FF87DEFCD29 (KernelBase.dll) in lowenergyscanner.exe: WinRT originate error - 0x80010108 : 'The object invoked has disconnected from its clients.'. Exception thrown at 0x00007FF87DEFCD29 (KernelBase.dll) in lowenergyscanner.exe: WinRT originate error - 0x80010108 : 'The object invoked has disconnected from its clients.'. Exception thrown at 0x00007FF87DEFCD29 (KernelBase.dll) in lowenergyscanner.exe: WinRT originate error - 0x80010108 : 'The object invoked has disconnected from its clients.'. Exception thrown at 0x00007FF87DEFCD29 (KernelBase.dll) in lowenergyscanner.exe: WinRT originate error - 0x80010108 : 'The object invoked has disconnected from its clients.'. Exception thrown at 0x00007FF87DEFCD29 (KernelBase.dll) in lowenergyscanner.exe: WinRT originate error - 0x80010108 : 'The object invoked has disconnected from its clients.'. Exception thrown at 0x00007FF87DEFCD29 (KernelBase.dll) in lowenergyscanner.exe: WinRT originate error - 0x80010108 : 'The object invoked has disconnected from its clients.'. Exception thrown at 0x00007FF87DEFCD29 (KernelBase.dll) in lowenergyscanner.exe: WinRT originate error - 0x80010108 : 'The object invoked has disconnected from its clients.'. Exception thrown at 0x00007FF87DEFCD29 (KernelBase.dll) in lowenergyscanner.exe: WinRT originate error - 0x80010108 : 'The object invoked has disconnected from its clients.'. Exception thrown at 0x00007FF87DEFCD29 (KernelBase.dll) in lowenergyscanner.exe: WinRT originate error - 0x80010108 : 'The object invoked has disconnected from its clients.'. Exception thrown at 0x00007FF87DEFCD29 (KernelBase.dll) in lowenergyscanner.exe: WinRT originate error - 0x80010108 : 'The object invoked has disconnected from its clients.'. Exception thrown at 0x00007FF87DEFCD29 (KernelBase.dll) in lowenergyscanner.exe: WinRT originate error - 0x80010108 : 'The object invoked has disconnected from its clients.'. Exception thrown at 0x00007FF87DEFCD29 (KernelBase.dll) in lowenergyscanner.exe: WinRT originate error - 0x80010108 : 'The object invoked has disconnected from its clients.'. Exception thrown at 0x00007FF87DEFCD29 (KernelBase.dll) in lowenergyscanner.exe: WinRT originate error - 0x80010108 : 'The object invoked has disconnected from its clients.'. Exception thrown at 0x00007FF87DEFCD29 (KernelBase.dll) in lowenergyscanner.exe: WinRT originate error - 0x80010108 : 'The object invoked has disconnected from its clients.'. Exception thrown at 0x00007FF87DEFCD29 (KernelBase.dll) in lowenergyscanner.exe: WinRT originate error - 0x80010108 : 'The object invoked has disconnected from its clients.'. Exception thrown at 0x00007FF87DEFCD29 (KernelBase.dll) in lowenergyscanner.exe: WinRT originate error - 0x80010108 : 'The object invoked has disconnected from its clients.'. Exception thrown at 0x00007FF87DEFCD29 (KernelBase.dll) in lowenergyscanner.exe: WinRT originate error - 0x80010108 : 'The object invoked has disconnected from its clients.'. Exception thrown at 0x00007FF87DEFCD29 (KernelBase.dll) in lowenergyscanner.exe: WinRT originate error - 0x80010108 : 'The object invoked has disconnected from its clients.'. Exception thrown at 0x00007FF87DEFCD29 (KernelBase.dll) in lowenergyscanner.exe: WinRT originate error - 0x80010108 : 'The object invoked has disconnected from its clients.'. Exception thrown at 0x00007FF87DEFCD29 (KernelBase.dll) in lowenergyscanner.exe: WinRT originate error - 0x80010108 : 'The object invoked has disconnected from its clients.'. Exception thrown at 0x00007FF87DEFCD29 (KernelBase.dll) in lowenergyscanner.exe: WinRT originate error - 0x80010108 : 'The object invoked has disconnected from its clients.'. Exception thrown at 0x00007FF87DEFCD29 (KernelBase.dll) in lowenergyscanner.exe: WinRT originate error - 0x80010108 : 'The object invoked has disconnected from its clients.'. Exception thrown at 0x00007FF87DEFCD29 (KernelBase.dll) in lowenergyscanner.exe: WinRT originate error - 0x80010108 : 'The object invoked has disconnected from its clients.'. Exception thrown at 0x00007FF87DEFCD29 (KernelBase.dll) in lowenergyscanner.exe: WinRT originate error - 0x80010108 : 'The object invoked has disconnected from its clients.'. Exception thrown at 0x00007FF87DEFCD29 (KernelBase.dll) in lowenergyscanner.exe: WinRT originate error - 0x80010108 : 'The object invoked has disconnected from its clients.'. Exception thrown at 0x00007FF87DEFCD29 (KernelBase.dll) in lowenergyscanner.exe: WinRT originate error - 0x80010108 : 'The object invoked has disconnected from its clients.'. Exception thrown at 0x00007FF87DEFCD29 (KernelBase.dll) in lowenergyscanner.exe: WinRT originate error - 0x80010108 : 'The object invoked has disconnected from its clients.'. Exception thrown at 0x00007FF87DEFCD29 (KernelBase.dll) in lowenergyscanner.exe: WinRT originate error - 0x80010108 : 'The object invoked has disconnected from its clients.'. Exception thrown at 0x00007FF87DEFCD29 (KernelBase.dll) in lowenergyscanner.exe: WinRT originate error - 0x80010108 : 'The object invoked has disconnected from its clients.'. Exception thrown at 0x00007FF87DEFCD29 (KernelBase.dll) in lowenergyscanner.exe: WinRT originate error - 0x80010108 : 'The object invoked has disconnected from its clients.'. Exception thrown at 0x00007FF87DEFCD29 (KernelBase.dll) in lowenergyscanner.exe: WinRT originate error - 0x80010108 : 'The object invoked has disconnected from its clients.'. Exception thrown at 0x00007FF87DEFCD29 (KernelBase.dll) in lowenergyscanner.exe: WinRT originate error - 0x80010108 : 'The object invoked has disconnected from its clients.'.