I’ve created a generalized UserControl that allows the user to add any number of charts. This control also has a shared X axis that all charts in it use. In another control, any number of these UserControls can be generated. When I have three or more of these controls, the graphing slows down tremendously. Upon profiling the program, the DoDrawingLoop function uses >70% of the CPU despite drawing very little.
In essence, if I have 8 charts in one of my controls it will be quite performant. If I have 2 charts in 4 different controls, then I experience incredible slowdown in the charts. I do have RenderPriority set to low. I turned the sample rate of the NI card I’m using down to 20 hz (to virtually eliminate any external load, the individual controls can handle 10000 hz with several charts quite easily) and the issue persists. This leads me to believe it may be a synchronization issue (perhaps overloading the UI thread, etc.)
Any other insight would be much appreciated.
VS2015 diagnostic report (96mb): https://drive.google.com/open?id=1tQajTLsp8U-Ws7IxlMGkXiNd8MSEbRaI