On 12/12/2009 04:34 AM, Anthony Liguori wrote:
Firefox uses that extensively, for example to render tiled backgrounds
(though probably GTK user interface elements can do so less
successfully).
Yes, but this is just a single application. The point is that these
things are not as widely standardized on X as they are on Windows.
They are standardized (Xrender) and there are high-level de facto
standard APIs (Cairo or the Qt equivalent).
If glyphs are rendered with Xrender it means that the shapes must be
somehow transferred to the X server (and hence with SPICE-like protocols
to the SPICE client), unlike with X fonts. However these shapes will be
grayscale (cheap) and the complicated compositing with the background
will be all done via XRender (i.e. on the SPICE client too).
Regarding compositing, this is done via OpenGL so even though it is true
that nothing goes through X calls, it is also true that everything does
go though a high-level API which can be sent on the wire (cfr. AIGLX).
Actually, compositing might really be where a protocol like SPICE
shines, since it does not generate nearly as many expose events, and
since you do not have to resend occluded contents on the wire any time
someone raises a window.
I have no idea how SPICE performs now, but there's definitely nothing in
a modern X Windows desktop that it cannot deal with. The only negative
point it might have compared to Windows is IMO the rendering of text.
Paolo