Hi Izik,
Thanks for the explanation.
Izik Eidus wrote:
So from a protocol perspective, what are the advantages of Spice over
VNC?
Spice desgien is highly diffrence than VNC
The first thing about spice is that it isnt just a framebuffer drawing
and not a bitmaps protocol.
Spice protocl support multiple graphics commands,
VNC actually does have high level 2d commands like CopyRect. The higher
end encodings (like Tight and ZRLE) provide for mechanisms to do
operations like fill even with different types of patterns.
Do you have any performance data that demonstrates where SPICE does well
compared to something like VNC?
multiple surfaces
drawings,
VNC does not have a notion of off-screen pixmaps but it would be pretty
easy to add. I think the simpliest approach would be to introduce the
notion of a Viewport which clips the visible screen to a smaller size.
That way, you could resize the screen to 2x or 3x the viewable
screen. You could us things like CopyRect to blt from an off-screen
surface to the on-screen surface. I think the real question though is
how much of a win is off-screen drawing?
We've always been very limited by the VGA devices we emulate so we've
never really tried to make the most out of VNC.
Spice is desgined to render as less as it can on the server
and instead to render on the client side much of the work,
To achive this spice use all kind of techniques such as depth viewing
tree.
I'm not familiar with what a "depth viewing tree". Can you elaborate?
The patchs that we wanted to push into qemu were what is called VDI
interfaces, it allow to qemu work with what ever interface it want,
what so bad about that?
Those patches never made it to the list.
I think we should allow freedom of choice to the users to decide what
protcol they want to use, Spice and VNC are all diffrent and were born
to meet diffrent goals.
What would be ideal, is if there was a mechanism whereas a client could
connect to the VNC server, and get VNC traffic if it's a normal VNC
client, but if it was a smarter client, got a more sophisticated
stream. If that was something that was Spice or Spice-like, that would
be perfect.
But to introduce another protocol where a user has to make a choice to
use Spice over VNC, I think we need a really good justification for
that. It's really about complexity. A user shouldn't have to know
about Spice or VNC. They shouldn't have to contemplate the trade-offs
of whether their management tool is aware or not. It should Just Work.
I would happy to answer more questions if anyone have
Thanks.
Regards,
Anthony Liguori