[cairo] Very slow CGContextDrawImage in cairo-quartz-surface.c
ml at kernelobjects.org
Thu Oct 17 08:09:34 CEST 2013
Am 17.10.2013 00:10, schrieb Stefan Salewski:
> On Wed, 2013-10-16 at 22:31 +0200, Mario wrote:
>> i just try to compile spice-gtk for OSX. But the rendering algorithm
>> does not seem to fit for a remote desktop application.
> I never heard about that tool. Did you regard their FAQ about "Poor
> video performance" ?
thank you for your message.
Unfortunately this FAQ is related to something absolutely different :(
It is describing the GFX power of a virtual spice-display adapter
(called QXL-adapter) within a virtual machine on a virtual host.
But I´m talking about the client (to display the virtual monitor). I
don´t want to make sophisticated calculations on my guest VM. I just
move a window (as shown in the video link).
Please let me summarize:
- On Linux spice-gtk runs like a charm but I cannot compare directly as
the linux configuration typical uses the x11 display drawing with its
- On Windows spice-gtk runs as well quite fast. The configuration is
almost the same for spice-gtk (gtk for UI, cario for drawing and pixman
for rendering). The main difference is located in the cairo
configuration on windows. It uses gdi for drawing.
- On Apple OSX spice-gtk works but it is not usable. I debugged the
process and its calls and I figured out that the calls to cairo
(cairo_fill() in this case) are most expensive. On other architectures
that is not the case (no so significant).
So back to my origin mail I would like to know if there is any
suggestion to accelerate this drawing. Does Quartz prefer any specific
data format? Or is the way spice-gtk draws the canvas better realized
Spice uses simply the drawing of cairo directly - no curves, polygons,
... - just drawing. The canvas calculation is done by pixman. And pixman
calls are way less expensive than this drawing function.
My goal is to provide spice a patch for upstream to enable the community
to use this client on OSX as well. It would be great to have support.
More information about the cairo