|
From: | Gerd Hoffmann |
Subject: | Re: [Qemu-devel] Re: [PATCH] update server bits on vnc_update |
Date: | Tue, 21 Jul 2009 15:19:57 +0200 |
User-agent: | Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1b3pre) Gecko/20090513 Fedora/3.0-2.3.beta2.fc11 Lightning/1.0pre Thunderbird/3.0b2 |
On 07/21/09 14:56, Stefano Stabellini wrote:
we call vga_hw_update in vnc_update_client, that means we call it once per vnc client connected! We should call it only once, probably in a separate timer, that is enabled only if at least one client is connect.
Good point. Even better would be a timer shared by all clients, then loop over all clients (pretty much like vnc_dpy_update calls vnc_update for all connected clients). That would make moving vga_hw_update out of the loop trivial ;)
I also don't like the fact that we are allocating a server surface per client connected, this can become a problem very fast: I think we could probably get away with just one server surface for all the clients.
I don't think so. server surface matches the vnc clients view of the framebuffer. We need that to avoid sending screen updates for regions which didn't change. Different clients can have a different views here for a number of reasons: Because they support different feature sets. Because we try to skip frames if the pipe is full. Thus sharing the server surface is non-trivial and we'll lose certain optimization when doing that.
cheers, Gerd
[Prev in Thread] | Current Thread | [Next in Thread] |