From: Gerd Hoffmann <kraxel@redhat.com>
To: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 0 of 3] vnc and vga improvements
Date: Fri, 29 Aug 2008 11:51:35 +0200 [thread overview]
Message-ID: <48B7C6A7.2050706@redhat.com> (raw)
In-Reply-To: <48B7057B.2050203@codemonkey.ws>
Anthony Liguori wrote:
> Stefano Stabellini wrote:
>> Hi all,
>> This is a three patch series coming from xen-unstable to improve vnc
>> and vga performances.
>>
>> The first patch implements dynamic colour depth changes in vnc.c:
>> this way the vnc server can change its own internal colour depth at run
>> time to follow any guest resolution change.
>>
>> The second patch implements the WMVi vnc extension in the qemu vnc
>> server, so that we can also notify a vnc client when we change
>> internal colour depth and offload any possible colour conversion to the
>> client.
>>
>> The third patch implements sharing of the display pixel buffer between
>> vnc.c and vga.c, in order to save a lot of memcpy's.
>>
>> The idea is that vnc.c (and in the near future sdl.c too) strictly
>> follows the guest display resolution and notifies the client of any
>> change. As a consequence we can save two colour conversions: one between
>> vga and vnc, another one between the vnc server and the vnc client.
>>
>
> I have mixed feelings about this. On the one hand, reducing the copying
> is a good thing. On the other hand, we pretty much make it impossible
> to ever support multiple clients.
Getting rid of the color space conversions is a good thing, even in case
we can't drop the separate buffers and the memcpys. Right now the vnc
server runs at 32bit unconditionally. Having it run at 16bpp in case
the guest uses 16bpp is still a win because we (a) have to handle less
memory and (b) can to a straight copy instead of a pixel conversion.
And maybe the buffer sharing can be implemented in a way that we can
turn it on and off at runtime? So the common case of at most one client
can run with buffer sharing, otherwise we copy to per-client buffers?
I'm not a vnc protocol expert though.
Looking at the patches, it seems buffer sharing is optional already
(usage depending on the color depth right now it seems).
cheers,
Gerd
next prev parent reply other threads:[~2008-08-29 9:52 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-08-28 15:49 [Qemu-devel] [PATCH 0 of 3] vnc and vga improvements Stefano Stabellini
2008-08-28 20:07 ` Anthony Liguori
2008-08-29 9:51 ` Stefano Stabellini
2008-08-29 9:51 ` Gerd Hoffmann [this message]
2008-08-29 10:02 ` Samuel Thibault
2008-08-29 10:12 ` Stefano Stabellini
2008-09-07 2:51 ` Anthony Liguori
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=48B7C6A7.2050706@redhat.com \
--to=kraxel@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).