I have a real-time plotting application with multiple plots in one window that I would like to speed up some.  The code is

 

plspage(0,0,2000,430,0,0);

plsdev(“xwin”);

plsetopt(“drvopt”,”nobuffered=1”);

plinit();

 

plssub(2,1);

 

while(1){

  //get updated data

  getdataPlot1(data_1);

  getdataPlot2(data_2);

 

//update subplot 1

pladv(1);

plenv0(0.0, 1000, 0, 1000, 0, 1);

pllab(“time”,”amp”,”data plot 1”);

plshades(data_1, 1000,1000,NULL,0,1000,0,1000,……);

 

//update subplot 2

pladv(2);

plenv0(0.0, 1000, 0, 1000, 0, 1);

pllab(“time”,”amp”,”data plot 2”);

plshades(data_2, 1000,1000,NULL,0,1000,0,1000,……);

}//end while(1)

 

However, the call to plshades that renders to the screen is too slow for my needs.  Is there a way to “speed up” plplot?  Would a GPU help?

 

Is there a more efficient way to do real-time plotting?

 

Thank you for your assistance.


Tom