Skip to content

Commit f99698d

Browse files
committed
Changed InstrumentThread sleep to 1ms, updated to newer faster scopehal
1 parent eb6ec7f commit f99698d

File tree

3 files changed

+6
-5
lines changed

3 files changed

+6
-5
lines changed

release-notes/CHANGELOG.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@ This is a running list of significant bug fixes and new features since the last
44

55
## New features since v0.1.1
66

7-
* Drivers: ThunderScope now overlaps socket IO and GPU processing of waveforms giving a 10-15% speedup
7+
* Core: Changed rate limiting sleep in InstrumentThread loop from 10ms to 1ms to avoid bogging down high performance instruments like the ThunderScope
8+
* Drivers: ThunderScope now overlaps socket IO and GPU processing of waveforms giving a significant increase in WFM/s rate
89
* Filters: CDR PLL is now GPU accelerated for the common case (no gating, deep waveform) and runs about 7.5x faster (https://github.com/ngscopeclient/scopehal/issues/977)
910
* Filters: CDR PLL now outputs the input signal sampled by the recovered clock in a second data stream.
1011
* Filters: 100baseTX Ethernet is now GPU accelerated for a subset of processing and runs about 2.5x faster than before

src/ngscopeclient/InstrumentThread.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ void InstrumentThread(InstrumentThreadArgs args)
7878
while(!*args.shuttingDown)
7979
{
8080
//Flush any pending commands
81-
inst->GetTransport()->FlushCommandQueue();
81+
inst->BackgroundProcessing();
8282

8383
//Scope processing
8484
if(scope)
@@ -253,9 +253,9 @@ void InstrumentThread(InstrumentThreadArgs args)
253253
//TODO: does this make sense to do in the instrument thread?
254254
session->RefreshDirtyFiltersNonblocking();
255255

256-
//Rate limit to 100 Hz to avoid saturating CPU with polls
256+
//Rate limit to 1 kHz to avoid saturating CPU with polls
257257
//(this also provides a yield point for the gui thread to get mutex ownership etc)
258-
this_thread::sleep_for(chrono::milliseconds(10));
258+
this_thread::sleep_for(chrono::milliseconds(1));
259259
}
260260

261261
LogTrace("Shutting down instrument thread\n");

0 commit comments

Comments
 (0)