Re: Very slow CGContextDrawImage in cairo-quartz-surface.c
Mario <[email protected]>
| Newsgroups | gmane.comp.lib.cairo |
|---|---|
| Message-ID | <[email protected]> |
Hi Stefan, Am 17.10.2013 00:10, schrieb Stefan Salewski: > On Wed, 2013-10-16 at 22:31 +0200, Mario wrote: >> Hi, >> >> 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" ? > > http://www.spice-space.org/page/FAQ 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 acceleration. - 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). (see: http://wwwlehre.dhbw-stuttgart.de/~lombardo/exp_call_tree_spicy.png) 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 different? 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. Thanks! Mario -- cairo mailing list [email protected] http://lists.cairographics.org/mailman/listinfo/cairo