Re: UPDATE: spice-gtk on MAC OSX

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

bad news related to the OSX Client.

I just finished implementing a SDL "alpha-" backend for the gtk widget. as I did not figure out how to draw into an existing window I was opening a new windows using SDL and implemented a draw-function for my spice-widget-sdl.c that simply takes the pixman data and draws it into the SDL window. SDL uses opengl to for accelerated 2d drawing on my OSX machine.

Measuring the performance I figuread out that the SDL was in fact faster than the quartz backend of cairo. However the look and feel did not change at all :(

Even with accelerated rendering there is almost no difference between cairo/quartz and sdl/opengl drawing. I was woundering if you had any idea how I can proceed. I don´t know the spice client that good to know exactly where to look next.


Here you find the opengl variant of my SDL drawing graph:
http://wwwlehre.dhbw-stuttgart.de/~lombardo/spicex_draw_event_opengl.png

Here was the call tree with execution time for the quartz backend:
http://wwwlehre.dhbw-stuttgart.de/~lombardo/exp_call_tree_spicy.png

So I came from 65,9% of processing time to 42,1% for the spicex_draw_event() function. But there is absolutely no effect visible for the user.

Any hint would be great!

Thanks in advance,
Mario


Am 16.10.2013 10:37, schrieb Mario:
Hi,

I just took a look into those functions that are not seem to be
involved in performance issues. Until today I stopped at the
gdk_window_update_idle() as this call is suggestive of being innocent.
I thought it may sleep.

However this calling thread seem to create the performance issue on OSX.

Attached you´ll find the time analysis of the spicy client (as png as
text exports of this software are not really clear).

Deep inside the gdk_window_update_idle() the drawing function
spicex_draw_event() is called that actually consumes 65% of the whole
execution time.

Inside cairo_fill() the CGContextDrawImage() is called for the quartz
backend and this seem to be the root of all evil. ;-)

Is there any other approach to display the spice-widget content to the screen?


Thanks in advance,
Mario

Am 07.10.2013 11:55, schrieb Mario Lombardo:
Hi,
I just compiled the spice-gtk client (spicy) on OSX
(http://www.spice-space.org/page/OSX_Client/Build).
I am able to connect to the spice server using this client but it is
more slow than any VNC client I know.
I looked into the code and found two different places where this
client seems to be different than the x11 or GDI versions:
1.) It uses sw_canvas.c
2.) It uses spice-widget-cairo.c
Is it possible that the slow rendering results in the execution time
one of those two files? Which investigation would make more sense:
Would it be better to provide a SDL cairo version or should it
accelerate the client when there is a canvas option optimized for OSX
(quarz I guess)? Is it possible to test the gl canvas on OSX? I didn´t
found anything about the gl implementation in the configure script.
Thank you.
Mario
_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/spice-devel

_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/spice-devel
_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/spice-devel





[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]