Latency before first Characteristic ValueChanged Event
We are developing a BLE notepad, https://www.xp-pen.com/product/516.html
SDK available: https://github.com/woodemi/notepad-sdk-uwp
The notepad collects 200
NotePenPointer per seconds and transfers the data though BLE.
But there seem to be a latency before the GattCharacteristic.ValueChanged triggered
I've tried the
BluetoothLEExplorer, same issure. Is there any work around?
When developing on Android, we use BluetoothGatt#requestConnectionPriority to solve a similiar problem.
Can you please use this guidance to provide your Bluetooth log for us to check? This will be more helpful.
Sure. Right now
Can you please collect the traces again? This time start with the device disconnected, connection and then the perceived delay. If you can quantify the delay/latency you are perceiving that would also help. The trace you shared does not show 200 events per second and does not show any delay in the OS.
The latency comes the first time when the notepad starts to report the data, not between each
When the pen put down on the notepad, notepad starts to report the
Android/iOS/MacOS receives the first report at once, but Windows couldn't until 500ms~800ms later.
After the first report latency, Windows works well. NO latency between following
Hi, can you refresh/reupload the link again? Unfortunately it has expired already when I want to download it.
From the trace, we saw a 24 seconds gap between the connection established and the first notification from the device. This doesn’t seem to align with the 500ms-800ms. Can you provide a description of what happened in the latest trace?
There a video showing how the notepad work. As you can see, when the first pen down, there is a latency before the canvas drawing
We take some investigation and it seems that the BLE on Win10 will
ValueChangedevent in 500ms.
As a workaround, we update the notepad firmware and keep heartbeat notifications to Win10 within every 50ms. It works.
OK, glad you solved it.
It just a workaround for demo. The heartbeat consumes battery vary fast.
Could we find something like BluetoothGatt#requestConnectionPriority to eleminate the latency?
We still need traces where the latency happens and enough description to identify the perceived latency. Whether that is a video that was captured along the tracing or more descriptions of the timing of the repro. Can you provide more details about them?
Sure. I'll make a UWP project to simulate our notepad.
OK, once you have finished, please share it and provide the details needed above.
Hi, is there any update?
Sign in to comment