[Spice-devel] Performance of XSpice - update

Jeremy White jwhite at codeweavers.com
Wed Dec 2 13:43:48 PST 2015


I've spent another week doing some analysis of XSpice performance.  This
is probably interesting mostly to me, but I thought I'd share the
results for posterity.

I was primarily concerned with performance connecting to a distant
server and spent some energy optimizing for that case.

I've used a methodology similar to that reported here:
  http://lists.freedesktop.org/archives/spice-devel/2012-August/010276.html

In this case, I'm using a 1900x940 screen hosted on a server 80 ms away
from the spice client.  (Previous tests used a smaller screen, and were
local).  I'm running a LibreOffice test (draw a smile, insert the smile
into a document, type).

I've shifted to using a dfps setting of 30 fps; it's not significantly
more expensive, and it improves the user experience somewhat.

It's hard to try to create an objective analysis of the difference.
Subjectively, they 'feel' similar.  There are a few cases where the dfps
mode clearly wins (opening a LibreOffice drawing takes at least twice as
long in 'regular' mode as it does in dfps).  Dragging a window has a
slightly nicer feel in 'regular' mode.

I did perform an objective analysis of bandwidth usage.  Those results are:

Application   Packets  Bytes
Spice/Regular 16,437   11,457,644
Spice/DFPS     8,821    8,102,332
TigerVNC      29,304   36,476,788

So, again, the DFPS mode, even at 30 frames per second, seems like a
good fit for my purposes.

I did make an effort to use the DFPS mode with regular qemu, but that
has broken.  I haven't dug in to try to figure out what was wrong; I'm
hoping to get to that at some point in the not too distant future.

One odd anomaly jumped out at me:  the CPU usage for the non DFPS case
has jumped substantially.  That is, I used to see about a 400%
difference in CPU usage (e.g. the dfps case used about 1/4 the number of
jiffies as the mainline case).  I still see a jump of about 4x in the
usermode jiffie count (field 14 in /proc/X/stat), but now I see an
enormous spike in the kernelmode jiffie counts [11,000 vs 100] (field 15
in /proc/X/stat).

That seems odd.  It may well be testing error, but it may also point to
an interesting bug.  That, too, I hope to get time to track down.

Cheers,

Jeremy


More information about the Spice-devel mailing list