[Qt-interest] Why doesn't the X11 paint engine support QPaintEngine::PixmapTransform? (Re-post due to missing line-breaking)
Samuel Rødal
samuel.rodal at nokia.com
Fri Jun 25 13:42:58 CEST 2010
ext Michael T wrote:
> Dear List,
>
> I hope that this is the right place to ask this, as ideally one of the developers
> working on that code would be best placed to answer. I noticed that when using the
> Qt X11 paint engine backend (src/gui/painting/qpaintengine_x11.cpp), if one tries to
> do a drawPixmap operation with a transformation more complex than a simple
> translation, the pixmap will be copied over to a QImage, the transformation done
> there in software, and the result copied back to the X server. This is even if
> XRENDER is in use. It seems to me that one could do the transformation on the
> server at painting time (in the XRENDER case of course) using
> XRenderSetPictureTransform(3) to rather increase the efficiency of the operation.
> I have trouble believing though that the developers, who surely understand XRENDER
> much better than I do, didn't think of that, so I am wondering why they chose not to
> do this.
>
> Thanks in advance for any answer.
>
> Regards,
>
> Michael
Whenever we've tested using XRender for gradients or pixmap transforms
in the past it has invariably performed worse than using raster.
At this point we're pretty much moving away from the X11 paint engine,
recommending the use of the raster engine (with -graphicssystem raster
in configure or as a command line argument). Hopefully we'll also make
this the default in not too long.
--
Samuel
More information about the Qt-interest-old
mailing list