QuantumQuadrate / CsPyController

GNU Lesser General Public License v3.0
3 stars 3 forks source link

Needs for efficient, fast, downsampled plotting. no matplotlib plz.. #9

Open kwnminho opened 7 years ago

kwnminho commented 7 years ago

Plotting with matplotlib are very expensive and causes quite a lot of problems. They could be as small as adding tens of ms dead time on each cycle, or as catastrophic as halting the CsPyController. Following is the list of known issues.

1) AnalogInput : drawing figure slows down by tens of ms 2) Andor and other many update.figure methods : adds tens of ms 3) Functional Waveform Graph : When there is tons of information to plot, like thousands of 'on's and 'offs's, it will take forever to draw. It even happens at CsPy startup, when it loads the settings having the graph enabled.

My thoughts are to avoid matplotlib and implement similar feature with PyQtGraph or faster libraries. For Functional waveform and analog input graphs, rasterized or downsampled drawing option might be necessary to avoid drawing every bit of information.

Updated : Time usage for each post-measurement analyses are printed. Most of analyses take 0~2 ms, without figures. With figures 50 ~ 200 ms.

rbdev_time_with_figures rbdev_time_without_figures