Date: prev next · Thread: first prev next last
2018 Archives by date, by thread · List index


Hi Tomaz,

Thanks for your time taking a look at this.

Not sure what you mean software - it is using cairo, which is used for
canvas in GTK 2/3 for example. Whatever that triggers on cairo's
backend could be done in software and some code paths could trigger
code path in X ....

This is what I initially assumed too, but it doesn't seem to be the case:

When compiled for GTK3 GtkInstance::CreateVirtualDevice always returns
a SvpSalVirtualDevice (instead of a CreateX11VirtualDevice), which in
turn seems to be unconditionally backed by a cairo image surface.
This is also what I am seeing in my profiles, as soon as I switch to
GTK3 all time is spent inside some cairo/pixman software loops.

Maybe this was done by accident and nobody noticed (except some
performance sensitive users) - but before trying to get X11/Xrender
accelerated rendering working, I thought whether maybe there are
reasons this was implemented this was.


code path in X which could be performed on the GPU using Glamor (and
the GPU data upload would kill any performance advantage you would get
from doing that)

Currently, the X11/GTK2 backend seems to perform a lot better (despite
doing ugly things like XGetImage when extracting the AlphaMap) even
when layered on top of glamor, even with the XServer (and the
additional IPC it causes) in between.

Thanks and best regards, Clemens

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.