[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