Hi,
Mark Wilson wrote:
> Hi Werner,
>
> Thanks for your attention to this. I'm working on a Solaris box using
> the default Sun video card (don't know much about it's capabilities, but
> I can probably find out), with the plplotcanvas. One reason we want to
> use the canvas (which is just fine for 95% of our apps in term of speed)
> is that we can easily integrate it into our Gtk GUI's, say in a frame or
> on a notebook page or whatever. It is my understanding that the xwin
> driver would pop the graph up in a separate window, which isn't ideal in
> our environment for various reasons. I suppose if we can tell the xwin
> driver what X window ID to use, that may work...
You could first try to unbeautify plplot_canvas. First be sure that you
don't use freetype (which is nice but slow) with this function (I believe):
void plplot_canvas_use_text(PlplotCanvas* self,gboolean use_text)
Next, you have to hack the plplot code, check the following function in
bindings/gnome2/lib/plplotcanvas.c
PlplotCanvas* plplot_canvas_new() {
PlplotCanvas *canvas;
canvas = PLPLOT_CANVAS(g_object_new(PLPLOT_TYPE_CANVAS,"aa",TRUE,NULL));
plplot_canvas_devinit(canvas);
return canvas;
}
I don't know gnome, but I believe >> "aa",TRUE, << means antialized
output - turn this off with >> "aa",FALSE, << - and recompile plplot
library. I might actually be totally wrong, but maybe someone who knows
can comment on this.
But I believe using plplot_canvas_use_text should make the output
already considerably faster.
Regards,
Werner
>
> Mark
>
>
>
> Werner Smekal wrote:
>> Hi Mark,
>>
>> just because I was curious I wrote a little program, which does some
>> easy calculation and plots 1000 graphs. On Windows (Pentium M 1733Mhz)
>> I achieved framerates from 280FPS (wxWidgets driver) to 530 FPS
>> (wingcc) driver (using -drvopt text=0 to disable antialized text). The
>> xwin driver might even be faster on Linux. Anyway, as long as you
>> don't have surface plots, I can't see any problems even for
>> complicated lineplots.
>>
>> So to answer your question - plplot performance should be good enough
>> for 5Hz plots.
>>
>> HTH,
>> Werner
>>
>>
>> #include <time.h>
>> #include <math.h>
>>
>> #include "plplot.h"
>>
>> #define PC_e 1.60217653e-19 /* elementary charge e
>> [C] */
>> #define PC_me 9.1093826e-31 /* mass of electron me
>> [kg] */
>>
>> #define NP 1001 /* number of points */
>> #define MAX(a, b) ((a)<(b)?(b):(a))
>> #define MIN(a, b) ((a)<(b)?(a):(b))
>>
>> int main( int argc, char *argv[] )
>> {
>> PLFLT x[NP], y[NP];
>> PLFLT xmin, xmax;
>> PLFLT ymin=1e30, ymax=1e-30;
>> PLFLT r_c;
>> size_t i,counter;
>> clock_t watch;
>> float duration;
>>
>> plparseopts( &argc, argv, PL_PARSE_FULL );
>> plinit();
>> plspause(0);
>>
>> watch=clock();
>> for(counter=0; counter<1000; counter++) {
>> xmin=0.0001;
>> xmax=0.0020+counter/50.0;
>> r_c=0.02; /* maximum cyclotron radius */
>> for( i=0; i<NP; i++ ) {
>> x[i] = (xmax-xmin)*i/NP+xmin;
>> y[i] = (pow(x[i]*PC_e*r_c, 2.0)/2.0/PC_me)/PC_e;
>> ymin=MIN( ymin, y[i] );
>> ymax=MAX( ymax, y[i] );
>> }
>>
>> plcol0( 1 );
>> plenv( xmin, xmax, ymin, ymax, 0, 0 );
>> plcol0( 2 );
>> pllab( "Magnetic field [T]", "Energy [eV]", "Energy Range");
>>
>> plcol0( 3 );
>> plline( NP, x, y );
>> }
>> duration=(float)(clock()-watch)/CLOCKS_PER_SEC;
>> printf("%f sec, FPS %f\n", duration, 1000.0/duration );
>>
>> /* Don't forget to call plend() to finish off! */
>> plend();
>> exit(0);
>> }
>>
>>
>>
>> Mark Wilson wrote:
>>> Hello,
>>>
>>> We need to update a graph at about a 5Hz rate, and the
>>> plplot canvas doesn't seem able to keep up with that
>>> (takes 200 to 300 ms to update graph). I'm wondering if
>>> this is something to be expected, or if we're doing
>>> something wrong (I don't expect anyone to tell me what I
>>> may or may not be doing wrong, I'm just looking for
>>> general info on performance).
>>>
>>> Thanks,
>>> Mark
>>>
>>> -------------------------------------------------------------------------
>>>
>>> Take Surveys. Earn Cash. Influence the Future of IT
>>> Join SourceForge.net's Techsay panel and you'll get the chance to
>>> share your
>>> opinions on IT & business topics through brief surveys - and earn cash
>>> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
>>>
>>> _______________________________________________
>>> Plplot-general mailing list
>>> [email protected]
>>> https://lists.sourceforge.net/lists/listinfo/plplot-general
>>
>>
--
Dipl. Ing. Werner Smekal
Institut fuer Allgemeine Physik
Technische Universitaet Wien
Wiedner Hauptstr 8-10
A-1040 Wien
Austria
email: [EMAIL PROTECTED]
web: http://www.iap.tuwien.ac.at/~smekal
phone: +43-(0)1-58801-13463 (office)
+43-(0)1-58801-13469 (laboratory)
fax: +43-(0)1-58801-13499
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier.
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Plplot-general mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/plplot-general