Hey, On Sun, Nov 02, 2014 at 10:24:13PM +0100, Marc-André Lureau wrote: > The multimedia time is defined by the server side monotonic time [1], > but the drawing time-stamp is done in guest side, so it requires > synchronization between host and guest. This is expensive, when no audio > is playing, there is a ~30x/sec wakeup to update the qxl device mmtime, > and it requires marking dirty the rom region.
I guess this could be used somehow to detect when images are taking a
long time to get drawn in the guest, but doing things the way they
currently are does not seem to be useful indeed.
>
> Instead, the video timestamping can be done more efficiently on server
> side, without visible drawbacks.
I think this could go a step further, and mm_time could be set as below rather
than
in process_commands. Maybe RedDrawable::mm_time could even be removed.
diff --git a/server/red_worker.c b/server/red_worker.c
index 8b4edd0..695db5e 100644
--- a/server/red_worker.c
+++ b/server/red_worker.c
@@ -8477,10 +8477,7 @@ static inline int
red_marshall_stream_data(RedChannelClient *rcc,
}
}
- /* workaround for vga streams */
- frame_mm_time = drawable->red_drawable->mm_time ?
- drawable->red_drawable->mm_time :
- reds_get_mm_time();
+ frame_mm_time = reds_get_mm_time();
outbuf_size = dcc->send_data.stream_outbuf_size;
ret = mjpeg_encoder_start_frame(agent->mjpeg_encoder,
image->u.bitmap.format,
width, height,
Christophe
pgpfd3MxdXy62.pgp
Description: PGP signature
_______________________________________________ Spice-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/spice-devel
