Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.graphics.apps.gnuplot > #2588 > unrolled thread
| Started by | jesramsing@gmail.com |
|---|---|
| First post | 2014-09-22 04:20 -0700 |
| Last post | 2014-09-24 17:17 +0200 |
| Articles | 4 — 4 participants |
Back to article view | Back to comp.graphics.apps.gnuplot
Large plot performance help jesramsing@gmail.com - 2014-09-22 04:20 -0700
Re: Large plot performance help Ethan A Merritt <EAMerritt@gmail.com> - 2014-09-22 08:54 -0700
Re: Large plot performance help Hans-Bernhard Bröker <HBBroeker@t-online.de> - 2014-09-22 20:23 +0200
Re: Large plot performance help Karl <mail.kfr@gmx.net> - 2014-09-24 17:17 +0200
| From | jesramsing@gmail.com |
|---|---|
| Date | 2014-09-22 04:20 -0700 |
| Subject | Large plot performance help |
| Message-ID | <ad72a35f-3953-4971-b5d4-0748d2b030ad@googlegroups.com> |
I have some reasonable sized 3D arrays that I am working with (~3500 x 488 x 1) which basically is a height map. gnuplot> set xlabel 'X' gnuplot> set ylabel 'Y' gnuplot> set zlabel 'Z' gnuplot> set palette gnuplot> splot 'c:\temp\ShowDoubleArray_OD5_RAP10.RawData.txt' with lines palette 0 0 0.0343 0 1 0.0345 . . 0 487 0.035 1 0 0.0343 1 1 0.044 etc. The performance is quite bad when I try to rotate it. The current file I am working on is 28megs, but since I am running on an I7 with Flashdisk then it should not take long to load. At least I have an analytical application also working with this file, and file IO is fast. Any performance tips that someone can propose (and downscaling is not the answer, I am looking for some minute details that are apparent in GnuPlot) Yours sincerely and with appreciation. Jes R.
[toc] | [next] | [standalone]
| From | Ethan A Merritt <EAMerritt@gmail.com> |
|---|---|
| Date | 2014-09-22 08:54 -0700 |
| Message-ID | <lvpgo1$kqe$1@dont-email.me> |
| In reply to | #2588 |
jesramsing@gmail.com wrote:
> I have some reasonable sized 3D arrays that I am working with (~3500 x
> 488 x 1) which basically is a height map.
>
> gnuplot> set xlabel 'X'
> gnuplot> set ylabel 'Y'
> gnuplot> set zlabel 'Z'
> gnuplot> set palette
> gnuplot> splot 'c:\temp\ShowDoubleArray_OD5_RAP10.RawData.txt' with
> lines palette
>
> 0 0 0.0343
> 0 1 0.0345
> .
> .
> 0 487 0.035
>
> 1 0 0.0343
> 1 1 0.044 etc.
>
> The performance is quite bad when I try to rotate it.
The speed of interactive graphics depends strongly on which output
mode ("terminal") you are using. In older gnuplot versions, typically
x11 (fastest) > wxt > Windows > qt
However in recent gnuplot versions both the wxt and qt terminals were
redesigned and became amazingly faster. On my linux machines currently,
qt is about 50% faster than wxt, and about 4 times faster than x11.
I have not benchmarked on Windows.
> The current file
> I am working on is 28megs, but since I am running on an I7 with
> Flashdisk then it should not take long to load. At least I have an
> analytical application also working with this file, and file IO is
> fast.
Depending on what type of graph you are producing, each screen
refresh (i.e. each incremental rotation) may require rereading the
data file and replotting. So file access time can indeed be an issue.
> Any performance tips that someone can propose (and downscaling is not
> the answer, I am looking for some minute details that are apparent in
> GnuPlot)
On some platforms the processing of floating point number read from
a file is slowed down by error checking.
You can disable this with the command
set datafile nofpe_trap
> Yours sincerely and with appreciation.
> Jes R.
[toc] | [prev] | [next] | [standalone]
| From | Hans-Bernhard Bröker <HBBroeker@t-online.de> |
|---|---|
| Date | 2014-09-22 20:23 +0200 |
| Message-ID | <c8b7opFk6emU1@mid.dfncis.de> |
| In reply to | #2588 |
Am 22.09.2014 um 13:20 schrieb jesramsing@gmail.com: > I have some reasonable sized 3D arrays that I am working with (~3500 > x 488 x 1) which basically is a height map. Actually that's quite a bit larger than "reasonable". There's no way you'll be able to make out the level of detail of those data on-screen. You have about as many data points in there as pixels on any feasible screen --- there's just no way you'll be able to make out lines between those points, at that resolution. So you might as well plot that mass of data 'with dots'. That should be faster, too. > The performance is quite bad when I try to rotate it. The current > file I am working on is 28megs, but since I am running on an I7 with > Flashdisk then it should not take long to load. What you probably don't recognize is that gnuplot may have to re-read that entire data file on every step of that rotation. And it has to parse it all from decimal ASCII to binary float every time. That's what makes this so slow: 1.7 million scanf() calls per re-draw will take time. A binary data file would be a good deal smaller, and much faster to handle.
[toc] | [prev] | [next] | [standalone]
| From | Karl <mail.kfr@gmx.net> |
|---|---|
| Date | 2014-09-24 17:17 +0200 |
| Message-ID | <lvun4i$qv0$1@news.rz.uni-karlsruhe.de> |
| In reply to | #2591 |
Am 22.09.2014 20:23, schrieb Hans-Bernhard Bröker: > What you probably don't recognize is that gnuplot may have to re-read > that entire data file on every step of that rotation. And it has to The help on "refresh" says that mousing operations will use the data already read in, if "appropriate". Now you say refesh "may" not work on 3D rotation, i wonder what could make it work or not work? ( "refresh" reuses the data after a "using" statement has been applied, is that right? ) Karl
[toc] | [prev] | [standalone]
Back to top | Article view | comp.graphics.apps.gnuplot
csiph-web