From: Hazen B. <hba...@ma...> - 2010-01-31 21:50:52
|
Alan W. Irwin wrote: > > Since moving from the fast computer to this X-terminal system I have noticed > no difference in speed except for the -dev xcairo case for example 17. For > that case, xcairo generates a ton of LAN traffic (which I track with the > KDE4 system monitor) which essentially freezes my whole X-terminal so it is > difficult to even change from one window to another. I then tried the same > example on the fast computer, and for that case -dev xcairo was abnormally > slow (I have remarked on that before) compared to the rest of the > interactive devices such as -dev xwin, -dev qtwidget, -dev wxwidgets, etc. > All those other devices eventually transform plplot commands to reasonably > efficient Xorg commands. However, for -dev xcairo, the transformation is to > grossly inefficient Xorg commands so that Xorg grabs all the CPU time when X > clients are run locally and grabs all the LAN bandwidth for the X-terminal > case where X clients are run remotely. This is not an overall issue with > every cairo device since pscairo has normal speed for example 17. > > So the issue must be something special about the way xcairo implements the > special interactive needs of example 17 that is done extremely inefficiently > compared to all other interactive devices and also inefficiently compared to > -dev pscairo. My guess is that this is due to this example heavily exercising the PLESC_FLUSH pathway. In the case of the xcairo device I think that each PLESC_FLUSH causes a complete redraw of the plot window from an off screen image, which is probably located on your server computer. In the case of the pscairo device PLESC_FLUSH is ignored (since there is nothing to see anyway). Could you comment out the call to the blit_to_x() in PLESC_FLUSH in plD_esc_xcairo and see if this improves the speed? You won't see anything until the plot finishes, but hopefully it will get to the end a lot faster. If this is the problem then I'm not sure what the next step is. As I understand it, Hez added the off screen image rendering to improve the response of this device in some other redraw situations. -Hazen |