I have a SimpleScatterPlot with between 1000 - 2500 data points. I am receiving new data points every 100 ms. I am calling updateDraw from a java.swing.timer to refresh the graph. However, when the graph was 1000 points and I am calling updateDraw every 100 ms, the process is using 100% of the CPU processing power. Is there a more efficient way I should be doing this?
Even though your data is collected every 100ms, this does not mean you have to display it at that rate. You can update the datasets at the 100msec rate, but only trigger the update of the graph using updateDraw once a second.
Yes I know. I have a seperate timer for updating the display that I can set to any timespan I want. However, the customer would prefer a real-time look to the graph. So, is there a way I can improve performance to allow for refreshing the graph every 100 - 200 ms?
Sorry, there is nothing that we can suggest that will increase the performance 5 to 10 times.
It is possible that our special services group could make a special SimpleScatterPlot function that is optimized for exactly what you are doing, and in that way increase performance. Contact sales@quinn-curtis.com and describe what you are looking for and they will reply back with their best estimate of what you might expect and a quote for writing the optimized SimpleScatterPlot class.