From: Werner S. <sm...@ia...> - 2010-06-03 19:12:53
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi Steve, On 6/3/10 5:45 PM, Steve Schwartz wrote: > We've hit some timing problems, so I ran some experiments using a > trimmed and modified version of x01c that just plots the first graph, > full size window, with plpoin but with variable numbers of points; I > used code=25, circles, but I think it doesn't make much difference apart > from plotting simple points. My trials with 100,000 points (in a single > set of arrays) show the following approximate times for rendering the > plot on the screen, in secs: > > xwin 2.5 > tk 3 > xcairo 7.5 > qtwidget 27 > > The tk window will resize and refresh the plot in about 2 seconds. > Curiously, the qtwidget window takes 53 seconds to resize the plot, > i.e., double the original time. Of course, the qtwidget preserves > circles as circles on resize whereas the tk one doesn't. > > Plotting to files isn't so bad nor different. Here are some examples: > > psc 3 > svg 5 > pngcairo 7.5 > epsqt 7.2 > svgqt 7.2 > pngqt 5 > > I looked a bit at the plpoin() code and thought at first that the > problem was in the overhead to lookup and deal with all the hershey > stuff point by point rather than once for all the points, but the > resizing exercise suggests that the time is more likely associated with > talking to the screen (although the qt driver, like the xcairo one, > clearly draws off-screen and then flashes the result quickly). > > Is there any simple or obvious way to speed all this up for the > qtwidget? For so much symbols I would suggest to use the hershey fonts for symbols with pls->dev_hrshsym = 1; text will be drawn still nicely. But I'm sure qtwidget should be as fast as xcairo or close to, so if the 7.5 second are ok for you, I would definitely look how text plotting is managed in xcairo and in qtwidget. Since xcairo is that "fast", the bottleneck can't be the plplot library, it must be the qtwidget driver or Qt. I would suggest to use gprof - you need to add the -g compiler option and then a profile file will be generated during running the application. gprof will then analyse this file. This should give you definitely an answer where the difference is between xcairo and qtwidget. Regards, Werner > > Thanks > Steve > - -- Dr. Werner Smekal Institut fuer Angewandte Physik Technische Universitaet Wien Wiedner Hauptstr 8-10/134 A-1040 Wien Austria DVR-Nr: 0005886 email: sm...@ia... (GPG: EDCAF4A79) 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 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (Darwin) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iQEcBAEBAgAGBQJMB/6tAAoJEG1QQcXtyvSnG4kH/2faDnGbEwojMT66kSz3Lss1 x+SB3ZQdMBKkQ7+8yBtvWBnXy+8isgXhh7zuS6yc7Uw3I0LO+q+rOv2c043fiwAV xuvbTDyOnjIOEL6AMgSqFn9epmCyqWkgwhyMG2CUKyGclSlvP0JhJZr7lcyuUtCS LsRrJ65q6oRxVFSjyo0BlOOIPAjbChKt8JyArsjC1lx7rVsmxawbGHjz+ZSy4P96 5yRG/w2bXy9QGqRevsY3SNqAaDff2nzKIffrr95MC9MA0NAnncey5FPjvw9jLahp asGL+iE1wJ3hceOvHvr68a8t/2MlkYFQh2EgRNKH/a5iZpdCAbj78q47GwdusPM= =UsKC -----END PGP SIGNATURE----- |