]> sigrok.org Git - pulseview.git/commit
DecodeSignal: Adjust the DecodeChunkLength
authorSoeren Apel <redacted>
Sun, 21 May 2017 22:24:10 +0000 (00:24 +0200)
committerUwe Hermann <redacted>
Wed, 5 Jul 2017 22:37:08 +0000 (00:37 +0200)
commit3fbddf7f0e83fe72b8f0e0e69faf05579c096f84
treeb361b6fdafd22a0719087db59084ab8962c2f0d6
parent5b6ae10391736ab2f81de851686dee15bbcbf9f9
DecodeSignal: Adjust the DecodeChunkLength

The initial 4096 was too low, though it did make the UI
quite responsive. In 9cc264 it was increased to 10*1024*1024
to speed up decoding but that makes the UI stall very badly
under certain circumstances (e.g. when changing the baud rate
for UART by entering digits).
The reason is that every time a decoder property is changed,
the decode is restarted. Restarting the decode means that
the currently running processes need to shut down, so
they're told to do so and the GUI thread waits for them
to finish.
However, the srd_session_send() call is blocking, meaning
that libsrd will happily block the PV GUI thread until it's
done processing the current chunk of data.

For this reason, DecodeChunkLength can't be too high and
256*1024 looks like a reasonable compromise for now.
pv/data/decodesignal.cpp