[Spice-devel] xf86-video-qxl performance

Alexander Larsson alexl at redhat.com
Fri May 25 00:07:43 PDT 2012


On Wed, 2012-05-23 at 15:20 -0500, Jeremy White wrote:

> Also, as a crazy idea, has anyone considered implementing a pure
> streaming video driver?  That is, what if we had a frame buffer driver,
> and then a thread that fired 29 times a second to drive a theora or vp8
> encoder, simply feeding the current frame at those intervals.

Its not crazy at all. In fact, all the times I've been pondering how to
support modern (i.e. GPU-based) 3D acceleration to spice I've always
ended up at this. Its not really practical to support GPUs like a set of
remoted drawing operations, since:
a) They are infinitely flexible (turing complete)
b) Work on huge amounts on temporary data (textures, buffers, etc),
   often multiple times the size of what the final rendered screen
   size is.
c) Its impossible (comparable to halting problem) to figure out
   in general which part of the input sources some GPU code snippet
   uses, or to calculate the bounding box of the result.

So, what I think we want for GPU accelerated spice is an
eventually-losless video codec. By that I mean the fact that individual
frames might be lossy (so it can be effective for video and games), but
if the input is static we'd (quickly) converge on the lossless result
(so that you can read your word documents).

If additionally we could separate each toplevel window as its own stream
that would be even nicer, but It might be hard as these are composed to
the final screen using the GPU.



More information about the Spice-devel mailing list