[Spice-devel] [PATCH RFC 00/12] Remote Virgl support
Gerd Hoffmann
kraxel at redhat.com
Wed Jul 20 07:31:26 UTC 2016
Hi,
> > Hmm. The guest will not give us 2-3 frames though. We'll have either
> > one or two, depending on whenever the guest uses page-flips or not. So
> > implementing a buffering scheme as outlined above requires us to copy
> > (or let the gpu copy) the frames.
> Probably 2 are enough, 1 I have to think about it, there may be some
> possible timing problems. What happens if single frame processing
> take too much? Does guest slow down?
Oops, I think I have to correct myself. You get one frame, period.
Yes, the guest will slow down. Right now we stop all virgl rendering
until spice signals it is done via QXL_COOKIE_TYPE_GL_DRAW_DONE, to make
sure the user will not see half-rendered frames.
Without page-flipping this is pretty much the only thing we can do.
With page-flipping we can parallelize things a bit: The guest can render
into one frame while spice process the other one. It isn't implemented
today though[1]. Implementing it will not give additional frames for
queuing, we will get less guest throttling instead.
cheers,
Gerd
[1] we have to block virgl rendering to current scanout only,
instead of blocking all virgl rendering.
More information about the Spice-devel
mailing list