[Spice-devel] [RFC PATCH spice-server 0/2] RHEL7 improvements

Frediano Ziglio fziglio at redhat.com
Tue Dec 6 12:28:31 UTC 2016


These 2 patches attempt to join images split by RHEL7 graphic
stack (Mesa) decreasing commands handled by spice-server.

You can see the difference between the 2 video:
- https://www.youtube.com/watch?v=OarV6zUmUdg (before)
- https://www.youtube.com/watch?v=5fTdCCbFeCg (after)
These video are realized with some additional changes:
- the statistics from the terminal have some additional
  "out_messages" counters. These counters show the messages
  sent to the client(s). These changes are part of my "stat"
  branch (partially sent couple of days ago);
- the replay utility, as you can see, was changed to replay
  using the real time to allow the video code (which is dependent
  on timing) to work correctly. The patch is currently not in
  a good shape (enough to be sent);
- the client utility was changed to remove the delay due to
  the lip sync. The glitches (present mostly before these patches)
  are much reduced.

Note the number of commands sent to the client reduced from 6097
to 2016 (current year, just a coincidence).
The network traffic reduced from 72M to 56M. This is due to the fact
that having a single stream (as you can see VP8 codec was used) the
compression on the stream is better.

These patches fix:
- https://bugzilla.redhat.com/show_bug.cgi?id=1158029;
- (probably) https://bugzilla.redhat.com/show_bug.cgi?id=1294564.

About the status of these patches they are not far from a good
shape however I think would be better to move these stuff into
DisplayChannel instead of RedWorker. Also probably would be
better to define a constant for the timeout. I think 10ms is
fine, perhaps some optimization like not waiting if the joined
command end at the screen bottom or if the last command contain
a small image (Mesa split at about 64K pixel, 256Kb).

Frediano Ziglio (2):
  RFC: Join drawables to improve rhel7 behavior
  RFC: Handle timeout for joining drawables

 server/red-parse-qxl.h |   1 +
 server/red-worker.c    | 200 ++++++++++++++++++++++++++++++++++++++++++++++---
 2 files changed, 192 insertions(+), 9 deletions(-)

-- 
2.9.3



More information about the Spice-devel mailing list