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

Victor Toso victortoso at redhat.com
Tue Dec 6 14:23:18 UTC 2016


Hi,

On Tue, Dec 06, 2016 at 12:28:31PM +0000, Frediano Ziglio wrote:
> 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)

Yay :)

> 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.

OT: I thought it might help with [0] but it does not.

[0] https://bugs.freedesktop.org/show_bug.cgi?id=94372

>
> 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).

I tested on Fedora and Windows guest and I think it is very easy to
see/feel the improvement. Although my tests were simple, by playing
videos and making some desktop effects that triggers the streaming
detection.

I personally don't think this will be enough to enable streaming by
default again - rhbz#1294564 - mainly because the streaming detection is
yet trigger on situation that it shouldn't. It causes a noticeable delay
as well see [1] where I think we could be using cached images instead of
streaming.

(This video is without your patches but I reproduce the same think with
them too)
[1] https://people.freedesktop.org/~victortoso/videos/spice/bad-video-detection.webm

I don't have much background on the qxl/streaming apart from testing it,
to provide useful feedback in the code.

Cheers,
  toso

>
> 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
>
> _______________________________________________
> Spice-devel mailing list
> Spice-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/spice-devel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/spice-devel/attachments/20161206/11047321/attachment.sig>


More information about the Spice-devel mailing list