[Spice-devel] spice-gtk on MAC OSX

Mario Lombardo ml at kernelobjects.org
Thu Oct 10 17:59:55 CEST 2013


Marc,

> ----- Original Message -----
> It's using the same pixman functions. Even on linux, we currently use 
> it.
> 
> In your graph, it is showing 100ms of cumulative time, that's not so
> much. Draw alphablend is an expensive function, and it's used
> frequently.
> 
> Couldn't there be another reason for slowness than purely CPU?

That is what I would like to figure out. But I tested it on a quite late 
MacMini and on a i5 MacBookPro. Both showed same results.

> 
> Is the CPU at 100% when opening IE for 3s?
> 

As soon as I move a window or change a window size on the guest the cpu 
consumption goes up to about 60% (but 60% of the host dual core 
ressources).

> have you tried with spice-gtk git, which has some performance 
> improvement?
> 

Not until now. My last message was using the spice-gtk 0.21 but now I 
just built the git version - unfortunately no change.
I made a recording of the rendering issue. Here you may see what I mean:
wwwlehre.dhbw-stuttgart.de/~lombardo/spicy_osx.mov

This screen recording was done with the lastest pixman (stable), the 
latest cairo (stable) and the git clone of spice-gtk of today.

This is my configuration:
./configure --prefix /Users/devel/gtk/inst --libdir 
/Users/devel/gtk/inst/lib --disable-usbredir --without-python 
--with-audio=no --with-gtk=3.0 --disable-smartcard --enable-controller 
--with-coroutine=gthread --disable-werror --with-sasl=no --enable-vala

I tried to keep it as simple as possible. The same guest viewed with a 
windows client is working like a charm. As I have a need for this client 
I would like to support this project by optimizing the client for OSX. 
But at present I have no clue where to begin.

> 
> The init function is called from the client.
> 
> gtk/channel-display.c
> 387:    sw_canvas_init();
> 
> 
> Since spice-gtk only supports sw canvas atm, there is no facility to
> use a different canvas (spicec used to have). You can just try
> replacing it at build time, or use a runtime selection mechanism.
> 

Yes - thank you. I found this point before. But I was confused that 
there is no call prepared for gdi or gl near this.

Any Ideas?

Thank you so much.

Kind regards,
Mario


More information about the Spice-devel mailing list