From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.33) id 1BjIKN-0002CE-8O for qemu-devel@nongnu.org; Sat, 10 Jul 2004 09:55:43 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.33) id 1BjIKL-0002Bu-P6 for qemu-devel@nongnu.org; Sat, 10 Jul 2004 09:55:42 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.33) id 1BjIKL-0002Br-MO for qemu-devel@nongnu.org; Sat, 10 Jul 2004 09:55:41 -0400 Received: from [193.252.22.28] (helo=mwinf0304.wanadoo.fr) by monty-python.gnu.org with esmtp (Exim 4.34) id 1BjIHq-0006YZ-DB for qemu-devel@nongnu.org; Sat, 10 Jul 2004 09:53:06 -0400 Message-ID: <40EFF4C6.7020305@bellard.org> Date: Sat, 10 Jul 2004 15:53:10 +0200 From: Fabrice Bellard MIME-Version: 1.0 Subject: Re: [Qemu-devel] Reducing X communication bandwidth References: <200407100945.06998.jseward@acm.org> In-Reply-To: <200407100945.06998.jseward@acm.org> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: jseward@acm.org, qemu-devel@nongnu.org Julian Seward wrote: > [...] > Anyway, QEMU from cvs is unusable like this, at least when > running WinXP or Win2K. The SDL layer (qemu/sdl.c) blasts > huge numbers of pixels across the network in response to even > the simplest graphical operations. Notably, moving the mouse > pointer is appalling, with an update rate of about twice per > second, which is hopeless. > > The attached patch against sdl.c fixes this. It keeps a shadow > copy of video memory. When a request arrives at sdl_update() > to redraw an area, the area is compared against the shadow copy, > and only the parts that have really changed are passed to > SDL_UpdateRect(). The comparison is done at a granularity of > 32x32 chunks of pixels. > [...] OK for the feature. I just want to be sure it does not slow down the case where QEMU runs locally (comparisons may be slower than just copying). So there should be a specific support to detect if shared memory is used by SDL. Another point is that it may not be necessary to add a second frame buffer. By modifying the vga core a single line of memory should be necessary to do the comparison. Fabrice.