From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NJAmh-0002oG-Ik for qemu-devel@nongnu.org; Fri, 11 Dec 2009 14:04:11 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1NJAmd-0002kd-QK for qemu-devel@nongnu.org; Fri, 11 Dec 2009 14:04:11 -0500 Received: from [199.232.76.173] (port=60642 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NJAmd-0002kM-FT for qemu-devel@nongnu.org; Fri, 11 Dec 2009 14:04:07 -0500 Received: from mail-yx0-f188.google.com ([209.85.210.188]:55531) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1NJAmd-0001Gj-1V for qemu-devel@nongnu.org; Fri, 11 Dec 2009 14:04:07 -0500 Received: by yxe26 with SMTP id 26so1139657yxe.4 for ; Fri, 11 Dec 2009 11:04:06 -0800 (PST) Message-ID: <4B2297A2.8040102@codemonkey.ws> Date: Fri, 11 Dec 2009 13:04:02 -0600 From: Anthony Liguori MIME-Version: 1.0 Subject: Re: [Qemu-devel] Spice project is now open References: <1393046876.1549021260539141025.JavaMail.root@zmail05.collab.prod.int.phx2.redhat.com> <4B226BFC.1040606@codemonkey.ws> <20091211204828.464707cf@redhat.com> In-Reply-To: <20091211204828.464707cf@redhat.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Izik Eidus Cc: Yaniv Kamay , qemu-devel@nongnu.org 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