|
From: <jc...@fe...> - 2004-01-16 00:15:47
|
On Thursday 15 January 2004 09:27, Maurice LeBrun wrote:
| Jay Christnach writes:
| > hello again!
| > to answer my previous question:
| > My 50 channel oscilloscope application is feasible with plplot as graph
| > library. It is really fast. I use the polygon fill function to erase
| > previous plotted data.
| >
| > but another problem:
| > If I let the program run a long time my hard disk fills up. It took
| > some time to find out what file would get so huge, because the file
| > doesn't show up in the filesystem, because it is already deleted.
| > (funny phenomenon). #lsof -c scope
| > COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
| > (...)
| > scope 32031 root 6u REG 8,3 1415630848 19684
| > /tmp/tmpfXiOQuk (deleted)
|
| Heh. That looks like the plot buffer. As you create a plot under X, the
| plot buffer pseudo-device is written to, so that on window expose or redraw
| events, the prior contents of the window can be recovered. It's closed at
| every end-of-page, and my guess is that you aren't issuing any.. LOL.
| There really should be a size limitation on it though.. >1G is way, way too
| big. :)
|
| Although there is no API control for this, fortunately you do have access
| through the plplot stream pointer. You can disable writing to the plot
| buffer entirely by setting pls->plbuf_write to 0. Or keep it writing by
| default but control its contents through manipulating pls->plbufFile. See
| src/plbuf.c for more info.
If using the xwin driver, you can use the "-drvopt nobuffered" cmd line driver
option. Programatically, use plSetOpt("drvopt","nobuffered")
Joao
|