|
From: Daniel J S. <dan...@ie...> - 2005-06-29 16:53:40
|
Petr Mikulik wrote: >> I'm still not clear on why you can't wrap your widget set around >> a window and then use gnuplot's existing x11 terminal driver to >> draw in that window. Probably I am misunderstanding the control >> flow. > > > In addition to portability of this GUI-based terminal (with menus), > there will be one immediate gain for current X11 users: speed. As the > gnuplot -> gnuplot_x11 is still ascii with millions of sprintf() and > sscanf(), the new wx terminal will have the transfer speed of the > Windows terminal. Drawing maps, surfaces and images will be considerabl > faster. A comparison should be done, but I wouldn't immediately reach that conclusion. The use of sscanf is definitely not a winner, but Hans' and Ethan's discussion with that speed bug one user reported suggests the problem lies in long lines that have many elements to be scanned. (I.e., that principle Hans' concluded a few years ago in a different discussion list and then forgot.) The sscanf's in the X11 driver are of the variety where only a few items are read (e.g., coordinates) followed by a newline character. That means there are a *lot* of lines in the plot buffer, but they are short and avoid the slow-down issue somewhat. Furthermore, if one chooses the "binary transfer" option I implemented for large data sets such as images and pm3d surfaces (which I think is on by default now and over the past year there have been no complaints about treating an ASCII character as 8 bits of binary data), that should help matters. I don't know what the overhead for refreshing an X11 widget based plot are, but my experience is that the refresh of gnuplot_x11 seems not too bad. A comparison would be interesting. Dan |