title: WPF realtime chart application architecture
body: <p>I have the following scenario in mind:</p>
  
  <p>I want to send (via serial port) some commands to a device. This device does send me back a continuous stream of data (max. 12000 values per second).</p>
  
  <p>To control some settings I need some buttons to send commands to the device to start/stop/change settings before and during data stream. Also I want to have a real time plot of this data. I will filter this data of course. Also at certain timestamps there will be a signal which indicates that I want to cut out a certain window of the received data.</p>
  
  <p>This means I will have two charts. I made already some progress using WPF but now when I interact (zoom/pan) with the lower chart, the upper one freezes noticeable. This is because both have do be refreshed very often!</p>
  
  <p>Work (data receiving/filtering) is done using threads but the update of the plot has to be done within the ui thread. </p>
  
  <p>Any ideas how to solve this issue? Maybe using multiple processes?</p>
  
  <p><img src="https://i.stack.imgur.com/uZOoz.gif" alt="enter image description here"></p>